Oracle中exp,imp(匯入匯出)資料遷移注意事項
這幾天做開發庫schema備份,出現些問題,記錄一下.
一,exp時,os語言環境和資料庫不同時會自動發生轉換.
如果作業系統的字符集小於資料庫字符集,就可能出現亂碼現象.imp時,同理,也是有可能出現亂碼的.如果源庫和目標庫字符集是
相同的話,防止exp,imp過程出現字元轉換,我們可以在exp,imp動作前,手動設定語音環境和資料庫語言環境一樣.如資料庫語言環境
為AMERICAN_AMERICA.AL32UTF8,os是windows,使用命令set NLS_LANG=AMERICAN_AMERICA.AL32UTF8;os是linux or unix,使用命令
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8.
二,在遷移schema時,即使不遷移資料,也易發生ORA-1659錯誤.
在上述錯誤發生後,select view,發現表的大小和源庫表大小是一樣的.而實際,我們只是遷移表結構,並沒有遷移資料(rows=n).
查詢表發現也是沒有遷移資料的,但它的儲存空間和源表是一樣的.也就是說它遷移了儲存空間.分析發現,是由於exp時,沒有設定參
數compress=n所致,由於此引數預設值為y,那麼它會在exp時,將源表所有資料壓縮到一個extent,也就是initial extent,而imp時,會
預分配initial extent大小的.因此此種情況下,極易發生ORA-1659錯誤.
注:另在作有資料匯出時,如果表大小較大的話,使用此引數的預設值也極易發生ORA-1659錯誤.因為假設你的源表大小為100m,在
imp時,需分配initial extent大小為100m,如果此時,使用者所在表空間沒有連續100m空間,那麼就會報此錯誤了.
三,如果匯出統計資訊,在只匯出部分資料,或不匯出資料時,匯出統計資訊會報錯.另如果未匯出統計資訊,但匯入時,需匯入統計資訊
,那此時,匯入後,統計資訊會被鎖住,而無法更新統計資訊.
此時,我們可使用包dbms_stats.unlock_schema_stats來解鎖.最好的辦法是,在exp,imp時,加入引數statistics=none,不exp,imp
統計資訊,在匯入完成後,在重新收集統計資訊.
四,在使用ftp跨系統cp dmp檔案時,一定要注意使用bin模式,來防止imp時,不能open檔案,而匯入失敗.
五,在作imp資料操作時,特別是imp大表時,為了防止發生ORA-1555錯誤,應設定引數commit=y,buffer=10000000(根據實際情況設定),此時,當buffer空間滿時,會自動提交.預設是imp一個表提交一次.
詳例
遷移使用者,但無需遷移資料,且源庫,目標庫語言環境都為AMERICAN_AMERICA.AL32UTF8,可如下操作:
匯出:
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
exp user/pwd file=export.dmp log=export.log buffer=10000000 grants=n rows=n statistics=none compress=n
匯入:
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
imp user/pwd fromuser=user1 touser=user2 rows=n statistics=none file=export.dmp log=export.log
出處:http://blog.163.com/card_2005/blog/static/117810368200991562719396/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2142617/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle資料匯出匯入(exp/imp)Oracle
- Oracle資料匯入匯出imp/exp命令Oracle
- oracle資料的匯入匯出imp/expOracle
- 資料匯入匯出EXP/IMP
- exp/imp匯出匯入資料
- Oracle資料庫資料遷移或匯出匯入(exp/imp,dblink)應該注意的點(總結)Oracle資料庫
- Oracle資料匯入匯出imp/exp命令(轉)Oracle
- Oracle資料庫匯入匯出。imp匯入命令和exp匯出命令Oracle資料庫
- Oracle匯入(imp )與匯出(exp )Oracle
- ORACLE匯入匯出命令exp/impOracle
- Oracle 遠端匯出匯入 imp/expOracle
- Oracle 資料匯出注意事項Oracle
- Oracle exp/imp匯出匯入工具的使用Oracle
- 【EXP/IMP】使用EXP /IMP工具“模糊”匯出和匯入
- 使用Oracle 的 imp ,exp 命令實現資料的匯入匯出Oracle
- exp/imp匯出匯入工具的使用
- Windows DOS窗體下Oracle 資料庫的匯入匯出(IMP/EXP)命令WindowsOracle資料庫
- 使用exp/imp匯出匯入資料(邏輯備份恢復)
- exp,imp 遷移資料
- imp/exp資料遷移
- 【exp/imp不同版本】Oracle不同版本的exp/imp使用注意事項Oracle
- Oracle IMPDP匯入資料案例之注意事項(undo/temp)Oracle
- 【ORACLE 匯入匯出】exp 錯誤Oracle
- 特殊符號密碼處理 - 匯入匯出exp/imp符號密碼
- EXP COMPRESS以及EXP/IMP EXPDP/IMPDP匯入表結構注意
- Oracle資料庫備份與恢復之exp/imp(匯出與匯入裝庫與卸庫)Oracle資料庫
- 用exp/imp把遠端資料匯入到本地資料庫中資料庫
- 物化檢視 VS 匯出/匯入 邏輯資料遷移
- 不同版本exp/imp使用注意事項
- Oracle 資料匯入匯出Oracle
- oracle資料匯入匯出Oracle
- 【原創】比較資料泵和exp/imp對相同資料匯出/匯入的效能差異
- 用EXP/IMP從高版本資料庫匯出至低版本資料庫匯入實驗資料庫
- Oracle資料庫備份與恢復之匯出/匯入(EXP/IMP)、熱備份和冷備份Oracle資料庫
- Oracle資料庫備份與恢復之一:exp/imp(匯出與匯入裝庫與卸庫)Oracle資料庫
- Oracle 資料庫備份與恢復總結-exp/imp (匯出與匯入裝庫與卸庫)Oracle資料庫
- Oracle exp只匯出部分資料Oracle
- 【imp】使用imp工具遷移資料時迂迴地排除特定表的匯入