ORACLE STREAMS存儲過程中的壹些參數

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 /