Oracle exp備份導(dǎo)入注意的六個事項(xiàng)
凡事都不是完美的。不論哪種計(jì)算機(jī)語言,不論它的實(shí)際操作技巧是如何靈活,都是避免不掉它的缺陷之處,當(dāng)然在Oracle exp備份導(dǎo)入時(shí)。我們也需要注意一些在實(shí)際操作中經(jīng)常發(fā)生的事項(xiàng)。
Oracle exp備份導(dǎo)入注意事項(xiàng):
(1) 數(shù)據(jù)庫對象已經(jīng)存在
一般情況, 導(dǎo)入數(shù)據(jù)前應(yīng)該徹底刪除目標(biāo)數(shù)據(jù)下的表, 序列, 函數(shù)/過程,觸發(fā)器等;數(shù)據(jù)庫對象已經(jīng)存在, 按缺省的imp參數(shù), 則會導(dǎo)入失敗如果用了參數(shù)ignore=y, 會把Oracleexp文件內(nèi)的數(shù)據(jù)內(nèi)容導(dǎo)入如果表有唯一關(guān)鍵字的約束條件, 不合條件將不被導(dǎo)入如果表沒有唯一關(guān)鍵字的約束條件, 將引起記錄重復(fù)。
(2) 數(shù)據(jù)庫對象有主外鍵約束
不符合主外鍵約束時(shí), 數(shù)據(jù)會導(dǎo)入失敗解決辦法: 先導(dǎo)入主表, 再導(dǎo)入依存表disable目標(biāo)導(dǎo)入對象的主外鍵約束, 導(dǎo)入數(shù)據(jù)后, 再enable它們
(3) 權(quán)限不夠
如果要把A用戶的數(shù)據(jù)導(dǎo)入B用戶下, A用戶需要有imp_full_database權(quán)限
(4) 導(dǎo)入大表( 大于80M ) 時(shí), 存儲分配失敗
默認(rèn)的EXP時(shí), compress = Y, 也就是把所有的數(shù)據(jù)壓縮在一個數(shù)據(jù)塊上.導(dǎo)入時(shí), 如果不存在連續(xù)一個大數(shù)據(jù)塊, 則會導(dǎo)入失敗.導(dǎo)出80M以上的大表時(shí), 記得compress= N, 則不會引起這種錯誤.
(5) imp和exp使用的字符集不同
如果字符集不同, 導(dǎo)入會失敗, 可以改變unix環(huán)境變量或者NT注冊表里NLS_LANG相關(guān)信息.導(dǎo)入完成后再改回來.
(6) imp和exp版本不能往上兼容
imp可以成功導(dǎo)入低版本exp生成的文件, 不能導(dǎo)入高版本Oracleexp生成的文件
使用方法:
例題格式及說明:
1.普通數(shù)據(jù)庫全部導(dǎo)出和導(dǎo)入
exp 用戶/密碼@dbName file=路徑.dmp full=y --還有其他的參數(shù),看需要進(jìn)行填寫
$ exp user/pwd file=/dir/xxx.dmp log=xxx.log full=y commit=y ignore=y --全部導(dǎo)出
$ imp user/pwd file=/dir/xxx.dmp log=xxx.log fromuser=dbuser touser=dbuser2 --全部導(dǎo)入
以上就是對Oracle exp備份導(dǎo)入注意事項(xiàng)相關(guān)的內(nèi)容的介紹,望你會有所收獲。
【編輯推薦】