返回首页

gbase数据、南大通用产品文档:GBase8s系统监视接口

更新日期:2024年09月11日

本节描述 SMI 表及如何访问它们以监视数据库服务器操作。
了解 SMI 表
SMI (系统监视接口)由数据库服务器自动维护的表和伪表组成。当 SMI 表作为表向用户
显示时,它们不像普通的表那样记录在磁盘上。相反,数据库服务器视需要在内存中根据
该瞬时共享内存中的信息构造表。当查询SMI 表时,数据库服务器从这些共享内存中读取
信息。由于数据库服务器不断更新共享内存中的数据,所以 SMI 所提供的信息允许您检查
数据库服务器的当前状态。
SMI 表提供关于以下主题的信息:
 审计

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 178 -
 检查点
 Chunk I/O
 Chunks
 数据库日志记录状态
 Dbspaces
 磁盘使用
 环境变量
 Extents
 锁
 网络
 SQL 语句高速缓存统计信息
 SQL 跟踪
 构建系统概要文件
 表
 构建用户概要文件
 虚拟处理器 CPU 使用
当用户访问并修改数据库服务器所管理的数据库时,SMI 表中的数据动态更改。
访问 SMI 表
任何用户都可以使用 SQL
SELECT 语句查询 SMI 表,但是标准用户不能执行 SELECT 以外
的语句。如果试图这样做,那么会导致权限错误。管理员可以执行 SQL 以外的语句,但这
类语句的结果是不可预料的。
提示: 对于可预料的结果,应查询与每个表相关联的的视图而不是直接查询表。
如果直接查询 systabpaghdrs 表,必须为 pg_partnum 参数指定一个合适的值。
pg_partnum 的值 >
1048576 。然而,如果查询与 systabpaghdrs 表关联的视图,就不用
指定 pg_partnum 参数的值。
GBase 8s 包括 sysadtinfo 和 sysaudit 表。只有用户 gbasedbt(在 UNIX™ 上)或
Gbasedbt-Admin 组的成员 (在 Windows™ 上)可以查询 sysadtinfo 和 sysaudit 表。
在 sysmaster 数据库的任何表上都无法使用 dbschema 或 dbexport 。如果这样做,数据
库服务器将生成以下错误信息:
Database has pseudo tables - can't build schema
SELECT 语句
您可以在对普通表使用 SELECT 的任何场合对 SMI 表使用 SELECT 语句。
例如,从 DB-Access ,在 SPL 例程中,以 GBase 8s ESQL/C 等,您可以使用 SELECT 语
句。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 179 -
限制: 当查询 SMI 表时,无法有意义地引用 rowid 。使用 rowid 的 SELECT 语句不返
回任何错误,但是结果是不可预料的。
包括表之间的连接、输出顺序排序等等在内所有标准 SQL 语法,都可使用于 SMI 表。如
果要连接 SMI 表和非 SMI 表,那么用以下标准语法给出 SMI 表的名称:
sysmaster[@dbservername]:[owner.]tablename
触发器和事件报警
基于对 SMI 表的更改的触发器从不运行。尽管可以在 SMI 表上定义触发器,但触发器只
在表上出现 INSERT、UPDATE 或 DELETE 语句时才被激活。对 SMI 数据的更新发生在数据
库服务器中,这不需要使用 SQL ,因此尽管由 SELECT 语句返回的数据提示它应被激活,
但 SMI 表上的触发器不会被激活。
要创建事件警报,请以预定时间间隔查询特定条件,并在警报的必需条件满足时执行 SPL
例程。
SPL 和 SMI 表
可以在 SPL 例程中访问 SMI 表。当引用 SMI 表时,请使用与引用标准表相同的语法。
锁定和 SMI 表
SMI 表中信息根据数据库服务器活动而变更。然而,数据库服务器不使用 SQL 语句更新信
息。当以锁定对象的隔离级别使用 SMI 表时,它阻止其他用户访问该对象但不阻止更改数
据。在这种意义上,所有 SMI 表都具有永久的 Dirty Read 隔离级别。

case
24/case
3
HSK
baseball bat

使用 DBEDIT 环境变量,可以指定要与 DB-Access 中的 SQL 语句和命令文件配合使
用的文本编辑器。
如果设置了 DBEDIT,那么指定文本编辑器是自动调用的。如果未设置 DBEDIT,系统
将提示您指定一个文本编辑器作为会话剩余部分的缺省编辑器。

editor 是您想要使用的文本编辑器的名称。
对于大多数 UNIX™ 系统,缺省文本编辑器为 vi。如果使用另一文本编辑器,请确保
它创建的是平面 ASCII 文件。某些文档方式的字处理程序引入的打印机控制字符可能会
干扰 GBase 8s 产品的运行。
要指定 EMACS 文本编辑器,请通过以下命令设置 DBEDIT:
setenv DBEDIT emacs