oracle匯出 匯入 expdp impdp

2022-08-27 05:54:12 字數 2516 閱讀 3764

oracle使用expdp和impdp資料幫浦進行匯出匯入的方法(常用方法)

使用expdp和impdp時應該注重的事項:

1、exp和imp是客戶端工具程式,它們既可以在客戶端使用,也可以在服務端使用。

2、expdp和impdp是服務端的工具程式,他們只能在oracle服務端使用,不能在客戶端使用。

3、imp只適用於exp匯出的檔案,不適用於expdp匯出檔案;impdp只適用於expdp匯出的檔案,而不適用於exp匯出檔案。

4、對於10g以上的伺服器,使用exp通常不能匯出0行資料的空表,而此時必須使用expdp匯出。

一、建立邏輯目錄,該命令不會在作業系統建立真正的目錄(請先建立真正的目錄),最好以system等管理員建立邏輯目錄。

sql>conn system/manger@orcl as sysdba

sql>create directory dump_dir as 'd:\test\dump';

二、檢視管理員目錄(同時檢視作業系統是否存在,因為oracle並不關心該目錄是否存在,假如不存在,則出錯)

sql>select * from dba_directories;

三、給scott使用者賦予在指定目錄的操作許可權,最好以system等管理員賦予。

sql>grant read,write on directory dump_dir to scott;

四、用expdp匯出資料

1)匯出使用者

expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp directory=dump_dir;

2)匯出表

expdp scott/tiger@orcl tables=emp,dept dumpfile=expdp.dmp directory=dump_dir;

3)按查詢條件導

expdp scott/tiger@orcl directory=dump_dir dumpfile=expdp.dmp tables=empquery='where deptno=20';

4)按表空間導

expdp system/manager@orcl directory=dump_dir dumpfile=tablespace.dmptablespaces=temp,example;

5)導整個資料庫

expdp system/manager@orcl directory=dump_dir dumpfile=full.dmp full=y;

6)多表匯出

提前建立乙個tables檔案,內容如下:

#vim tables

tables=(

table01

,table02

,table03

然後匯出

expdp system/oracle@orcl   directory=dump_dir dumpfile=expdp2017.dmp logfile=expdp2017.log parfile=tables

五、用impdp匯入資料

匯入時,使用者可先drop掉,再建立空使用者,進行匯入;如果是表,可先drop掉表才能匯入。

1)匯入使用者(從使用者scott匯入到使用者scott)

impdp scott/tiger@orcl directory=dump_dir dumpfile=expdp.dmp schemas=scott;

remap_schema=scott:scott01 remap_tablespace=users:users01        //如果匯出的使用者是scott,表空間是users.   要匯入到另外的使用者和表空間下scott01,表空間users01.剛需要把這兩個引數加上。

2)匯入表(從scott使用者中把錶dept和emp匯入到system使用者中)

impdp system/manager@orcl directory=dump_dir dumpfile=expdp.dmp tables=scott.dept,scott.emp remap_schema=scott:system;    

3)匯入表空間

impdp system/manager@orcl directory=dump_dir dumpfile=tablespace.dmp tablespaces=example;

4)匯入資料庫

impdb system/manager@orcl directory=dump_dir dumpfile=full.dmp full=y;

5)追加資料

impdp system/manager@orcl directory=dump_dir dumpfile=expdp.dmp schemas=systemtable_exists_action

6)多表匯入

impdp   scott/123456@orcl directory=dump_dir dumpfile=expdp2017.dmp  remap_schema=scott:scott01

expdp與impdp匯出匯入指定表

oracle裡指定匯入匯出表,原本在10g或以前,很簡單的 一 10g或以前 1 匯出指定表 exp sys pwd server1 as sysdba file c temp tables dmp tables schema1.table1,schema1.table2 2 匯入指定表 imp s...

使用expdp和impdp遠端匯入匯出庫

tnames.ora增加 html view plain copy orcl description address list address protocol tcp host 遠端主機ip port 1521 connect data service name 遠端服務名 html view p...

impdp匯入expdp匯出資料庫例項

impdp命令在cmd下直接用,不必登入oracle。只能匯入expdp匯出的dmp檔案。expdp匯出的時候,需要建立 directory 匯出什麼表空間,匯入也要什麼表空間。匯出什麼使用者,匯入也要什麼使用者。如果沒有要新建。從遠端伺服器expdp匯出了toolbox使用者的資料庫dmp檔案,要...