理论上同步机制中,主库只有收到备库的ack才会完成一个写操作,也才会证实给客户端。如果备库8秒没证实,那么客户端是应该有8秒的'卡住‘的。 可以测试看看。可以设置成2秒看看, 如果没有存储快照造成的spike loading,2秒的设置也不应该造成不必要的切换。

CPU占用

select  top 1 100-SYS_CPUidle as CPUUsage from sys_History.SysData order by DateTime desc

内存占用


Caché提供下面两个指标反映Caché对内存的占用情况: Global Buffer使用量和Routing Buffer使用量。 
1. Global Buffer使用量
查询History Data
      select * from SYS_History.SharedMemoryData

或者,使用SNMP Get

- Cache_MIB.CacheBuffTab提供了完整的Buffer使用情况。
 - CacheBufferSize: 8192(8K), 16k,或其他
  - CacheBufferNum: 8K的buffer配置大小, 如果是2G, 值为262144
   - CacheBufferAvail: 空闲的Buffer的数字,

2.Routine Buffer使用量
Caché的cstate命令可以单纯查看,但使用PButtons更方便
 

查询数据库尺寸和剩余硬盘空间

以下两个存储过程得到同样的结果,入参稍有不同。用户都需要有%Admin_Operate的Use权限和存储过程的执行权限.

Call %SYS.DatabaseQuery_FreeSpace() 
Call sys.database_freespace()

在Caché ObjectScript语言里, 有两个class处理XML内容比较合适。 一个是%XML.Document,把xml读到里面可以用GetVersion(), GetNamespace()来找xml的版本和命名空间。(version=8.0是?)%XML.Documnet是DOM方式的存放,查找xml。 

还有一个是%XML.XPATH.Document,用xpath查找节点内容比较方便。