删除流复制

来源:互联网 发布:雪梨的淘宝直播 编辑:程序博客网 时间:2024/05/04 16:06

 2013-11-23
一、概述
   本例以明细库到安顺的流复制为例进行清除。明细库到安顺的流复制情况如下:
三组capture进行,三组propagation,三组apply进程。现在需要将这些进程及其配置都删掉。
二、操作步骤
1、源上
--以strmadmin用户登入明细库
--stop capture
exec dbms_capture_adm.stop_capture('CAPTURE_7_AS1');
exec dbms_capture_adm.stop_capture('CAPTURE_7_AS2');
exec dbms_capture_adm.stop_capture('CAPTURE_7_AS3');
--drop capture
exec dbms_capture_adm.drop_capture('CAPTURE_7_AS1');
exec dbms_capture_adm.drop_capture('CAPTURE_7_AS2');
exec dbms_capture_adm.drop_capture('CAPTURE_7_AS3');
--stop propagation
BEGIN
  DBMS_PROPAGATION_ADM.STOP_PROPAGATION(
   propagation_name => 'PROPAGATION_7_AS1');
  DBMS_PROPAGATION_ADM.STOP_PROPAGATION(
   propagation_name => 'PROPAGATION_7_AS2');
  DBMS_PROPAGATION_ADM.STOP_PROPAGATION(
   propagation_name => 'PROPAGATION_7_AS3');
END;
/
--drop propagation
BEGIN
  DBMS_PROPAGATION_ADM.DROP_PROPAGATION(
   propagation_name => 'PROPAGATION_7_AS1');
  DBMS_PROPAGATION_ADM.DROP_PROPAGATION(
   propagation_name => 'PROPAGATION_7_AS2');
  DBMS_PROPAGATION_ADM.DROP_PROPAGATION(
   propagation_name => 'PROPAGATION_7_AS3');
END;
/
--上面成功了,再执行下面的操作,否则后果严重!!!
----remove capture queue
exec DBMS_STREAMS_ADM.REMOVE_QUEUE(queue_name =>'CAPTURE_QUEUE_7_AS1',cascade => true);
exec DBMS_STREAMS_ADM.REMOVE_QUEUE(queue_name =>'CAPTURE_QUEUE_7_AS2',cascade => true);
exec DBMS_STREAMS_ADM.REMOVE_QUEUE(queue_name =>'CAPTURE_QUEUE_7_AS3',cascade => true);
----drop rule set
select * from dba_rule_sets where rule_set_owner='STRMADMIN' ANDRULE_SET_COMMENT LIKE '%7_AS%'
--用查出来的RULESET进行替换下面DROP_RULE_SET中rule_set_name。
exec  DBMS_RULE_ADM.DROP_RULE_SET(rule_set_name=>'RULESET$_64538' ,delete_rules =>true );
exec  DBMS_RULE_ADM.DROP_RULE_SET(rule_set_name=>'RULESET$_64732' ,delete_rules =>true );
exec  DBMS_RULE_ADM.DROP_RULE_SET(rule_set_name=>'RULESET$_64960' ,delete_rules =>true );
exec  DBMS_RULE_ADM.DROP_RULE_SET(rule_set_name=>'RULESET$_65488' ,delete_rules =>true );
exec  DBMS_RULE_ADM.DROP_RULE_SET(rule_set_name=>'RULESET$_65684' ,delete_rules =>true );
exec  DBMS_RULE_ADM.DROP_RULE_SET(rule_set_name=>'RULESET$_65850' ,delete_rules =>true );
--remove stream configuration
--exec dbms_streams_adm.remove_streams_configuration();
--源上不执行移除流复制配置,其它地区需使用。
2、目标上:
--以strmadmin登入安顺库
--stop apply
exec dbms_apply_adm.stop_apply('APPLY_7_AS1');
exec dbms_apply_adm.stop_apply('APPLY_7_AS2');
exec dbms_apply_adm.stop_apply('APPLY_7_AS3');
--drop apply
exec dbms_apply_adm.drop_apply('APPLY_7_AS1');
exec dbms_apply_adm.drop_apply('APPLY_7_AS2');
exec dbms_apply_adm.drop_apply('APPLY_7_AS3');
--apply无法drop时,请先使用execdbms_apply_adm.delete_all_errors('APPLY_7_AS');
--上面成功了,再执行下面的操作,否则后果严重!!!
--remove queue
exec DBMS_STREAMS_ADM.REMOVE_QUEUE(queue_name =>'APPLY_QUEUE_7_AS1',cascade => true);
exec DBMS_STREAMS_ADM.REMOVE_QUEUE(queue_name =>'APPLY_QUEUE_7_AS2',cascade => true);
exec DBMS_STREAMS_ADM.REMOVE_QUEUE(queue_name =>'APPLY_QUEUE_7_AS3',cascade => true);
--drop rule set
select * from dba_rule_sets where rule_set_owner='STRMADMIN'AND  RULE_SET_COMMENT LIKE '%APPLY_7_AS%'
--查出来的RULESET进行替换下面DROP_RULE_SET中rule_set_name
exec  DBMS_RULE_ADM.DROP_RULE_SET(rule_set_name=>'RULESET$_2720' ,delete_rules =>true );
exec  DBMS_RULE_ADM.DROP_RULE_SET(rule_set_name=>'RULESET$_2914' ,delete_rules =>true );
exec  DBMS_RULE_ADM.DROP_RULE_SET(rule_set_name=>'RULESET$_3426' ,delete_rules =>true );
--remove stream configuration
--可以不删,下次配置时用。
--exec dbms_streams_adm.remove_streams_configuration();
--删除历史LCRS
--truncate table HISTORY_ROW_LCRS;

注意:如果在dropcapture之前删除了RULE_SET,则CAPTURE进程的QUEUE无法删除,传递进程也无法删除,报如下错误:
ORA-04063: STRMADMIN.CAPTURE_QUEUE_7_AS1 有错误(以AS1这组为例)
解决方案:
--sys用户下执行
execdbms_aqadm_syscalls.kwqa_3gl_validatequeue('STRMADMIN','CAPTURE_QUEUE_7_AS1');
--strmadmin用户下执行
exec DBMS_PROPAGATION_ADM.alter_propagation(propagation_name =>'PROPAGATION_7_AS1',remove_rule_set => TRUE);
执行后可正常停止并删除传递进程。
但传递进程删除后CAPTURE进程的QUEUE(CAPTURE_QUEUE_7_AS1)及规则集(CAPTURE_QUEUE_7_AS_N和CAPTURE_QUEUE_7_AS_R)仍然存在,需要执行如下命令:
exec DBMS_AQADM.DROP_QUEUE_TABLE (queue_table =>'CAPTURE_QUEUE_T_7_AS', force => true);


 

0 0
原创粉丝点击