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

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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

文档评论(0)

kakaxi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档