stream故障处理汇总

 案例一:流复制两端数据不一致故障处理

流复制报错,查询dba_apply_error有错误出现为no data found
处理方法
先打印出错误具体内容
begin
print_transaction('10.45.14553972');
end;

得到结果:

----- Local Transaction ID: 10.45.14553972

----- Source Database: mydb

----Error in Message: 1
----Error Number: 1403
----Message Text: ORA-01403: no data found

--message: 1
type name: SYS.LCR$_ROW_RECORD
source database: MYDB
owner: YUZH
object: TEST1
is tag null: Y
command_type: UPDATE
。。。。。

PL/SQL procedure successfully completed

以上的只是类似,具体的打印没有保留。。。,但是能从以上信息中得到表及记录,然后根据具体错误更新apply库的相应表的相应数据,把数据更新的和源数据库一致

数据改成一致后既可以删除错误信息
begin
dbms_apply_adm.delete_error(local_transaction_id => ’10.45.14553972‘);
end;

 

 

案例2:
查询应用延时
SELECT APPLY_NAME,
       (DEQUEUE_TIME - DEQUEUED_MESSAGE_CREATE_TIME) * 86400 LATENCY,
       TO_CHAR(DEQUEUED_MESSAGE_CREATE_TIME, 'HH24:MI:SS MM/DD/YY') CREATION,
       TO_CHAR(DEQUEUE_TIME, 'HH24:MI:SS MM/DD/YY') LAST_DEQUEUE,
       DEQUEUED_MESSAGE_NUMBER
  FROM V$STREAMS_APPLY_READER;
 
CREATION LAST_DEQUEUE
07:28:13 01/09/12 09:03:21 02/07/12
极其异常,表示这个根本没有在干活
查询采集进程状态
SELECT CAPTURE_NAME,
       STATE,
       TO_CHAR(STATE_CHANGED_TIME, 'HH24:MI:SS MM/DD/YY') STATE_CHANGED,
       TO_CHAR(CAPTURE_MESSAGE_CREATE_TIME, 'HH24:MI:SS MM/DD/YY') CREATE_MESSAGE
  FROM V$STREAMS_CAPTURE;

STATE STATE_CHANGED CREATE_MESSAGE
CAPTURING CHANGES 09:57:27 02/07/12 09:57:27 02/07/12
PAUSED FOR FLOW CONTROL 09:57:19 02/07/12 23:18:20 02/06/12
发现状态变成  PAUSED FOR FLOW CONTROL

查看
 SELECT queue_schema, queue_name, unbrowsed_msgs, overspilled_msgs, memory_usage,
  publisher_state FROM V$BUFFERED_PUBLISHERS;
  得到IN FLOW CONTROL: TOO MANY UNBROWSED MESSAGES
根据此异常查询解决方案
关闭采集进程
关闭传播进程
重启传播进程
重启采集进程
完毕后ok

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值