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 /