Firebird数据库
Firebird数据库语言参考-附录 E: 监控表
2016-06-01 11:19:25

Firebird数据库引擎可以监视数据库中的活动并使其可供用户通过监控表查询。这些表的定义总是出现在数据库中,所有命名带有前缀MON$。表是虚拟的:他们只有在用户查询时才填充数据。这是也是一个很好的理由,为他们试图创建触发器是没有用的!

 

理解监测功能的关键概念是活动快照。活动快照表示在监控表查询运行的事务的开始数据库的当前状态。它投递大量有关数据库本身的信息,活动连接,用户,事务准备,运行查询及更多的信息。

 

当任意一个监控表第一次被查询时,快照就会被建立,它被保存直到结束当前事务保持稳定和一致的视图为查询跨多个表,比如一个主从复合结构,换句话说,监控表总是表现得好像他们在SNAPSHOT TABLE STABILITY("一致性")隔离,即使启动当前事务隔离级别较低。

若要刷新快照,当前事务必须完成且监控表必须在一个新的事务上下文重新查询。

 

•SYSDBA 和数据库所有者有从监控表完全访问所有可用信息的权限
•普通用户可以看到关于他们自己的连接信息;其他连接对它们而言是不可见的。

 


 

表 E.1. 监控表列表