Oracle exp/imp,備份或導入時注意的事項:
本篇主要講述的是Oracle exp/imp備份導入的實際操作中需要注意的事項的介紹,凡事都不是完美的。不論哪種計算機語言,不論它的實際操作技巧是如何靈活,都是避免不掉它的缺陷之處,當然在Oracle exp /imp備份導入時。我們也需要注意一些在實際操作中經常發生的事項。
Oracle exp/imp備份導入注意事項:
(1) 資料庫對象已經存在
一般情況, 導入資料前應該徹底删除目标資料下的表, 序列, 函數/過程,觸發器等;資料庫對象已經存在, 按預設的imp參數, 則會導入失敗如果用了參數ignore=y,
會把Oracle exp檔案内的資料内容導入如果表有唯一關鍵字的限制條件, 不合條件将不被導入如果表沒有唯一關鍵字的限制條件, 将引起記錄重複。
(2) 資料庫對象有主外鍵限制
不符合主外鍵限制時, 資料會導入失敗;解決辦法: 先導入主表, 再導入依存表,disable目标導入對象的主外鍵限制, 導入資料後, 再enable它們。
(3) 權限不夠
如果要把A使用者的資料導入B使用者下, A使用者需要有imp_full_database權限。
(4) 導入大表( 大于80M ) 時, 存儲配置設定失敗
預設的EXP時, compress = Y, 也就是把所有的資料壓縮在一個資料塊上.導入時, 如果不存在連續一個大資料塊, 則會導入失敗.導出80M以上的大表時, 記得compress= N, 則不會引起這種錯誤.
(5) imp和exp使用的字元集不同
如果字元集不同, 導入會失敗, 可以改變unix環境變量或者NT系統資料庫裡NLS_LANG相關資訊.導入完成後再改回來.
(6) imp和exp版本不能向上相容
imp可以成功導入低版本exp生成的檔案, 不能導入高版本Oracle exp生成的檔案。
Example:普通資料庫全部導出和導入:
exp 使用者/密碼@dbName file=路徑.dmp full=y --還有其他的參數,看需要進行填寫
$ exp user/pwd file=/dir/xxx.dmp log=xxx.log full=y commit=y ignore=y --全部導出
$ imp user/pwd file=/dir/xxx.dmp log=xxx.log fromuser=dbuser touser=dbuser2 --全部導入
以上就是對Oracle exp/imp備份導入注意事項相關的内容的介紹。
本文轉自vcdog 51CTO部落格,原文連結:http://blog.51cto.com/255361/837504,如需轉載請自行聯系原作者