ORACLE 10.2G 官方文档中对 新增加的PL/SQL PACKAGE DBMS_CHANGE_NOTIFICATION 描述如下:
The DBMS_CHANGE_NOTIFICATION package provides PL/SQL based registration interfaces. A client can use this interface to create registrations on queries based on objects of interest and specify a PL/SQL callback handler to receive notifications. When a transaction changes any of the objects associated with the registered queries and COMMIT
s, this invokes the PL/SQL callback specified during registration. The application can define client-specific processing inside the implementation of its PL/SQL callback handler.
目前越来越多系统都会将一些在数据库配置的参数表CACHE到应用内,随之而来要解决的一个问题就是数据库内的数据与CACHE同步、更新问题,目前一般都是:
1、定时刷新
2、通过界面更新的时候,同时更新指定更新通知表
在使用方式2的时候如果维护人员是通过后台数据库手工操作的时候是很容易遗漏,使用方式1可能会做无用工,如果使用DBMS_CHANGE_NOTIFICATION 进行处理,那么就可以通过定时扫描指定表内数据来判断是否要更新,如果没有更新通知则不需要进行CACHE更新