記錄一下如何使用shell指令碼匯出匯入oracle表的資料
#create the parile
echo file = $1
.dmp > $1
.par
echo log = exp_$1
.log >> $1
.par
echo compress = y >> $1
.par
echo buffer = 67108864 >> $1
.par
echo feedback = 100000 >> $1
.par
echo rows = y >> $1
.par
echo grants = n >> $1
.par
echo statistics = none >> $1
.par
echo tables = \(
$1\) >> $1
.par
echo query = \"where d_data_dt \<= to_date\(\'$3\',\'yyyymmdd\'\) and d_data_dt \>= to_date\(\'$2\',\'yyyymmdd\'\)\" >> $1
.par
#set env
export nls_lang='american_america.zhs16gbk'
#export
exp username/password@database parfile=$1
.par
以上是我們一直用的匯出dmp檔案的語句。
下面分析一下結構
在shell中
『>』 為建立: echo 「hello shell」 > out.txt
『>>』 為追加:echo 「hello shell」 >> out.txt
當out.txt 文字不存在時,』>'與『>>』都會預設建立out.txt文字,並將hello shell 字串儲存到out.txt中
當out.txt文字存在時,『>』會將out.txt文字中的內容清空,並將hello shell 字串存入
而『>>』會將 hello shell追加儲存到out.txt的末尾
最後是匯入dmp的語句
imp username/password@database file=file.dmp buffer=67108864 feedback=100000 statistics=none rows=y ignore=y
imp 使用者名稱/密碼@例項名 file=d:\data\x.dmp log=d:\data\x.log full=y ignore=y;
其中:file 表示待匯入的dmp檔案位置;
log 指定匯入過程log的記錄檔案位置,注意,即使指定了將記錄儲存到log檔案裡,螢幕列印也不會關閉;
full 表示將dmp全部內容匯入;
ignore 表示忽略表建立過程中的錯誤,比如表名已存在時將直接覆蓋原來表的內容;
oracle 指令碼匯入匯出
匯入 imp ics ics localhost 1521 orcl file f ics.dmp full y 匯出 資料匯出 1 將資料庫test完全匯出,使用者名稱system 密碼manager,例項名test 匯出到d daochu.dmp中 exp system manager test...
shell匯出和匯入redis
1 匯出redis plain view plain copy bin bash redis host localhost redis port 6379 redis db 1 keyname redis hash keyfile key.txt echo keys keyname redis cl...
oracle匯出與匯入指令碼
匯出指定使用者下的所有表 環境變數設定 export oracle sid bdyz export oracle base u01 oracle11g r2 export oracle home oracle base 11g export ld library path oracle home l...