文档详情

Informix 系统表监控和优化数据库.docx

发布:2017-02-03约1.6万字共20页下载文档
文本预览下载声明
Informix 系统表监控和优化数据库简介:大多数 Informix 使用者都会使用onstat,oncheck等命令的方式来监控 Informix 数据库的运行情况,从而确定数据库优化方案。但这种方法存在一些难度,需要多个命令输出综合考虑,才能得出结论。本文从另外一个角度--SQL 语句,通过 SQL 语句查询系统表的方式,返回综合的、有组织性的、有实际数据根据的信息。DBA 根据本文可以直接找到系统性能问题,从而进行快速有效的优化,同时可以根据这些有效的数据完成数据库优化过程的报告文档。Informix 数据库系统字典表简介Informix 数据库服务器运行时的状态信息是数据库管理员 DBA 进行系统监控和优化的必需信息来源。Informix 的状态信息在内部以 2 种方式存在,如图 1 所示,一部分是存在于 Informix 运行的共享内存中,这部分信息在数据库关闭后,其信息将自动消失,只是一个内存信息,我们称为内存表,如:sysbufpool,sysvpprof,sysprofile等。另外一部分是以 Informix 物理字典表的方式存储,如:systables,sysindex。Informix 数据库系统字典表是用来访问这 2 个部分的内部信息的一个接口,可以通过 SQL 语句查询 Informix 系统运行的动态情况。图 1. Informix 系统表接口示意图从另外一个视角来理解 Informix 系统表,就是从系统的组成数据库来看。如图 2 所示,主要包括 3 个数据库:sysmaster,sysadmin和用户数据库。其中sysmaster是最重要的系统数据库,该数据库保存实例 (Instance) 级别的系统信息,如实例运行的总体信息,所有的表等。sysadmin是一个管理系统数据库,主要用来管理 Informix 系统管理相关的信息,如可以通过该数据库可以定义 Informix 的任务调度器等。用户数据库,就是用户定义用来存储用户数据的数据库,每个用户数据库都包含有数据库 (Database) 级别的系统表,如systables等。图 2. Informix 系统表数据库组成示意图Informix 系统字典表的结构及含义详细解释:也可以直接访问 IBM Informix 在线文档,URL 如下:/infocenter/idshelp/v117/index.jsp?topic=/com.ibm.adref.doc/ids_adr_0210.htm 文档中对每一个系统表的每一个字段的含义有详尽的说明。回页首常用系统表监控 SQL 及查询结果的诊断与分析本节以 Informix 数据库监控和优化的方法和分析主题为单位,提供具体访问 Informix 系统表来监控数据库运行状态的 SQL 语句,对 SQL 返回的结果进行分析,提出数据库优化建议。DBA 可以根据本节内容就可以掌握如何使用 Informix 系统表进行数据库的监控和性能优化。注意:本文中所演示用到的用户定义数据库名为demodb,在应用本文提供的 SQL 语句时,需要将数据库名demodb修改为实际的数据库名。1. 数据库实例基本运行状况了解数据库实例的运行信息,如统计信息的起始时间,数据库出现长事务的次数。清单 1. 查询数据库实例基本运行情况的 SQLdbaccesssysmaster select dbinfo(UTC_TO_DATETIME,sh_boottime) start_time, current year to second - dbinfo(UTC_TO_DATETIME,sh_boottime) run_time, sh_maxchunks as maxchunks, sh_maxdbspacesmaxdbspaces, sh_maxuserthreadsmaxuserthreads, sh_maxtransmaxtrans, sh_maxlocks locks, sh_nlrusbuff_lrus, sh_longtxlongtxs, dbinfo(UTC_TO_DATETIME,sh_pfclrtime) onstat_z_running_time from sysmaster:sysshmvals;图 3. 数据库实例基本运行情况查询结果分析:从如上 SQL 语句返回的结果可以得到 Informix 实例如下有用的信息:上一次运行onstat -z 清除统计信息的时间:onstat_z_running_time,该时间可以帮助 DBA 确认当前统计的信息的时间长度,而不需要重新启动数据库,可以通过onstat -z 来清除统计信息从而确认时间间隔内的数据库运行情况。数据库出现长事务的次数:longtxs。另外,我们
显示全部
相似文档