Informix日常维护.doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:3 大小:19KB 金币:14 举报 版权申诉
预览加载中,请您耐心等待几秒...

Informix日常维护.doc

Informix日常维护.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

14 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Informix日常维护Informix数据库日常维护脚本为了提高日常维护IDS的效率,特提供以下脚本供大家参考。检查各个dbspaces的空间使用状况:selectnamedbspace,sum(chksize)allocated,sum(nfree)free,round(((sum(chksize)-sum(nfree))/sum(chksize))*100)||"%"pcusedformsysdbspacesd,syschunkscwhered.dbsnum=c.dbsnumgroupbynameorderby4desc剩余空间肯定是越大越好了显示各个dbspaces的I/O状况:selectd.name,fnamepath_name,sum(pagesread)diskreads,sum(pageswritten)diskwritesfromsyschkioc,syschunksk,sysdbspacesdwhered.dbsnum=k.dbsnumandk.chknum=c.chunknumgroupby1,2orderby3desc根据各个dbspaces的I/O来调整表的布局,使整个系统I/O均衡检查哪个表具有最多的磁盘I/0:selectdbsname,tabname,(isreads+pagreads)diskreads,(iswrites+pagwrites)diskwritesfromsysptproforderby3desc,4desc同上。检查表的extent的分布状况:selectt.tabname,count(*)num_extfromsysextentse,npmdb:systablestwheree.tabname=t.tabnameanddbsname="npmdb"andt.tabnamenotlike"sys%"groupby1havingcount(*)>1orderby2desc表的extent建议最大不超过30个,如果太大,就需要重建表修改extentsize的大小从而修改extent的数量检查表中索引的层数(越少越好):selectidxname,levelsfromsysindexesorderby2desc检查命中率不高的索引(nrows和unique越接近越好):selecttabname,idxname,nrows,nuniquefromsystablest,sysindexesIwheret.tabid=i.tabidandt.tabid>99andnrows>0andnunique>0当索引的效率不高的时候,需要根据实际情况修改看数据库里面那些表的碎片比较多(碎片小比较好)selectdbsname,tabname,count(*),sum(size)fromsysextentsgroupby1,2orderby3desc;表和索引的读写情况,(考查那个数据库实体读写比较多)selectdbsname,tabname,(isreads+pagreads)diskreads,(iswrites+pagwrites)diskwritesfromsysptproforderby3desc,4desc那些表的锁竞争比较厉害(越小越好)selecta.tabname,nrows,lockwts,deadlksfromsysmaster:sysptprofa,systablesbwherea.tabname=b.tabnameandlockwts>0anda.dbsname=nameandb.tabid>=100orderbytabname;表的顺序扫描数(OLTP系统的话,大表的顺序扫描数越小越好)selecta.tabname,nrows,seqscansfromsysmaster:sysptprofa,systablesbwherea.tabname=b.tabnameandseqscans>0anda.dbsname='库名'andb.tabid>=100orderbytabname;查看informix数据库表占用空间大小情况:在sysmaster数据库中查询表systabnames,sysptnext。其中systabnames.partnum=sysptnext.pe_partnum.执行以下sql:selecttabname,sum(pe_size)fromsystabnames,sysptnextwherepartnum=pe_partnumandtabname='table_name'--(tabl