Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Database change notification - ORA-29970: Specified registration id does not exist

2950271Jan 16 2017 — edited Jan 16 2017

Hi everyone !

We have been using Oracle Database change notification in our application.

We are suddenly facing the issue 'ORA-29970: Specified registration id does not exist' while trying to register the table with a poller query.

It has been working fine so far with a different schema. The current schema has identical permissions and privileges as the previous schema.

If anyone is aware of the issue, Kindly let us know !!

Grants given -

     GRANT CONNECT, CREATE TABLE, CREATE PROCEDURE, CREATE SEQUENCE TO schemaName;

     GRANT CHANGE NOTIFICATION TO schemaName;

     GRANT EXECUTE ON DBMS_CHANGE_NOTIFICATION TO schemaName;

Code is as follows -

        OracleConnection oConn = connect();

        Properties prop = new Properties();

        prop.setProperty(oConn.DCN_NOTIFY_ROWIDS, "true");

        prop.setProperty(oConn.DCN_QUERY_CHANGE_NOTIFICATION, "true");

       DatabaseChangeRegistration dcr = oConn.registerDatabaseChangeNotification(prop);

Stack Trace -

    java.sql.SQLException: ORA-29970: Specified registration id does not exist

            at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)

            at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)

            at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)

            at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)

            at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)

            at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)

            at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:193)

            at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:873)

            at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1167)

            at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1289)

            at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1491)

            at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:406)

           at dBTest.OracleDCN.run(OracleDCN.java:53)

            at dBTest.OracleDCN.main(OracleDCN.java:22)

This post has been answered by 2950271 on Jan 16 2017
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Feb 13 2017
Added on Jan 16 2017
6 comments
2,027 views