需求
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;