1,maintain_mode参数
可取golbal或transportable tablepsaces,当该参数取global时,表示streams进行全库复制,否则表示streams进行表空间复制,需要在tablespace_names参数中指定待复制的一个或多个表空间。
2,perform_actions参数
此参数设置为true时,streams配置脚本执行过程将记录在dba_recoverable_script字典表,如果pre_instantiation_setup 执行时遇到错误,可以通过执行dbms_streams_adm的recover_operation过程在更正错误后继续执行streams复制配置。参数为false的话则生成配置脚本到script_directory_object/script_name参数指定的位置。
3,source_database/destination_database参数
是指向源库与目标库的database link,必须确保正确,否则pre_instantiation_setup过程将会失败,报ora-23621错误,如果错误发生,可以利用dbms_streams_adm的recover_operation过程回滚或者是清除上次操作,更正错误后再执行pre_instantiation_setup过程。
4,bi_directional
此参数设置为true时,表示streams是多源复制,即目标库与源库双向复制对象与数据,否则只从源库向目标库复制对象与数据。
5,include_ddl
此参数表示复制的过程中,也复制DDL操作。
6,start_processes
此参数指streams配置完成后启动捕获、传播及应用进程。
7,exclude_schemas
此参数指出全库复制时不参与复制的用户,如果有多个用户不参加复制的话,可以用逗号分开,*号则排除所有schemas,NULL则不排除任何schemas(sys/system/stxsys始终不复制),该参数只有在全库复制时有效。
8,exclude_flags
这里表示多源复制的时候,为了避免redo entry的递归应用问题,应当避免的一些操作。
pre_instantiation_setup存储过程示例:
SQL>connect strmadmin/strmadmin
SQL>declare
2 empty_tbs dbms_streams_tablespace_adm.tablespace_set;
3 begin
4 dbms_streams_adm.pre_instantiation_setup(
5 maintain_mode => 'global',
6 tablespace_names => enpty_tbs,
7 source_database => 'dbsour.net',
8 destination_database => 'dbdest.net',
9 perform_actions => true,
10 bi_directional => true,
11 include_ddl => true,
12 start_processes => true,
13 exclude_schemas => NULL,
14 exclude_flags => dbms_streams_adm.exclude_flags_unsupported + dbms_streams_adm.exclude_flags_dml + dbms_streams
15 _adm.exclude_flags_ddl);
16 end;
17 /
……