系统监督接口
系统监督接口(system-monitoring interface,SMI)表是由数据库效力器打点的特此皮相,其中搜罗关于数据库效力器形状的静态信息。可以对这些表运用 SELECT
语句,从而体会关于数据库效力器的的确任何信息。
buildsmi 脚本
在初次运转数据库效力器时,它运转一个称为 buildsmi 的脚本(这个脚本在 $INFORMIXDIR/etc 目录中)。这个脚本构建支持 SMI 的 sysmaster 数据库和表。数据库效力器需求大约 1750 个空闲的逻辑日志空间页面来构建 sysmaster 数据库。
如果收到一个错误音讯,指示您运转 buildsmi 脚本,那么可以是数据库效力器在构建 SMI 数据库、表和视图时发生发火了问题。实验 buildsmi 脚本时,会删除并从新创立现有的 sysmaster 数据库。
bldutil.sh 脚本
OnBar 在 sysutils 数据库中存储它实验的每个备份/规复操纵的相干信息。每个 dbspace 和逻辑日志的备份信息也存储在这里。在实验热规复时,OnBar 会运用这些表。
在初次初始化数据库效力器时,它运转一个称为 bldutil.sh(在 UNIX® 上)或 bldutil.bat(在 Windows® 上)的脚本。这个脚本构建 sysutils 数据库。如果脚本运转掉败,数据库效力器会在 tmp 目录中创立一个输出文件。输出文件是 bldutil.process_id(在 UNIX 上)或 bldutil.out(在 Windows 上)。这个输出文件中的音讯说明在脚本实验时期发生发火了什么错误。
sysmaster 数据库
sysmaster 数据库是一个 “伪数据库”。这意味着它的大多数表不是磁盘上的普通表,而是指向 IDS 引擎中的共享内存结构的指针。sysmaster 数据库搜罗的表超越 120 个。Informix Dynamic Server Administrators Guide 中只刻画了其中一局部表。其他表没有文档记录,这意味着它们是供外部运用的。
IDS 11 中引入了上面这些新的表。关于其他良多 sysmaster 表,可以在手册中找到更多的注意信息。
表 3. 新的 sysmaster 表
表
刻画
syscheckpoint
关于反省点和相干统计数据的信息。
systcblst
批改了现有的表,添加了期待统计数据。
sysenvses
反省 Informix 的会话环境变量。
sysenv
反省效力器环境变量。
sysonlinelog
反省效力器的 online.log。
sysscblst
经过改善,可以反省会话运用的内存。
sysnetworkio
反省数据库会话孕育发生的搜集 I/O。
sysdual
Oracle 兼容性特征。
syssqlcacheprof
浮现每个 SQL 缓存的设置信息。
syssqltrace
系统上比来实验的 SQL 语句。
syssqltrace_itr
SQL 语句的迭代器的列表。
syssqltrace_info
关于 SQL 跟踪的普通信息。
sysnetglobal
全局搜集信息。
sysnetclienttype
基于客户机范例的搜集信息。
sysbaract_log
OnBar 活动日志文件。
sysrstcb
经过改善,可以反省 I/O 和锁期待信息。
体会 SMI 表
SMI 由数据库效力器主动维护的表和伪表构成。虽然 SMI 表在用户看起来像是表,可是它们并不像普通表那样存储在磁盘上。相反,数据库效力器在需求时凭证共享内存中尔后的信息在内存中构建这些表。在您查询 SMI 表时,数据库效力器从这些共享内存结构读守信息。因为数据库效力器不断更新共享内存中的数据,以是可以经过 SMI 供应的信息体会数据库效力器的尔后形状。
SMI 表供应以下方面的相干信息:
- 审计
- 磁盘运用率
- 用户装备
- 数据库日志记录形状
- 表
- 块(Chunk)
- 块 I/O
- Dbspace
- 锁
- 区段
- SQL 语句缓存统计数据
- 假造措置惩罚器 CPU 使用率
- 系统装备
随着用户拜访和修负数据库效力器打点的数据库,SMI 表中的数据会静态地转变。
拜访 SMI 表
任何用户都可以运用 SQL SELECT
语句查询 SMI 表,可是标准用户不克不及实验 SELECT
之外的其他语句。考试考试这么做会招致权限错误。打点员可以实验 SELECT
之外的其他语句,可是这些语句的结果是无法展望的。
Dynamic Server 供应 sysadtinfo 和 sysaudit 表。只需 UNIX 上的用户 informix 梗概 Windows 上的 Informix-Admin 构成员可以查询 sysadtinfo 和 sysaudit 表。
不克不及在 sysmaster 数据库中的任何表上运用 dbschema
或 dbexport
。如果这样做,数据库效力器会天生上面的错误音讯:
Database has pseudo tables - can't build schema
只需可以对普通表运用 SELECT
语句(DBAccess、SPL 例程、ESQL/C 等),都可以对 SMI 表运用 SELECT
语句,可是有一个限制:在查询 SMI 表时,不克不及引用 rowid。运用 rowid 的 SELECT
语句不会前往错误,但结果是无法展望的。
一切标准的 SQL 语法对 SMI 表都是无效的,搜罗表之间的跟尾、输出的排序等等。例如,如果但愿跟尾一个 SMI 表和一个非 SMI 表,那么用以下标准语法命名 SMI 表:
sysmaster[@dbservername]:[owner.]tablename
示例
方针:列出翻开数据库的用户,以及他们用来跟尾数据库的工作站。
onstat -u
合用按次会呈报哪些用户跟尾到了这个效力器,可是并不呈报他们正在运用哪个数据库以及工作站。Onstat -g ses
会呈报用户和工作站,可是不呈报数据库。Onstat -g sql
会呈报会话 ID 和数据库,可是不呈报用户名和工作站。
清单 3. 示例
QUERY SELECT sysdatabases.name database, syssessions.username, syssessions.hostname, syslocks.owner sid FROM syslocks, sysdatabases, outer syssessions WHERE syslocks.tabname = "sysdatabases" AND syslocks.rowidlk = sysdatabases.rowid AND syslocks.owner = syssessions.sid; OUTPUT database stores_demo username informix hostname istation1 sid 27 database sysmaster username informix hostname istation1 sid 29
版权声明: 原创作品,允许转载,转载时请务必以超链接体式格局标明文章 原始出处 、作者信息和本声明。不然将清查法令责任。