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檔案,要...