oracle data change notification機制
Generally, a middle-tier data cache duplicates some data from the back-end database server. Its goal is to avoid redundant queries to the database. However, this is efficient only when the data rarely changes in the database. The data cache has to be updated or invalidated when the data changes in the database. Starting from 11g
The JDBC drivers can register SQL queries with the database and receive notifications in response to the following:
-
DML or DDL changes on the objects associated with the queries
-
DML or DDL changes that affect the result set
The notifications are published when the DML or DDL transaction commits (changes made in a local transaction do not generate any event until they are committed).
To use Oracle JDBC driver support for Database Change Notification, perform the following:
-
Registration: You first need to create a registration.
-
Query association: After you have created a registration, you can associate SQL queries with it. These queries are part of the registration.
-
Notification: Notifications are created in response to changes in tables or result set. Oracle database communicates these notifications to the JDBC drivers through a dedicated network connection and JDBC drivers convert these notifications to Java events.