stream配置總結

skuary發表於2011-11-25
從開始配置、測試一直到部署stream,到現在快1個月了,期間遇到了很多問題,最終一一解決了,在此記錄一些有用的排錯、查詢語句,以備後用:
 
---- 相關查詢語句
select propagation_name as name,status,ERROR_MESSAGE from dba_propagation
union all
select CAPTURE_NAME,status,ERROR_MESSAGE from dba_capture
union all
SELECT apply_name,status,error_message from dba_apply;
select * from dba_apply_parameters;
select * from dba_capture_parameters;
select * from dba_propagation;
select * from dba_capture;
select * from v$streams_capture;
 
---- update衝突更新解決相關
select 'DECLARE 
   cols DBMS_UTILITY.NAME_ARRAY; 
 BEGIN 
   cols(1) := ''' || column_name || ''';
 DBMS_APPLY_ADM.SET_UPDATE_CONFLICT_HANDLER(object_name => ''MYNET_APP.' ||
        table_name ||
        ''', method_name => ''OVERWRITE'',resolution_column => ''' ||
        column_name || ''',column_list => cols);
 END;
/'
  from all_tab_columns
 where owner='MYDB_APP';
 
---- 忽略apply報錯的相關語句
正式庫上的某些應用、修改,可能會導致downstream資料庫apply程式abort掉,無關緊要的錯誤,完全可以忽略掉:
 
select  'execute dbms_apply_adm.set_parameter('||''''||'APPLY$_YESMYDB_576'||''''||','||''''||'_ignore_transaction'||''''||','||''''||local_transaction_id||''''||');'
   from dba_apply_error where error_message like 'ORA-%' ORDER BY error_creation_time desc;
   
   
---- 取消某些表的capture操作
BEGIN
DBMS_STREAMS_ADM.ADD_TABLE_RULES (
table_name => 'MYNETDB.MK_TA_RESULT',
streams_type => 'capture',
streams_name => 'YESMYDB$CAP',
queue_name => 'STRMADMIN.YESMYDB$CAPQ',
include_dml => true,
include_ddl => true,
source_database => 'YESMYDB',
inclusion_rule => false ); --specifies the negative rule set
END;
/

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25618347/viewspace-712080/,如需轉載,請註明出處,否則將追究法律責任。

相關文章