impdp&expdp
1,建立EXPDP專用帳號及授權
SQL> CREATE USER EXPDP_BAKIDENTIFIED BY "EXPDP_BAK" TEMPORARY TABLESPACE TEMP;
SQL> ALTER USER EXPDP_BAKIDENTIFIED BY EXPDP_BAK; #修改密碼
SQL> grant connect,exp_full_database,resource to expdp_bak; #第一次執行授權dba權限
SQL> grant dba to expdp_bak;
2,建立directory對象,並授予讀寫權限
SQL>create or replace directory datapumpas '/data/exp/datapump'; #11g命令
SQL>create directory datapumpas '/data/exp/datapump '; #10g命令
SQL>grant read,write on directory datapump to expdp_bak;
# SQL>dropdirectory expdir; #刪除directory
# SQL>select* from dba_directories; #查看已存在的所有目錄
impdp
#導入E_WORK用戶,僅導入數據,tablespace 由LOG_DATA LOG_IDX變更為USERS
IMPDPEXPDP_BAK/EXPDP_BAK SCHEMAS=E_WORKdirectory=impdir dumpfile=E_WORK.DMPlogfile=e_work.log content=data_onlyremap_tablespace=LOG_DATA:USERS,LOG_IDX:USERS;
content=data_only #僅導入數據
remap_tablespace='(LOG_DATA:USERS,LOG_IDX:USERS)'; #不同tablespace
remap_schema=SCOTT:E_WORK #不同用戶
#############################################################
impdp system/test DIRECTORY=dpdata DUMPFILE=full_110_imold.dmp SCHEMAS=imold,hermsremap_tablespace='(BASE_DATA:USERS,BASE_IDX:USERS,LOG_DATA:USERS,LOG_IDX:USERS,SN_DATA:USERS,SN_IDX:USERS,WIP_DATA:USERS,WIP_IDX:USERS)';
DIRECTORY #操作目錄
DUMPFILE #數據文件
SCHEMAS #需要導入的用戶
remap_tablespace #舊tablespace改成新table(users);
#############################################################
數據泵impdp參數:
1.REMAP_DATAFILE
該選項用於將源數據文件名轉變爲目標數據文件名,在不同平臺之間搬移表空間時需要該選項.
REMAP_DATAFILE=source_datafie:target_datafile
2.REMAP_SCHEMA
該選項用於將源方案的所有對象裝載到目標方案中.
REMAP_SCHEMA=source_schema:target_schema
3.REMAP_TABLESPACE
將源表空間的所有對象導入到目標表空間中
REMAP_TABLESPACE=source_tablespace:target:tablespace
4.REUSE_DATAFILES
該選項指定建立表空間時是否覆蓋已存在的數據文件.默認爲N
REUSE_DATAFIELS={Y | N}
5.SKIP_UNUSABLE_INDEXES
指定導入是是否跳過不可使用的索引,默認爲N
6,sqlfile 參數允許創建DDL 腳本文件
impdp scott/tiger directory=dump_scott dumpfile=a1.dmpsqlfile=c.sql
默認放在directory下,因此不要指定絕對路徑
7.STREAMS_CONFIGURATION
指定是否導入流元數據(Stream Matadata),默認值爲Y.
8.TABLE_EXISTS_ACTION
該選項用於指定當表已經存在時導入作業要執行的操作,默認爲SKIP
TABBLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE | REPLACE }
當設置該選項爲SKIP時,導入作業會跳過已存在表處理下一個對象;
當設置爲APPEND時,會追加數據;
當設置爲TRUNCATE時,導入作業會截斷表,然後爲其追加新數據;
當設置爲REPLACE時,導入作業會刪除已存在表,重建表並追加數據;
注意,TRUNCATE選項不適用與簇表和NETWORK_LINK選項
expdp
#導出常見用法:
expdp expdp_bak/expdp_bak schemas=E_WORKdirectory=expdir dumpfile=E_WORK_$num.dmp logfile=E_WORK_$num.log;
expdp expdp_bak/expdp_bak owner=(SFIS1,SFIS3)directory=datapump dumpfile=SFIS.dmp logfile=SFIS.log content=METADATA_ONLY;
expdpsystem/springfile@nbe2 parfile=e:/exp/exp.par
exp.par內容:
directory=expdir
dumpfile=ams_pas_full.dmp
logfile=ams_pas_full.log
schemas=ams_pas
tables=dept,temp
注: expdp 導出的數據含有建立用戶的sql,故impdp的時候不用建立新用戶