Firebird 2.1 数据库缺少监控表可以添加吗?

Posted

技术标签:

【中文标题】Firebird 2.1 数据库缺少监控表可以添加吗?【英文标题】:Firebird 2.1 database is missing the monitor tables can they be added? 【发布时间】:2016-03-25 18:29:34 【问题描述】:

我发现一些 Firebird 2.1 数据库缺少监控表,即 (MON$ATTACHMENTS)。 有没有办法添加它们?

我尝试插入它们,但它们显示为普通表格。

【问题讨论】:

【参考方案1】:

监控表等功能取决于 Firebird 数据库的磁盘结构 (ODS) 版本。您的数据库可能仍然是旧的 ODS 版本(11.0 或更早版本,例如 Firebird 2.0 或更早版本)。您需要备份和恢复数据库以将其升级到 Firebird 2.1 (ODS 11.1) 的 ODS。这将添加监控表。

这也记录在 2.1.7 发行说明中,Monitoring tables 部分:

虚拟监控表仅存在于 ODS 11.1(及更高版本)数据库中,因此需要通过备份/恢复进行迁移才能使用此功能。

如果您要升级,请考虑升级到 Firebird 2.5。

【讨论】:

马克,您一如既往地给出了正确的解决方案。再次感谢您的帮助。【参考方案2】:

或者,它们仅在您以 sysdba 或数据库所有者身份连接时可见

【讨论】:

监控表可供所有用户使用,但他们只会看到有关其当前连接的信息(至少:在 Firebird 2.5 中。也不确定 2.1)。

以上是关于Firebird 2.1 数据库缺少监控表可以添加吗?的主要内容,如果未能解决你的问题,请参考以下文章

Firebird 2.1 在某些数据库表中存储大量行是不是有效?

如何在 Firebird 2.1 中临时禁用表中的所有约束?

如何测量 Firebird 2.1 数据库上 blob 占用的空间量?

是否可以在 Firebird 中重命名表?

Firebird 2.1 TIMESTAMP 算术和民用间隔

如何在 Firebird 2.1 中优化此查询?