資料泵(expdp,impdp)高版本匯入低版本操作例項

mahanso發表於2012-10-11
今天開發提一個需求,從oracle  11g資料庫中2個使用者下所有物件遷移到oracle  10g資料庫中,本次操作使用資料泵(expdp,impdp)來完成任務。


一、準備工作

1.1、檢視資料庫物件佔用的物理空間多大

select owner,segment_name, sum(bytes)/1024/1024 Mbytese,tablespace_name from dba_segments 
where 
owner='WF' 
--and
--segment_type='TABLE' and 
--SEGMENT_NAME like upper('XX_XXX_413_201209%')
group by owner,segment_name,tablespace_name  order by segment_name;

這步的目要確定資料量多大,是否會影響資料庫伺服器的效能,做到心裡有數,才能做操作。

二、匯出步驟

2.1、建立directory並且賦值匯出相關許可權

create directory [XXXX] as ['路徑'];

create directory pump_dir_mahanso as '/usr/oracle/mahanso';

grant write on directory [XXXX]  to [使用者名稱];

grant read on directory pump_dir to XXXX;

grant exp_full_database to [使用者名稱]

grant exp_full_database to WF;

2.2、匯出操作

expdp 'WF/"XXXXXXX"' schemas=WF directory=PUMP_DIR_MAHANSO dumpfile=ora11g_expdp_wf_20121009_0921.dmp  logfile=ora11g_expdp_wf_20121009_0921.log  version=10.2.0.5.0


三、匯入步驟

3.1、Oracle 10g資料庫中建立使用者並且賦值許可權

create user WFTEST1 identified by WFTEST1
default tablespace TS_ACCT_8M
temporary tablespace TEMP;

grant SELECT ANY TABLE,UPDATE ANY TABLE,UNLIMITED TABLESPACE,INSERT ANY TABLE,SELECT ANY SEQUENCE,DELETE ANY TABLE to WFTEST1;

grant RESOURCE,CONNECT to WFTEST1;

grant select,delete,update,INSERT on LNSO.SO_MCOIN_RANDOM to WFTEST1;
grant select,delete,update,INSERT on LNSO.SO_MCOIN_AREA to WFTEST1;
grant select,delete,update,INSERT on LNSO.SO_MCOIN_AREA_DEF to WFTEST1;


create user WFTEST2 identified by WFTEST2
default tablespace TS_ACCT_8M
temporary tablespace TEMP;

grant SELECT ANY TABLE,UPDATE ANY TABLE,UNLIMITED TABLESPACE,INSERT ANY TABLE,SELECT ANY SEQUENCE,DELETE ANY TABLE to WFTEST2;

grant RESOURCE,CONNECT to WFTEST2;

grant select,delete,update,INSERT on LNSO.SO_MCOIN_RANDOM to WFTEST1;
grant select,delete,update,INSERT on LNSO.SO_MCOIN_AREA to WFTEST1;
grant select,delete,update,INSERT on LNSO.SO_MCOIN_AREA_DEF to WFTEST1;

3.2、建立directory並且賦值匯出相關許可權

create directory [XXXX] as ['路徑'];

create directory PUMP_DIR_MAHANSO as '/usr/oracle/mahanso';

grant read on directory [XXXX]  to [使用者名稱];
grant read,write on directory PUMP_DIR_MAHANSO  to WFTEST1;
grant read,write on directory PUMP_DIR_MAHANSO  to WFTEST2;

grant imp_full_database to WFTEST1;
grant imp_full_database to WFTEST2;


3.3、匯入操作

/*資料泵匯入(在系統命令列環境中執行)*/
impdp 使用者名稱/密碼  dumpfile=[XXXX]:[備份檔名稱]  nologfile = y  remap_schema=[備份檔案匯出使用者名稱]:[要到入使用者名稱] remap_tablespace=[備份檔案匯出表空間]:[要匯入表空間]

impdp WFTEST1/WFTEST1 directory=PUMP_DIR_MAHANSO dumpfile=ora11g_expdp_wf_20121009_0921.dmp  logfile=ora11g_expdp_WFTEST1_20121009_0921.log  remap_schema=WF:WFTEST1 remap_tablespace=WF_DAT:TS_ACCT_8M,WF_IDX:TS_ACCT_8M

impdp WFTEST2/WFTEST2 directory=PUMP_DIR_MAHANSO dumpfile=ora11g_expdp_wf_20121009_0921.dmp  logfile=ora11g_expdp_WFTEST2_20121009_0921.log  remap_schema=WF:WFTEST2 remap_tablespace=WF_DAT:TS_ACCT_8M,WF_IDX:TS_ACCT_8M

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12272958/viewspace-746144/,如需轉載,請註明出處,否則將追究法律責任。

相關文章