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 COMMITs, 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更新
本文介绍了ORACLE10.2G新增的PL/SQL PACKAGE DBMS_CHANGE_NOTIFICATION,该功能允许客户端注册感兴趣的查询,并指定PL/SQL回调处理器接收通知。当事务更改注册查询涉及的对象并提交时,将调用注册时指定的PL/SQL回调。这种方式可以有效解决数据库参数表与应用内CACHE的同步更新问题。
649

被折叠的 条评论
为什么被折叠?



