ORA-26843: Local propagation “string” found for capture queue “string”.”string”. ORACLE 报错 故障修复 远程处理

文档解释

ORA-26843: Local propagation “string” found for capture queue “string”.”string”.

Cause: The combined capture and apply optimization could not be used because a local propagation was attached to the capture queue.

Action: Remove the local propagation and restart capture.

官方解释

ORA-26843表明数据库捕获队列有本地传播。

这类错误出现时,说明一个错误数据库捕获队列有本地传播发生。 该队列是一个RAC数据库的实例的归档日志捕获队列,用来跟踪某个实例上的redo日志传播给其他实例,以保持所有实例的数据库一致性。

常见案例

在多实例的RAC环境下,由于网络故障等原因,可能会出现本地传播,因此会出现ORA-26843。

一般处理方法及步骤

1. 检查capture队列在库实例上是否已经正常处理:

(1)查看各个实例上是否拥有相同的monarch进程;

(2)查看是否有集群相关的network文件;

(3)查看每个实例是否有同样的capture队列,以及其中是否有正确的message未被重新处理;

(4)查看每个实例上是否有同样的capture队列,并检查是否出现消息错误或延迟;

(5)检查是否有本地传播通道;

2. 网络故障检查:

(1)检查两个实例之间网络是否连通;

(2)检查RAC间的心跳通信状态;

(3)检查DDL和DML的访问权限;

(4)查看是否有其它RAC节点出现网络不稳定或端口、服务名连接错误等问题导致没有传播到其它节点。

3. 获取并校验Capture队列数据:

(1)检查Capture队列是否有正确的REDO LOG MESSAGE;

(2)检查REDO的状态是否有异常,是否消息未处理完成;

(3)如果有内存和I/O问题,及时校验并清理这些数据。

4. 如果ORA-26843错误仍然出现,尝试重建Capture队列

(1)更新capture queue:确保实例间消息正常接收;

(2)查看队列文件:由于本地传播,队列文件数据可能不正确;

(3)强制重建capture队列: 可能需要清空或修改capture队列,以确保队列只能被自身实例处理,而不会被其它实例处理。


数据运维技术 » ORA-26843: Local propagation “string” found for capture queue “string”.”string”. ORACLE 报错 故障修复 远程处理