ORA-23353: deferred RPC queue has entries for object group “string”.”string” ORACLE 报错 故障修复 远程处理
文档解释
ORA-23353: deferred RPC queue has entries for object group “string”.”string”
Cause: The requested action cannot be performed until the queue is empty for the given object group
Action: Use dbms_defer_sys.execute or dbms_defer_sys.delete_tran to empty the queue.
。
ORA-23353 表示已经排队可能无法被立即执行的远程过程调用(RPC)。
官方解释
ORA-23353 表示一个在远程过程调用(RPC)的延迟队列中的条目可能无法立即执行,并且存在一个关联的特定的对象组。RPC延迟队列用于在内部运行Oracle服务。
常见案例
当数据库中的某些表的统计信息已被废弃,并且与某个特定的对象组(例如:表)相关联时,ORA-23353 错误可能发生。
一般处理方法及步骤
1、执行以下语句,查看延迟RPC信息:
SELECT LATENCY_TIME, OBJECT_GROUP, STATUS
FROM GV$DEFERRED_RPC_QUEUE
2、如果有延迟RPC信息,使用以下语句删除它:
EXEC DBMS_DEFERRED_RPC.DROP_QUEUE_ENTRY(‘obj_group’);
3、更新数据库中相关表的统计信息。通常,可以使用以下命令执行该操作:
EXEC DBMS_STATS.GATHER_TABLE_STATS(‘schema_name’,’table_name’);
4、如果上述步骤未能解决问题,考虑在数据库级别执行统计收集以更新系统统计信息:
EXEC DBMS_STATS.GATHER_DATABASE_STATS();