ORA-23426: deferred RPC queue has entries for string ORACLE 报错 故障修复 远程处理

文档解释

ORA-23426: deferred RPC queue has entries for string

Cause: The requested action cannot be performed until the queue is empty for the given site/dblink

Action: Use dbms_defer_sys.push, dbms_defer_sys.purge_queue or dbms_defer_sys.delete_tran to empty the queue.

ORA-23426: deferred RPC queue has entries for string报错表示客户端正在尝试向Oracle Database发送RPC(远程过程调用)请求,其RPC长度恰好大于预定义的最大传输字节数,从而导致重大错误,Oracle把此类RPC队列中的RPC请求存入了暂缓队列中。

官方解释

常见案例

一般处理方法及步骤

1)确保发送RPC的客户端正确配置,发送的RPC长度不超过系统设定的最大长度;

2)检查是否有例如循环绑定OWM_REF的操作,如果有,则请将这处理逻辑修改为不绑定OWM_REF;

3)如果无法调整RPC长度或绑定OWM_REF,则需要在服务器端重启服务器以清除暂缓队列中的RPC请求;

4)开发人员可以通过调用DBMS_DEFER_SYS.GET_DEFERRED_RPCS_QUEUE函数,查询是否有暂缓队列中未处理的RPC请求;

5)可以通过调用DBMS_DEFER_SYS.DROP_DEFERRED_RPCS_QUEUE函数清除暂缓队列中的RPC请求;

6)如果仍需要解决这种错误,可以尝试将服务器端的DB_RPC_CALL_SIZE参数的值设置的更大。


数据运维技术 » ORA-23426: deferred RPC queue has entries for string ORACLE 报错 故障修复 远程处理