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 資料匯出注意事項Oracle
- 【exp/imp不同版本】Oracle不同版本的exp/imp使用注意事項Oracle
- exp匯出遭遇IMP-00020
- 不同版本exp/imp使用注意事項
- Oracle 資料匯入匯出Oracle
- Oracle資料匯入匯出Oracle
- sqoop匯入orcle注意事項OOP
- 達夢資料庫遷移資料/複製表/匯入匯出2資料庫
- python相對匯入注意事項Python
- Python匯入包的注意事項Python
- Oracle資料泵匯出匯入(expdp/impdp)Oracle
- Oracle資料泵的匯入和匯出Oracle
- Docker容器中的備份、恢復、遷移、匯入、匯出Docker
- 用exp、imp遷移包含物化檢視日誌的資料
- MySQL匯入CSV/TXT等資料來源中資料操作流程及注意事項MySql
- oracle exp和impOracle
- MongoDB 資料遷移 備份 匯入(自用)MongoDB
- 【DB寶50】Oracle異構平臺遷移之完全可傳輸匯出匯入Oracle
- Oracle使用資料泵expdp,impdp進行資料匯出匯入Oracle
- sqoop資料匯入匯出OOP
- 資料泵匯出匯入
- phpMyAdmin匯入/匯出資料PHP
- MongoDB--Mongodb 中資料匯出與匯入MongoDB
- MySQL 8.0.20 MGR資料遷移過程以及注意事項MySql
- PG 資料庫 DTS 遷移需要注意的事項:資料庫
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- Oracle 資料匯入ExcelOracleExcel
- 【oracle 資料匯入匯出字元問題】Oracle字元
- MySQL入門--匯出和匯入資料MySql
- db2匯出資料庫定義及遷移資料DB2資料庫
- ClickHouse學習系列之八【資料匯入遷移&同步】
- Mongodb資料的匯出與匯入MongoDB
- 匯入和匯出AWR的資料
- EasyPoi, Excel資料的匯入匯出Excel
- Mysql 資料庫匯入與匯出MySql資料庫
- 【故障處理】Linux下匯入匯出“IMP-00030: failed to create file ... for write”LinuxAI
- Access 匯入 oracle 資料庫Oracle資料庫