linux資料庫腳本
Oracle自動備份資料庫不外乎以下三種方式WINDOWS下的任務計劃(At命令)
UNIX下的Crontab
第三方工具如Viritas
在以上三種方式中Viritas屬於第三方工具,很多人可能都沒有接觸,主要說一下windows的任務計劃與unix的cron
1、生成腳本文件,如backup.rcv 假定文件內容如下:
$>cat backup.rcv connect target sys/password rcvcat rman/rman@localname; run{ allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; backup fileaperset 3 format 『/u01/oradata/backup/arch%u_%s_%p』 archivelog all delete input; release channel c1; release channel c2; release channel c3; }
2、生成執行文件在windows上生成backup_archive.bat,內容包括rman cmdfile = backup.rcv 在unix下生成 backup_archive.sh,內容包括oracle/ramn/rman cmdfile = backup.rcv
3、加入調度在windows中用任務計劃向導即可,或使用at命令。在unix中,在目標機器上編寫一個文件,用以啟動Oracle自動備份進程。假定文件名為ORACLE,文件將放在/var/spool/cron/crontabs目錄下
$>cat oracle
0 23 * * 0 backup_archive.sh
#表示星期天23點對資料庫備份
0 12,18 * * * backup_archive.sh
#表示每天12點,18點備份
Crontab文件的每一行由六個域(minutes,hours,day of month,month,day of week,command)組成,域之間用空格或Tab分隔開來
⑵ linux下怎樣運行oracle資料庫建庫腳本
你說的是數據建庫腳本? 如果是這樣的話,直接在sqlplus中執行就可以了。
我感覺你想要表達的是如何建立資料庫吧? 如果是這樣的話,在oracle的安裝的目錄下的bin文件下,有DBCA的shell,運行這個就可以了。 然後就在圖形界面上操作了。
⑶ 在Linux下資料庫中怎樣設定一個時間自動執行一個shell腳本文件,例如:auto.sh
Linux資料庫應該是無法執行shell腳本的,應該是Linux系統下執行shell腳本吧。
直接在linux下輸入crontab -e,然後配置一段代碼如下:
01 8 * * * /bin/bash path(你的文件目錄)/auto.sh
前五位沒記錯的話應該分別對應分鍾,小時,日,月,星期。
如果你希望保存日誌的話可以用輸出重定向,如下:
01 8 * * * /bin/bash path(你的文件目錄)/auto.sh > /tmp/auto.log 2 > &1 &
這樣如果文件執行錯誤的話,你可以去/tmp目錄下去查詢錯誤日誌,便於程序的優化。
關於crontab的詳細介紹給你個傳送門:
http://www.jb51.net/LINUXjishu/19905.html
我也是菜鳥,共同學習共同進步,祝好。
⑷ Linux資料庫:mysql下如何執行sql腳本_第2頁
同樣,可以手動執行sql文件,具體步驟如下:
1、使用root帳戶登錄到MySQL伺服器;
2、執行source命令:
mysql>
source
c:/test.sql
注意:文件路徑中建議使用「/」,如果使用「\」,要首先進行轉義即「\\」,否則可能會出現錯誤。
另外還有一個load命令可以批量插入數據,但是這個對文件中數據格式的要求比較嚴格,否則容易出現錯誤,很少使用。
mysql
查看所有用戶的語句
輸入指令select
user();
例:(項目來源:尚學堂)struts_training_itemmgr.sql內容如下:
Sql代碼
DROP
TABLE
t_items;
DROP
TABLE
t_data_dict;
CREATE
TABLE
t_items
(
item_no
varchar(20)
not
null
key,
item_name
varchar(20)
not
null,
spec
varchar(20),
pattern
varchar(10),
category
varchar(20),
unit
char(20)
);
CREATE
TABLE
t_data_dict
(
id
varchar(5)
not
null
key,
category
varchar(20),
name
varchar(30)
);
#
t_data_dict的初始化數據
INSERT
INTO
t_data_dict(id,category,name)
values('B01','item_category','精通Spring2.X
Java
Web開發');
INSERT
INTO
t_data_dict(id,category,name)
values('B02','item_category','Java語言與面向對象程序設計');
INSERT
INTO
t_data_dict(id,category,name)
values('B03','item_category','2B鉛筆');
INSERT
INTO
t_data_dict(id,category,name)
values('B04','item_category','HOTROCK
notebook');
INSERT
INTO
t_data_dict(id,category,name)
values('C01','item_unit','本');
INSERT
INTO
t_data_dict(id,category,name)
values('C02','item_unit','支');
INSERT
INTO
t_data_dict(id,category,name)
values('C03','item_unit','箱');
⑸ Linux下如何將資料庫腳本文件從sh格式變為sql格式
1. sh文件內容
本文中的文件名為example.sh,其內容如下:
#!/bin/bash
function Init()
{
if [ -f"example.sql" ]
then
echo"example.sql is exits and is deleting it,then recreate it"
rm -fexample.sql
else
echo"example.sql no exits and is creating it"
fi
echo " usezxdbp_166 ">>example.sql
echo " go">>example.sql
}
function CreateTable()
{
cat>>example.sql<< EOF
create table tb_employeeinfo
(
employeeno varchar(20) not null, -- 員工工號
employeename varchar(20) not null, -- 員工姓名
employeeage int null -- 員工年齡
);
create unique index idx1_tb_employeeinfo ontb_employeeinfo(employeeno);
create index idx2_tb_employeeinfo ontb_employeeinfo(employeename);
print 'create table tb_employeeinfo ok'
go
EOF
}
## Execute function
Init
CreateTable
說明:
(1) 本文件用於創建tb_employeeinfo表,生成的腳本文件名為example.sql。
(2) Init函數用於在屏幕上輸出信息,CreateTable函數用於創建數據表。
(3) 在sh文件的結尾,要按順序將本文件所包含的所有函數羅列出來,如本文件包括的函數是Init和CreateTable。
2. 生成sql文件的過程
(1) 上傳sh文件
使用FTP工具(如filezilla)將example.sh文件上傳到Linux的對應目錄下。
(2) 使用dos2unix命令修改文件格式
由於example.sh文件是在本地的Windows操作系統下編寫的,因此要先轉換為Linux下的格式才能使用。如果上傳後直接使用,會出現「Permissiondenied」的報錯信息。
dos2unix命令用來將DOS格式的文本文件轉換成UNIX格式的。其使用的格式為:dos2unix file,如果一次轉換多個文件,把這些文件名直接跟在dos2unix之後(dos2unixfile1 file2 file3 …)。
在這里,命令執行如下:
zhou@linux:~/sql> dos2unix example.sh
dos2unix: converting file example.sh to UNIX format ...
(3) 使用chmod命令修改文件的許可權
在執行了dos2unix命令之後,還是不能立馬生成文件,還需要修改文件的許可權。
chmod命令是Linux系統中最常用到的命令之一,用於改變文件或目錄的訪問許可權。若想了解有關該命令的更多信息,請上網查詢。
在這里,命令為:chmod 777 example.sh
(4) 生成sql文件
直接運行帶後綴的sh文件名,即可生成sql文件。命令如下:
zhou@linux:~/sql> example.sh
example.sql no exits and is creating it
表示example.sql文件之前不存在,這是第一次生成。
再次執行命令:
zhou@linux:~/sql> example.sh
example.sql is exits and is deleting it,then recreate it
表示example.sql文件已經存在了,現在刪除後重新生成。
3. sql文件內容
生成的sql文件名為example.sql,文件內容如下:
use zxdbp_166
go
create table tb_employeeinfo
(
employeeno varchar(20) not null, -- 員工工號
employeename varchar(20) not null, -- 員工姓名
employeeage int null -- 員工年齡
);
create unique index idx1_tb_employeeinfo ontb_employeeinfo(employeeno);
create index idx2_tb_employeeinfo ontb_employeeinfo(employeename);
print 'create table tb_employeeinfo ok'
go
在實際的軟體開發項目中,跨平台操作是常有的事情。作為一名合格的軟體開發工程師,一定要熟練掌握不同操作系統下的操作流程及命令。
⑹ Linux下如何運行sql腳本
Linux運行sql腳本的具體操作步驟如下:
1、使用shell工具登陸到安裝postgresql的伺服器,切換到postgres用戶,postgresql默認的操作用戶,命令是:su - postgres,查看當前路徑是/var/lib/psql,創建一個test.sql腳本文件,命令是:vim test.sql。