1. 源与目标数据库的配置
参考前几个操作
2. 创建相关的操作目录
3. 设置归档路径(源数据库操作) - 如果采用下游捕获的方式
sql> alter system set log_archive_dest_2=¨service=auxi.jss.cn lgwr async noregister¨;
4. 检查是否包含表空间
sql> set serveroutput on
sql> exec sys.dbms_tts.transport_set_check('scott',true,true);
sql> select * from sys.transport_set_violations;
返回为空,说明没有问题。
5. 清除之前的复制环境,并删除目标端schema下所有对象。
6. 执行MAINTAIN_SCHEMAS脚本
sql> DECLARE
1 tab_schema dbms_utility.uncl_array;
2 Begin
3 tab_schema(1):='scott';
4 DBMS_STREAMS_ADM.MAINTAIN_SCHEMAS(
5 schema_names => tab_schema,
6 source_directory_object => 'orcldump',
7 destination_directory_object => 'auxidump',
8 source_database => 'orcl.jss.cn',
9 destination_database => 'auxi.jss.cn,
10 perform_actions => true,
11 dump_file_name => 'export_member.dmp',
12 log_file => 'export_member_expdp.log',
13 bi_directional => true,
14 include_ddl => true,
15 instantiation => DBMS_STREAMS_ADM.INSTANTIATION_SCHEMA);
16 END;
17 /
instantiation 参数用来指定是否执行实例化,有如下几种值:
DBMS_STREAMS_ADM.INSTANTIATION_SCHEMA :通过expdp/impdp初始化数据,并在目标端导入数据时执行实例化,默认情况下即是该值。
DBMS_STREAMS_ADM.INSTANTIATION_SCHEMA_NETWORK :impdp直接通过网络传输数据而不生成dmp文件。在导入数据时执行实例化。
DBMS_STREAMS_ADM.INSTANTIATION_NONE :不执行实例化,该属性值仅当perform_actions参数设置为false时有效。