我们创建具有各种属性的消息并将其排入队列,如下所示:
message := sys.aq$_jms_message.construct(0);
message.set_string_property('a', v_a));
message.set_int_property('b', v_b);
message.set_int_property('c', v_c);
message.set_string_property('d', v_d);
DBMS_AQ.ENQUEUE(queue_name => SOME_QUEUE,
enqueue_options => queue_options,
message_properties => message_properties,
payload => message,
msgid => message_id);
成功运行了很长时间后,我们突然得到
ORA-01426: numeric overflow ORA-06512: at "SYS.DBMS_AQ"
什么可能导致这种情况?使用新队列表对新创建的队列运行相同的排队代码会产生相同的结果。