Closed Sjoerd82 closed 2 years ago
With a minor change of schema and to the validation query table called in the callback ( TestTempTable -> TEST_SVE) this is what I get on macOS with 19.8 Instant Client to a 21c DB on Linux:
$ python issue625.py
Subscription created with ID: 910
Registered query with ID: 41
Waiting for notifications....
Waiting for notifications....
callback!
1 row changes detected in table CJ.TEST_SVE
Row with IntCol 3 was inserted
============================================================
If I change the triggering DELETE to delete the inserted row the callback also gets called:
callback!
1 row changes detected in table CJ.TEST_SVE
1 rows deleted
Ok thanks for that! At least that tells me the issue is probably not in the code. Not being a DBA myself, is there something I could ask our DBA to check? Does Oracle track errors in relation to CQN somewhere?
Could there perhaps somewhere (client/server/...) be a driver issue? I've heard that certain jdbc drivers don't support CQN (not sure if that's true, or which drivers that concerns). The DBA reports that "at least there was no dump"...
I'll ask the CQN team if they can comment.
In the meantime, is there anything about the connection or DB that might be 'special'? Cloud? TLS or native network encryption?
We use proxy accounts, which might be considered 'special'. It's not a local database, but it's not cloud either. There might be TLS or network encryption active, I will check that. In the meantime, we're also going to raise a ticket with Oracle. If all fails, we still can poll every 5 sec, but I would consider that a defeat ;-). Thanks for the assistance thusfar!
@Sjoerd82 email me ticket number. See my profile for the email address.
@Sjoerd82 email me ticket number. See my profile for the email address.
And I just received it and forwarded it to you.
This issue has been automatically marked as inactive because it has not been updated recently. It will be closed if no further activity occurs. Thank you for your contributions.
This issue has been automatically closed because it has not been updated for a month.
Give your database version. Oracle 19c Oracle InstantClient 19.14
Python/System:
Cx_oracle:
Additionally:
SELECT VALUE FROM v$parameter where name='job_queue_processes';
-- 320SQL:
Python:
To trigger:
The script starts and enters the waiting loop, the callback is never called. The script uses a regular (non-SYS) database user, which has a GRANT EXECUTE ON DBMS_CQ_NOTIFICATION.