The following errors are observed in target event log:
Info 2018-07-20 09:21:33.572770 10924 3556702048 Poster exited with code=1, pid = 16287 (posting from o.SID1, queue queue_name, to o. SID2)
Error 2018-07-20 09:21:33.029874 16287 42931968 s:3 Poster: que/seq = 3/ 10572475095 seqno/offset = 600/453132816 Unexpected Oracle error: ORA-30926: unable to get a stable set of rows in the source tables (object name: "OWNER"."TABLE_NAME") (posting from o. SID1, queue queue_name, to o. SID2) [module opo]
Notice 2018-07-20 09:21:33.029690 16287 42931968 s:3 Poster: ORA-30926: unable to get a stable set of rows in the source tables (posting from o. SID1, queue queue_name, to o. SID2) [module osp]
The problem originates from actions on target and not from source. This could be due to triggers or procedures defined on the problem table.
To pinpoint the problem, set debug on Post as follows:
1. With Post stopped due to error, rename the existing *opo* log(s) to another name.
2. Set debug on Post as:
sp_ctrl>set param sp_opo_debug_flag queue <queue_name> 0x7f0001ff
3. Start Post
4. Once it errors out, save the resulting *opo* log(s) to another name and then unset the debug by:
sp_ctrl>reset param sp_opo_debug_flag queue <queue_name>
Then examine the resulting *opo* log after the debug as it may have details of the procedure/trigger that caused the error. If it does not, then refer the issue to Support.
If you wish to ignore posting for the time being on the problem table involved in the transaction, set the following on the target sp_ctrl:
sp_ctrl>set param SP_OPO_DISABLE_OBJECT_NUM queue <queue_name> <object id of the “OWNER"."TABLE_NAME” from source database>
sp_ctrl>start post
Once the error is bypassed and Post is not stopping due to error anymore, you can unset the above parameter by:
sp_ctrl>stop post queue <queue_name>
sp_ctr>reset param SP_OPO_DISABLE_OBJECT_NUM queue <queue_name>
sp_ctrl>start post
NOTE : Disabling object will not get rid of underlying issue, which can reoccur in future depending on Post hitting it again. Moreover, the table will be out of sync due by disabling temporarily. So one may want to fix those out of sync using repair or other means.
© 2024 Quest Software Inc. ALL RIGHTS RESERVED. Feedback Terms of Use Privacy Cookie Preference Center