ORA-24073: cannot specify RETENTION_TIME on exception queue string.string

文档解释

ORA-24073: cannot specify RETENTION_TIME on exception queue string.string

Cause: An attempt was made to create or alter an exception queue by specifying a non-zero RETENTION_TIME.

Action: Use the default RETENTION_TIME parameter value for exception queues.

ORA-24073: 由于不允许在异常队列上指定RETENTION_TIME,因此系统抛出此错误。

官方解释

ORA-24073:当试图在异常队列上设置RETAINTIME属性时,会出现ORA-24073:不能指定RETENTION_TIME的错误。这是由于异常队列的RETAINTIME属性是保留的,由实施者控制,因此只能在ENQUEUE管理器实例或数据库层面更改。

常见案例

在Oracle中,只有在数据库层显式更改了消息队列的保持时间后,才允许将其设置为异常队列。由于ORA-24073该错误,在尝试从客户端设置消息队列的消息保持时间时,会出现此错误。

一般处理方法及步骤

1.检查在Oracle中设置的消息队列中的保持时间是否与实际配置一致;

2.在Oracle中,必须在数据库层显式更改消息队列的保持时间,才允许将其设置为异常队列;

3.在此情况下,可以使用ALTER ENQUEUE_MANAGER、ALTER CONCURRENTQUEUE、ALTER CONCURRENTPROGRAM等语句来更改延迟时间;

4.重新启动数据库,运行消息队列,看看是否更新适当的消息队列选项;

5.在客户端重新设置消息队列的消息保持时间,确保不再发生ORA-24073错误。

你可能感兴趣的