Oracle10g/11g基本匯入匯出命令:
exp 使用者名稱/使用者密碼@服務名 file=儲存路徑.dmp buffer=8192 filesize=10000m feedback=1000
imp 使用者名稱/使用者密碼@服務名 file=檔案所在路徑.dmp full=y
一般來說,指定使用者下資料匯出(包括觸發器,預存程序等)在10g中就可以完全匯出(匯入)。另外還有匯出指定表,指定函數等可以參考Oracle的官方文檔(安裝後EM介面上貌似就有,也可以到官網上去找)。總體來說10g的匯入匯出還比較方便。
說明:1、exp/imp命令使用時,只要能夠串連資料庫,那麼就可以在服務端(遠端)使用。
2、Oracle11g基本匯入匯出命令與Oracle10g相同,需要注意的是11g匯出有時空表不會匯出,問題參考http://www.cnblogs.com/GYoungBean/archive/2012/07/24/2605963.html
3、在不同版本匯入時,高版本可以相容低版本的匯出檔案,但是需要注意資料表空間名稱、索引、版本號碼等問題。
-----------------------------------分割線-----------------------------------------------------------
使用expdp/impdp匯出/匯入檔案:
使用expdp命令時,需要指定轉儲的檔案夾。
1、基本匯出方法:
CREATE OR REPLACE DIRECTORY test_dir(directory別名) AS '/u01/app/oracle/oradata/'(此處為硬碟上路徑);GRANT READ, WRITE ON DIRECTORY test_dir(directory別名) TO scott(指定使用者名稱)/public(所有使用者);expdp scott/scott@orcl directory=test_dir DUMPFILE=xx.dmp schemas=scott(使用者名稱) logfile=expdpScott.log version=10.2.0.1.0(匯入資料版本號碼,同版本內選擇性參數)
2、並行匯出:
expdp scott/scott@orcl directory=test_dir parallel=4 DUMPFILE=xx_%U.dmp schemas=scott(使用者名稱) logfile=expdpScott.log version=10.2.0.1.0
其中,parallel為並行匯出參數。可以指定匯出時使用的線程數。_%U為萬用字元,匯出後形式為XX01.dmp;xx02.dmp等。
說明:1、expdp/impdp為伺服器端命令,所以此時匯出時只能在伺服器端使用(若在遠端匯出請往下看)
2、到出前請確認作為轉儲檔案夾在硬碟中存在且路徑正確
3、version使用時,如果是從11g匯入的資料要匯入到10g中,那麼請指定10g的版本號碼
4、匯入命令請參考文檔(見最後的參考資料b.中)
-----------------------------------分割線-----------------------------------------------------------
遠端使用expdp命令匯出:
使用遠端匯出時,請確認遠端電腦中安裝有oracle用戶端並且能夠串連到服務端。同時也要相應的建立轉儲檔案夾,且DIRECTORY 要建立在本地
CREATE DATABASE LINK remote_scott(dblink別名) CONNECT TO SCOTT(要串連到使用者名稱) IDENTIFIED BY tiger(要串連的使用者密碼) USING 'DEV'(遠端資料庫服務名);
expdp test/test@db10g(本機資料庫使用者) tables=SCOTT.EMP(遠端) network_link=REMOTE_SCOTT(dblink名稱) directory=TEST_DIR dumpfile=EMP.dmp logfile=exp.log
思路就是在本地庫與遠端建立DB_Link。上面語句中tables=SCOTT.EMP(遠端)只是匯出的一張表(匯出使用者下所有表)。
說明:1、不太推薦遠端這樣導資料,資料量大的時候很慢,而且要有用戶端
2、如果不會使用DB_LINK請參考參考資料a.
-----------------------------------分割線-----------------------------------------------------------
參考資料:
a.http://docs.oracle.com/cd/B14117_01/server.101/b10759/statements_5007.htm
b.http://www.oracle-base.com/articles/10g/oracle-data-pump-10g.php#GettingStarted
----------------------------------分割線--------------------------------------------------------------
2012/09/28補遺
1、使用expdp匯出時,有時會在STATISTICS處卡住不動(具體什麼忘記了)。此時在匯出時使用參數exclude=statistics即可。
2、匯入時同樣需要加入參數exclude=statistics即可