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即可