需求
A機:
Oracle版本:11.2.0.1.0
Oracle
SID:pcgj
Oracle使用者:pctz
B機:
Oracle版本:10.2.0.5.0
Oracle
SID:zxin
Oracle使用者:pctz
現要求把A機中pctz方案下的所有對象導到B機pctz方案下。
解決方案
(一)A機導出步驟
1)建立導出路徑
~>sqlplus
/ as sysdba
SQL>
create directory dump_dir as '/home/oracle/dump';
grant read, write on directory dump_dir to system
2)導出
expdp
system/oracle directory=dump_dir dumpfile=exp20150701.dmp
logfile=exp20150701.log schemas=pctzversion=10.2.0.5.0;
注意:高版本向版本導入資料時要在參數裡加上version=目标庫的低版本号
3)A機中查詢空間和建立表空間的語句
SQL> select * from dba_tablespaces;
SQL>
set long 2000
SQL> select dbms_metadata.get_ddl('TABLESPACE','表空間名稱') FROM DUAL;
(二)把exp20150701.dmp從A機的/home/oracle/dump/目錄下拷貝到B機的home/oracle/dump/目錄下
(三)B機導入步驟
1)建立導入路徑
SQL>
create directory dump_dir as '/home/oracle/dump';
grant read, write on directory dump_dir to system
2)建立缺失的表空間
3)建立使用者
SQL>
create user pctz identified by pctz;
SQL>
grant connect, resource to pctz;
4)導入
impdp
system/oracle directory=dump_dir dumpfile=exp20150701.dmp
logfile=imp201507012103.log schemas=pctz;