Informix数据库日常维护脚本
为了提高日常维护IDS的效率,特提供以下脚本供大家参考。
检查各个dbspaces的空间使用状况:
select name dbspace,sum(chksize) allocated,sum(nfree) free,round(((sum(chksize)-sum(nfree))/sum(chksize))*100)||"%" pcused
form sysdbspaces d,syschunks c
where d.dbsnum=c.dbsnum group by name order by 4 desc
剩余空间肯定是越大越好了
显示各个dbspaces的I/O状况:
select d.name,fname path_name,sum(pagesread) diskreads,sum(pageswritten) diskwrites
from syschkio c,syschunks k,sysdbspaces d
where d.dbsnum=k.dbsnum and k.chknum=c.chunknum
group by 1,2 order by 3 desc
根据各个dbspaces的I/O来调整表的布局,使整个系统I/O均衡
检查哪个表具有最多的磁盘I/0:
select dbsname, tabname, (isreads + pagreads) diskreads, (iswrites + pagwrites) diskwrites
from sysptprof
order by 3 desc,4 desc
同上。
检查表的extent的分布状况:
select t.tabname, count(*) num_ext
from sysextents e, npmdb:systables t
where e.tabname=t.tabname
and dbsname = "npmdb"
and t.tabname not like "sys%"
group by 1
having count(*) > 1
order by 2 desc
表的extent建议最大不超过30个,如果太大,就需要重建表修改extent size的大小从而修改extent的数量
检查表中索引的层数(越少越好):
select idxname, levels from sysindexes order by 2 desc
检查命中率不高的索引(nrows和unique越接近越好):
select tabname, idxname, nrows, nunique
from systables t, sysindexes I
where t.tabid =i.tabid and t.tabid > 99
and nrows > 0 and nunique > 0
当索引的效率不高的时候,需要根据实际情况修改
看数据库里面那些表的碎片比较多(碎片小比较好)
select dbsname , tabname ,count(*), sum(size)
from sysextents
group by 1,2
order by 3 desc;
表和索引的读写情况,(考查那个数据库实体读写比较多)
select dbsname, tabname, (isreads + pagreads) diskreads, (iswrites + pagwrites)
diskwrites
from sysptprof
order by 3 desc, 4 desc
那些表的锁竞争比较厉害(越小越好)
select a.tabname,nrows,lockwts,deadlks
from sysmaster:sysptprof a,systables b
where a.tabname=b.tabname and lockwts>0
and a.dbsname = name
and b.tabid >= 100
order by tabname;
表的顺序扫描数(OLTP系统的话,大表的顺序扫描数越小越好)
select a.tabname,nrows,seqscans
from sysmaster:sysptprof a,systables b
where a.tabname=b.tabname and seqscans>0
and a.dbsname = '库名'
and b.tabid>=100
order by tabname;
查看informix数据库表占用空间大小情况:
在sysmaster数据库中查询表systabnames,sysptnext。其中systabnames.partnum=sysptnext.pe_partnum.执行以下sql:
select tabname,sum(pe_size) from systabnames,sysptnext
where partnum=pe_partnum
and tabname='table_name'--(table_name为要查询的表名)
group by tabname
(注:查询结果中pe_size的值,单位IBM是4k,HP-UX是2k)
用onstat查是那个线程在干的,然后再分析。
我是用onstat -u查看到锁数的。
用onstat -g ses 找出session id
再用onstat -g sql session id查看它在做什么。
update statistics for table temp_user;
分享到:
相关推荐
3. **INFORMIX日常维护方法**:涵盖了数据库监控、备份恢复、性能调优等方面的操作。 #### 六、总结 通过以上内容的学习,我们可以了解到INFORMIX作为一款高性能的关系型数据库管理系统,在数据管理方面有着独特的...
- **掌握INFORMIX日常维护方法:** 学习如何进行常规的数据库维护操作。 #### 二、数据库原理 **1.1 数据库系统的组成** 数据库系统(Database System, DBS)是一种用于高效组织和存取大量数据的管理系统,主要由...
5. **Informix 日常维护方法** - 日常维护包括数据库性能调优、安全设置、权限管理、数据备份与恢复策略等。 - 数据库管理员 (DBA) 的职责涵盖了数据库的安装、升级、用户和权限管理、数据库设计、性能监控、数据...
这份指南涵盖了数据库日常操作、备份恢复、性能优化以及故障处理等多个关键领域,对于准备进行INFORMIX数据库相关考试的人员来说,具有极高的参考价值。 在数据库维护方面,首要任务是保存好INFORMIX的关键系统信息...
INFORMIX数据库维护指南(二)提供了关于数据库管理和维护的详细解答,涵盖了多个关键主题,以下是对这些知识点的深入解析: 1. **获取技术支持**:遇到问题时,可以通过官方渠道如电话、邮件或在线支持平台联系...
Informix提供了一系列工具,如onstat、onmode等,帮助管理员进行日常维护。 9. **集群与复制技术**:Informix支持高可用性集群和数据复制,如Informix Extreme Replication (XR),能够实现数据的实时同步和故障切换...
同时,我们还会涉及数据库的日常维护任务,包括备份、恢复、性能监控和问题排查。 本教程通过理论结合实践的方式,逐步引导读者了解并掌握Informix数据库系统。无论你是数据库新手还是寻求深化Informix知识的专业...
日常维护包括但不限于数据库健康检查、磁盘空间管理、日志文件管理和安全审计等。 - **Informix的ODBC配置** ODBC(Open Database Connectivity)是一种标准的应用程序接口(API),用于访问关系型数据库管理系统...
《Informix数据库培训教材之一:Informix系统管理员指南》是一份深入探讨Informix数据库管理系统的专业教程,由IBM公司提供,旨在帮助用户掌握Informix在OLTP(在线事务处理)环境中的高效运营与维护。本教材针对的...
"INFORMIX的监控和管理命令.pdf"列出了Informix数据库提供的各种监控和管理命令,这些命令可以帮助管理员实时查看数据库状态、监控性能、调整参数以及执行其他维护任务。了解并熟练使用这些命令,对于数据库的日常...
这个指南可能涵盖了关系模型、范式理论、索引创建和表分区等主题,帮助读者创建高效、易维护的数据库结构。 10. **IBM Informix SQL教程指南**: 作为初学者的教程,此文档可能以易于理解的方式介绍Informix SQL的...
日常维护涉及性能调优、安全检查、补丁升级等一系列活动,而ODBC配置则是连接不同数据库系统的重要桥梁,确保了数据访问的兼容性和灵活性。 #### 三、应用开发与SQL优化 在应用开发领域,SQL及其扩展如ESQL/C扮演...
通过 DBAccess,用户可以更轻松地进行日常数据库维护和管理任务。 4. **优化**: 数据库优化是确保高效性能的关键。这包括索引优化、查询优化和服务器配置优化。索引可以加速数据检索,但需要合理设计以避免写入...
《Informix维护宝典》是关于...理解并应用这些知识,对于处理数据库故障、优化性能以及进行日常维护都至关重要。在实际工作中,还需要结合具体环境和需求,灵活运用这些命令,以满足不同场景下的数据库管理需求。
本指南涵盖了从安装配置到日常运维的各个层面,对于想要深入理解和掌握Informix管理的读者来说,具有极高的参考价值。 首先,让我们来探讨Informix的核心概念。 Informix数据库系统基于关系数据模型,支持SQL语言,...
- **系统管理员**:负责系统的安装、配置和日常维护。 - **开发人员**:利用 Informix 进行应用程序开发。 - **数据库管理员**:负责数据库的管理与优化。 #### 相关阅读 - **Informix Dynamic Server ...
此管理员指南是IBM为Informix数据库管理员提供的一份详尽参考资料,旨在帮助用户深入理解Informix的管理、配置、性能优化以及日常维护等方面的知识。 **1. Informix 数据库管理系统概述** Informix 数据库系统以其...
CLI 提供了一种快速且轻量级的方式来与 Informix 数据库进行通信,尤其适合系统管理员和开发人员进行日常数据库管理工作。 2. **安装与配置** 在获取 "Informix-CLI.zip" 文件后,首先需要解压并按照提供的安装...