数据库监视后台进程 (dbmonitor_nxd) 提供了一种机制,允许在从 CA SDM 外部进行变更时,刷新特定数据库表的 CA SDM 缓存。
dbmonitor_nxd 的主要功能是针对指定表中不是通过 CA SDM 进行的变更生成 CHANGE 通知。为了执行该功能,监视器定期查询数据库,确定哪些内容是在外部变更的,然后将 CHANGE 通知发送到 bpvirtdb_nxd 服务器。bpvirtdb_nxd 服务器会将变更告知所有 domsrvr 服务器,这导致每个 domsrvr 都更新其特定数据库对象的缓存,然后通知预订了指定表中变更的所有其他过程。
这种机制对受监视表中的不定期外部变更非常有效。但是,如果从外部进行大规模更新,则会广播大量的 CHANGE 通知,从而导致从多个 CA SDM 进程进行许多数据库查询,这会极大地影响 CA SDM 的性能。
为了消除对 CA SDM 性能的这种影响,已经为此版本的产品更新了 dbmonitor_nxd。监视器支持命令行界面,允许用户启动和停止对指定表的监视。
语法
此命令具有以下格式:
dbmonitor_nxd -c <command> -t <tables>
输入 start 或 stop。
指定表名称或者以逗号分隔的表名称列表,其必须与 NX_DBMONITOR_TABLES 环境变量中指定的一个或多个表匹配。
每个请求将被发送到 dbmonitor_nxd 后台进程。后台进程会采取适当的操作,并向用户返回一条消息,以指明所采取的操作。
注意:对表暂停监视器后,缓存这些表中数据的所有 CA SDM 进程将过期,并且不会进行任何设置来更新该缓存。
例如,BOPLGIN 缓存联系人记录(来自 ca_contact 和 usp_contact 表),并且如果在将外部更新加载到数据库期间对 ca_contact 表暂停监视器,该缓存不会被更新。 在使用 BOPLGIN 的情况下,这并不重要,因为在 BOPLGIN 中缓存的基本联系人属性来自 usp_contact 表,而不是 ca_contact 表。
注意:如果对表暂停了监视器,则当 Web 用户查看详细信息表单时,将无法在表中看到监视器暂停后从外部进行的变更。
|
版权所有 © 2013 CA。
保留所有权利。
|
|