Oracle 10g/11g 導入導出整理


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM