informix数据库性能查看方法

合集下载

informix性能分析方法

informix性能分析方法

informix性能分析方法如果系统中存在长时间占用数据库CPU的SQL,以informix用户执行以下操作可以查找出来。

1、第一步:查询出当前时刻正在执行的会话SXdb% onstat -g ath|grep running //该命令查询出当前时刻正在执行的会话12943 4f2be5a0 50d64e18 2 running 1cpu sqlexec12953 502f24e8 50d6cc18 2 running 3cpu sqlexec12959 4f8548c8 50d84618 2 running 4cpu sqlexec2、第二步:查出正在执行的会话的IDSXdb% onstat -u|grep 50d84618 //该命令通过grep上一个命令结果第三列的值得出以下结果,包含有会话id50d84618 ---PR-- 3359 sxunicom - 0 0 2 15 10243、第三步:查出该会话执行的SQL语句SXdb% onstat -g ses 3359 //该命令通过grep上一个命令结果第三列的值即会话id得出当前会话的详细信息,包含有当前执行的SQL和前次执行的SQLInformix Dynamic Server V ersion 9.30.UC3 -- On-Line -- Up 34 days 01:52:35 -session #RSAM total usedid user tty pid hostname threads memory memory3359 sxunicom - 25807 SXapp 1 61440 45224tid name rstcb flags curstk status12959 sqlexec 50d84618 ---P--- 1648 readyMemory pools count 1name class addr totalsize freesize #allocfrag #freefrag3359 V 4f398020 61440 16216 160 19name free used name free used overhead 0 1648 scb 0 96 opentable 0 5176 filetable 0 936temprec 0 5448 keys 0 448ralloc 0 3072 gentcb 0 1256ostcb 0 2520 sort 0 56sqscb 0 14296 sql 0 40rdahead 0 2464 hashfiletab 0 280osenv 0 1768 sqtcb 0 3136 fragman 0 208Sess SQL Current Iso Lock SQL ISAM F.E.Id Stmt type Database Lvl Mode ERR ERR V ers3359 - sxunicom NL Not Wait 0 0 9.03Last parsed SQL statement :update ALARMINFO set alarmcounter=26,laststarttime='2004-02-01 19:19:59'where alarmobject='0005000300050000' and alarmcause='100000237'SXdb% onstat -g sql 3359Informix Dynamic Server V ersion 9.30.UC3 -- On-Line -- Up 34 days 01:52:46 -Sess SQL Current Iso Lock SQL ISAM F.E.Id Stmt type Database Lvl Mode ERR ERR V ers3359 DELETE sxunicom NL Not Wait 0 0 9.03Current SQL statement :select * from ALARMTEXTDA TA wherealarmnumber='00000000000000000000000000000000000000000000000000000010726852 02'Last parsed SQL statement :select * from ALARMTEXTDA TA wherealarmnumber='00000000000000000000000000000000000000000000000000000010726852 02'通过pid可以找出执行该SQL语句的进程。

Informix数据库(增、删、改、查)操作

Informix数据库(增、删、改、查)操作
isql -s test<<!
> load from文件insert into表
> !
插入数据(注:文件的后缀可以是.txt格式):
[test@datacenter ~]$ vim pet.txt
Clasws|Gwen|cat|m|
~
按<Esc>退出,在Normal模式下输入“:wq”(保存并退出)
> update pet
> set sex='f'
> where n='Fluffy'
> !
查看一下:
[test@datacenter ~]$ isql -s test<<!
> select * from pet
> !
n owner species sex
Fluffy Harold cat f
Clasws Gwen cat
Bowser Gwen dog
3 row(s) retrieved.
更新成功!
> !
1 row(s) deleted.
查看是否被删除:
[test@datacenter ~]$ isql -s test<<!
> select * from pet
> !
name owner species sex
Fluffy Harold cat f
Clasws Gwen cat m
BowserDiane dog m
现在用第三种发放“insert into表名字段values值”插入数据:
[test@datacenter ~]$ isql -s test<<!

Informix 数据库培训教程(下)

Informix 数据库培训教程(下)

第十一章informix_online 动态服务器性能调整所谓性能调整就是平衡时间、空间、资金、可靠性等几个因素之间的关系,使设备达到最好的使用效果。

其中任何一个因素的改变都会影响到其他因素的变动,要想单纯的改变某一个因素是不可能的。

只能尽量地接近而不能超越最优状况下的实际性能。

一、影响性能的主要因素●CPU要素指令执行的时间、处理时间和CPU利用率。

●磁盘要素访问时间●内存要素实际内存需求量、换页率、对换和I/O访问时间。

二、进行性能评测的工具●硬件厂商提供的工具1、time:显示执行一个程序所耗费的时间。

2、vmstat:报告有关进程、内存、磁盘和CPU的统计信息。

3、sar:用来查看系统的实时记录。

●INFORMIX工具1、onstat:列出在命令运行的瞬间Online共享内存结构中的情况。

2、oncheck:用于修复磁盘中受到破坏的索引和数据页,还可用于监测Online系统磁盘上的其它数据结构。

三、性能调整的几个方面●合理的磁盘布局1.磁盘布局的目标是平衡所有设备的I/O操作!2.确定磁盘布局的步骤◆检查应用的SQL以决定I/O的频繁程度1、vmstat --g iof (对已使用的数据库)2、检查应用(对未使用的数据库)◆找出使用最频繁的表◆确定online系统可使用的磁盘资源◆决定如何在磁盘间分布I/O3.如何进行磁盘布局◆分割的种类1、表的分割2、索引的分割◆分割的方式1、基于表达式方式分割特点:数据的存取是不均匀分布的、查询的选择性很强、基于列的某个条件的查询可以消除某些分片的查询。

2、基于循环方式分割特点:数据的均匀分布、最高的数据可用性、没有了对表达式进行求值的过程从而可得到最高的数据装载效率。

◆数据分割的原则1、对DSS重点是数据的分割2、对OLTP重点是索引的分割3、对顺序扫描读的表采用循环方式进行分割4、分割表达式应尽量简单、5、尽量将最可能满足的表达式放在前面6、避免在表达式中有类型转换操作7、不要针对经常改变的字段进行分割◆Chunk 的影响Chunk加到系统中的顺序也会影响系统的性能。

informix_数据库检查项_v1

informix_数据库检查项_v1

序号检查类检查命令1表空间SELECT name dbspace,SUM(chksize) allocated,sum(nfree) free, ROUND(((SUM(chksize)-SUM(nfree))/SUM(chksize))*100)||"%" pcused FROM sysdbspaces d,syschunks cWHERE d.dbsnum=c.dbsnum GROUP BY name ORDER BY 4 DESC;2表空间SELECT ,fname path_name,SUM(pagesread) diskreads,SUM(pageswritten) diskwritesFROM syschkio c,syschunks k,sysdbspaces d WHERE d.dbsnum=k.dbsnum AND k.chknum=c.chunknum GROUP BY 1,2 ORDER BY 3 DESC;3表性能SELECT dbsname, tabname, (isreads + pagreads) diskreads, (iswrites + pagwrites) diskwritesFROM sysptprofORDER BY 3 DESC,4 DESC;4表性能SELECT t.tabname, COUNT(*) num_extFROM sysextents e, npmdb:systables tWHERE e.tabname=t.tabname AND dbsname = "npmdb" AND t.tabname NOT LIKE "sys%"GROUP BY 1 HAVING count(*) > 1ORDER BY 2 DESC;5表性能SELECT idxname, levels FROM sysindexes ORDER BY 2 DESC;6表性能SELECT tabname, idxname, nrows, nunique FROM systables t, sysindexes IWHERE t.tabid =i.tabid AND t.tabid > 99 AND nrows > 0 and nunique > 07表性能SELECT b.tabname,b.partnum,COUNT(c.pe_size) ext_cnt,SUM(c.pe_size) page_cnt FROM npmdb:systables a ,sysptprof b, sysptnext c WHERE a.tabid>100 AND a.tabname =b.tabnameAND b.partnum = c.pe_partnum AND b.dbsname[1,3]<>'sys' AND b.tabname[1,3]<>'sys'GROUP BY 1,2ORDER BY 4 DESC8表性能SELECT a.tabname,nrows,lockwts,deadlks FROM sysmaster:sysptprof a,systables b WHERE a.tabname=b.tabname AND lockwts>0 AND a.dbsname = "npmdb"AND b.tabid >= 100ORDER BY tabname;9表性能SELECT a.tabname,nrows,seqscansFROM sysmaster:sysptprof a,systables b WHERE a.tabname=b.tabname AND seqscans>0 AND a.dbsname = 'npmdb'AND b.tabid>=100ORDER BY tabname;检查内容参考值说明通过SQL在sysmaster数据库,获取每个表空间的基本使用信息。

Informix数据库常用命令介绍

Informix数据库常用命令介绍

华为产品维护资料汇编 TELLIN智能网维护资料数据库基础知识目录目录第1章 Informix数据库常用命令介绍 (1)1.1 概述 (1)1.1.1 oninit (1)1.1.2 dbexport (2)1.1.3 dbimport (4)1.1.4 dbload (5)1.1.5 dbschema (7)1.1.6 oncheck (8)1.1.7 onload (9)1.1.8 onlog (10)1.1.9 onmode (11)1.1.10 onparams (13)1.1.11 onspaces (13)1.1.12 onstat (14)1.1.13 ontape (19)1.1.14 onunload (21)第1章 Informix数据库常用命令介绍1.1 概述Informix数据库服务器提供了在shell提示符下直接执行管理任务功能的应用程序。

列出这些应用程序:表1-1提示符下直接执行管理任务功能的应用程序以下对这些应用程序逐一简要说明。

1.1.2 oninit1. 功能说明oninit 应用程序用于改变系统的运行模式。

数据库有六种工作模式,它们是:离线(off-line)不运行状态●静模式(quiescent)在此模式下,用户不能连接到数据库,但可用onstat等命令查看数据库信息●在线(on-line)数据库运行状态●只读(read-only)只能读数据库但不能写●恢复(recovery)是一种临时状态,存在于从离线模式到静模式之间●关闭(shutdown)是一种临时状态,存在于从在线模式到静模式或离线模式oninit命令将在离线(off-line)状态的数据库启动为在线(on-line)模式,并初始化共享内存(shared memory),在作初始化之前,应先设置环境变量INFORMIXSERVER,否则数据库不建立sysmaster表,必须以root或informix注册才能执行本命令,本命令不但能初始化共享内存,还能初始化磁盘空间。

informix数据库常用命令

informix数据库常用命令

informix数据库常用命令一、onstat命令集1、onstat -说明:查看数据库当前的状态用法:onstat -2、onstat -c说明:查看数据库的配置文件用法:onstat -c3、onstat -d说明:查看数据库空间的使用情况用法:onstat -d4、onstat -l说明:查看数据库逻辑日志的备份情况及逻辑日志的状态用法:onstat -l5、onstat -m说明:查看最近的数据库日志信息用法:onstat -m6、onstat -g sql说明:查看数据库的所有客户端的连接情况用法:onstat -g sql7、onstat -g sql <sid>说明:查看一个指定的客户端连接执行的SQL语句用法:onstat -g sql <sid>二、oncheck命令集1、oncheck -cc [数据库名]说明:检查一个或所有的数据库的系统目录用法:oncheck -cc [数据库名]2、oncheck -cD 数据库名[:表名]说明:检查一个数据库或数据库中的一个表的数据用法:oncheck -cD 数据库名[:表名]3、oncheck -cI 数据库名[:表名]说明:检查一个数据库或数据库中的一个表的索引用法:oncheck -cI 数据库名[:表名]4、oncheck -pt 数据库名:表名说明:检查一个表所占用的空间大小(EXTENT数)用法:oncheck -pt 数据库名:表名三、备份相关命令1、onbar说明:备份数据库的数据或日志到磁带库中用法:全备份: onbar -b -w -L 0备份逻辑日志:onbar -b -l2、dbschema说明:生成数据库的库表结构用法:整个数据库:dbschema -d 数据库名 -ss 脚本文件名一个数据库中的表:dbschema -d 数据库名 -t 表名 -ss 脚本文件名3、dbexport说明:手工备份一个数据库到磁盘中用法:dbexport -ss 数据库名四、其他命令1、oninit说明:启动一个数据库服务器用法:oninit2、onmode -ky说明:停止一个数据库服务器用法:onmode -ky3、onmode -z <sid>说明:停止一个数据库的客户端连接(SESSION)用法:onmode -z <sid>1. dbexport将数据库以ASCII方式下载。

检查Informix数据库extents

检查Informix数据库extents

怎么判断exents是否已满为什么extents会有个数限制每个表的表空间都一个partnum的描述页用来记录表的相关信息,页大小因为空间页大小的不同而不同,hp、linux默认为2k,aix默认4k,这个描述页除了描述表的相关信息外,有一个区域用来跟踪表extents信息,每个extents需要8byte来跟踪,所以每个表最大的能分配的extents数目为pagesize/8,当然,实际比这个会稍小些,因为该页还需要空间来记录表的其他信息对于2k页大小,一般220到230个会满对于4k页,一般480到490会满查询大于200个extents的表或索引unload to tabext.unlselect dbsname dbname,tabname,partnum,dbinfo('dbspace',partnum) dbsname,ti_nextns extentsfrom systabnames t,systabinfo iwhere t.partnum=i.ti_partnumand i.ti_nextns>200order by ti_nextns desc;查询结果:dbname|tabname|partnum|dbsname|extents|datacenter|f_reducefee|8390354|datadbs|488|datacenter|szia_veh_case|8401984|datadbs|488|snapdb_502010002|reinsurance|8389377|datadbs|487|datacenter|mm_messageerror|8390272|datadbs|485|datacenter|mm_writeout_to|8390279|datadbs|438|datacenter|charge|8390190|datadbs|390|szcpic_dw|pol_team|8397092|datadbs|389|datacenter|chargedeal|8393985|datadbs|354|manainfo|sz_fcxbdqd|8400241|datadbs|335|manainfo|ev_bonusdtl|8400775|datadbs|311|datacenter|b_datamovebak|8398109|datadbs|309|manainfo|paydtl|8389133|datadbs|300|manainfo|sz_profit_qdpol|8389577|datadbs|287|datacenter|mm_datacenter_bak|8389258|datadbs|274|manainfo|t_directrewardlist|8390839|datadbs|237|datacenter|taxdetail|8400065|datadbs|208|manainfo|sz_t_plc|8396259|datadbs|203|manainfo|idx_ev_bonusdtl|8400779|datadbs|201|因为是4k页大小,480个以上的表应该加强关注了,通过查看表空间是否存在可用页和表空间描述页是否存在空余空间来描述extents来确定表extents是否已满,需要立即重建通过oncheck –pt datacenter: f_reducefee确定表空间描述页的物理地址和表空间是否存在可用页oncheck -pt datacenter:f_reducefee | moreTBLspace Report for datacenter:informix.f_reducefeePhysical Address 11:707094(表空间描述页物理地址)//7.3版本为16进制,后五位为页偏移量Creation date 10/20/2008 10:56:10TBLspace Flags 801 Page LockingTBLspace use 4 bit bit-maps Maximum row size 124Number of special columns 0Number of keys 0Number of extents 488Current serial value 1First extent size 8Next extent size 16777215Number of pages allocated 59750Number of pages used 59750Number of data pages 14438Number of rows 447549Partition partnum 8390354Partition lockid 8390354可见,该表空间分配了59750页,已使用59750页,需要分配新的extent来扩充页才能有新的可用页判断表空间描述页是否存在空间来跟踪分配新的extentsOncheck –pP 11 707094(打印表空间描述页)前两行:addr stamp chksum nslots flag type frptr frcnt next prev 11:707094 -1178302356 fbbf 5 802 PARTN 4072 00 0可见free count为0,表空间描述页已没有可用空间,不能再分配extents,需重建该表并指定合适的extent size和next size,对于11.5版本,也可使用其新功能对表extents进行重整,但不建议操作,若该值不为0,则可再分配extents数目为frcnt/8个刘凡梁2012-10-9。

informix数据库的查询优化技术

informix数据库的查询优化技术

informix数据库的查询优化技术1.合理使用索引索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率。

现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构。

索引的使用要恰到好处,其使用原则如下:●在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引。

●在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引。

●在条件表达式中经常用到的不同值较多的列上建立检索,在不同值少的列上不要建立索引。

比如在雇员表的“性别”列上只有“男”与“女”两个不同值,因此就无必要建立索引。

如果建立索引不但不会提高查询效率,反而会严重降低更新速度。

●如果待排序的列有多个,可以在这些列上建立复合索引(compound index)。

●使用系统工具。

如Informix数据库有一个tbcheck工具,可以在可疑的索引上进行检查。

在一些数据库服务器上,索引可能失效或者因为频繁操作而使得读取效率降低,如果一个使用索引的查询不明不白地慢下来,可以试着用tbcheck工具检查索引的完整性,必要时进行修复。

另外,当数据库表更新大量数据后,删除并重建索引可以提高查询速度。

2.避免或简化排序应当简化或避免对大型表进行重复的排序。

当能够利用索引自动以适当的次序产生输出时,优化器就避免了排序的步骤。

以下是一些影响因素:●索引中不包括一个或几个待排序的列;●group by或order by子句中列的次序与索引的次序不一样;●排序的列来自不同的表。

为了避免不必要的排序,就要正确地增建索引,合理地合并数据库表(尽管有时可能影响表的规范化,但相对于效率的提高是值得的)。

如果排序不可避免,那么应当试图简化它,如缩小排序的列的范围等。

3.消除对大型表行数据的顺序存取在嵌套查询中,对表的顺序存取对查询效率可能产生致命的影响。

比如采用顺序存取策略,一个嵌套3层的查询,如果每层都查询1000行,那么这个查询就要查询10亿行数据。

影响Informix数据库性能的主要参数...

影响Informix数据库性能的主要参数...

影响Informix数据库性能的主要参数...影响CPU使用率的配置参数和环境变量Online 配置文件onconfig中的下列参数对CPU的利用率有明显的影响:NUMCPUVPSSINGLE_CPU_VPMULTIPROCESSORAFF_NPROCSAFF_SPROCNUMAIOVPSOPTCOMPANDNETTYPENUMCPUVPS、MULTIPROCESSOR和SINGL_CPU_VPNUMCPUVPS参数规定了Online 开始启动的CPU VP的数量。

分配的CPU VP的个数不要超过可以为它们服务的CPU的个数。

对于单处理器的计算机系统,Informix 建议使用一个CPU VP。

对于有4个以上CPU,主要用做数据库服务器的多处理器系统,Informix 建议设置NUMCPUVPS的值等于处理器总数减一。

对于双处理器系统,运行两个CPU VP可能会改善性能。

这需要监控操作系统的CPU使用情况。

可以使用操作系统命令sar 或vmstat。

如果运行多个CPU VP,应将MULTIPROCESSOR 设置为1,当设置MULTIPROCESSOR为1时,Online 以对应于多处理器的方式执行锁定。

否则,设置该参数为0。

注意:如果设置SINGLE_CPU_VP参数为,则NUMCPUVPS 参数的值也必须是1,如果后者大于1,Online就不能初始化并显示下面的错误信息:Cannot have 'SINGLE_CPU_VP' now-zero and 'NUMCPUVPS'greater than 1AFF_NPROCS 和 AFF_SPROC在支持Online和客户应用的系统上,可以通过操作系统把应用连接到某些特定的CPU。

这样做可以有效地保留剩余的CPU给Online CPU VP使用,它们是用AFF--NPROCES和AFF_SPROC配置参数连接到剩余CPU的。

informix的性能优化(之一)数据库教程-电脑资料

informix的性能优化(之一)数据库教程-电脑资料

informix的性能优化(之一)数据库教程-电脑资料性能|优化informix的性能优化(一)作者: CCBZZP以下是我用INFORMIX DATABASE的一點体會,分享給大家,歡迎大家一起探討!1. 日志緩沖如果不怕丟失几個事務則最好用緩沖日志,這樣可以得到更好的性能.如果數据安全性很重要,則最好用非緩沖日志.2. DSS SERVER的优化有三個目標:1>. 總查詢通過量最大化可以將ONCONFIG文件中的PDQPRIORITY設置限制小于25%2>. 每個查詢處理時間最小化可以將ONCONFIG文件中的PDQPRIORITY設置限制大于50%3>. 平衡优先級可以將ONCONFIG文件中的PDQPRIORITY設置限制大于25%,小于50%3. OLTP SERVER的优化有三個目標:1>. 更新活動通過量最大化使用緩沖日志將檢驗點間隔最大化,周期最小化可以將ONCONFIG文件中的PDQPRIORITY設置限制為0增加物理日志長度最大化寫入緩沖百分比其實以上的目標也是會矛盾的,關鍵在于如何取舍.2>. 查詢活動通過量最大化最大化BUFFERS可以將ONCONFIG文件中的PDQPRIORITY設置為0或1最大化讀取緩沖百分比3>. 事務安全最大化最小化CKPTINTVL使用非緩沖日志使用冗余磁盤和I/O路徑減少物理日志長度4. 簡單查詢SERVER的优化有三個目標:最大化BUFFERS,它一般>=40%RAM可以將ONCONFIG文件中的PDQPRIORITY設置<25%5. 內存問題INFORMIX可以使用的內存是不限制的,給多少用多少,下面以IDS7.X為例:緩沖區最多 768000 PAGES (OS 3GBW/4KB)DSS內存最多1G鎖最多8000000邏輯日志緩沖區 3個 LOGSIZE最大2G, TOTAL 6G物理日志緩沖區 2個 PHYSFILE最大2G, TOTAL 4G數据字典緩沖區沒有限制,可以調整參數DD_HASHSIZE 和 DD_HASHMAXonstat -g dic确定數据字典緩沖區是否接近容量存儲過程緩沖區沒有限制,可以調整參數PC_HASHSIZE和PC_POOLSIZEonstat -g prc确定存儲過程緩沖區是否接近容量數据分布緩沖區可以調整參數DS_HASHSIZE和DS_POOLSIZE onstat -g dsc确定數据分布緩沖區是否接近容量6. 磁盤問題磁盤是越多越好的多些驅動器比大的驅動器好采取RAID磁盤陣列7. 內核限制不同的OS有不同的內核,這是可以調整的.8. 內存參數onstat -g seg确定共享內存分配和查詢內存分區SHMVIRTSIZE确保最低正常負荷內存,如果消息日志文件中表示動態新共享內存的消息很多,則要增加此參數的數值.SHMADD至少應為SHMVIRTSIZE的10%SHMTOTAL除非很小的系統,否則社為0讓內存增長.9. 分塊表和大量區域用oncheck -pt 和 oncheck -pe檢查表的區域數及其在磁盤上的布局一般說表格超過33個區域系統比較慢,可以壓縮表格來解決1>. 刪除表格重建並重新裝入數据2>. 重新創建索引3>. 將表和索引放在不同的DBSPACE歡迎大家一起探討!待續...。

Informix数据库性能常见问题典型情况浅析

Informix数据库性能常见问题典型情况浅析

Informix数据库性能常见问题典型情况浅析张生成(酒泉职业技术学院,甘肃酒泉735000)摘要:数据库配置安装完成投入运行后。

数据库运行的性能就成为数据库管理人员(DBA)的一个重要任务。

根据教学过程中对Informix数据库的使用,总结出了一些常见性问题的处理经验,希望能和大家共同交流。

关键词:日常信息;处理思路;代价信息TP311.13:A:1672-7800(2010)04-0169-021平时的信息收集和维护工作为了更好地处理可能出现的性能问题,需要在乎时就注意积累操作系统、数据库的日常运行信息,这样可以了解系统的运行特点和基本负荷变化情况,当数据库出现性能问题的时候,这些都是非常有用的信息。

收集Infonxix数据库的日常信息,最简单的可以仅观察onstat-p的输出结果,和数据库性能相关的主要是读缓存率(第一个%cached)、写缓存率(第二个%cached)、顺序扫描数(seqscans)。

读缓存率不应该低于90%,否则就应该关注顺序扫描数,找出经常被顺序扫描的大表,创建相应索引或修改应用SQL,必要时还需要增加数据库BUFFERS。

写缓存率通常不应该低于85%,不过由于受到应用写库的方式和LRU设置的影响,稍微低一些也可以接受。

数据库日志中记录的检查点持续时间(checkpoint durationtime)也需要关注,性能良好的实例中,该值不超过3秒。

在日常维护时,注意定期收集数据库的统计信息(update statistics),如果担心库太大,在业务空闲期间无法完成,至少应该对变化比较频繁的大表针对索引中的第一个字段收集统计信息,语法:update statistics for table mytab(coll);当性能问题出现后,可以按如下步骤来定位问题:首先应该利用操作系统命令查看一下当时操作系统状态:CPU/IO/SWAP,是否和平时差别很大;查看操作系统日志是否最近有异常报错;检查数据库日志,看看是否有断言错误(Assert Failed),是否有数据库内部错误发生,数据库的检查点持续时间相比平常是否有显著增加。

informix数据库性能查看方法

informix数据库性能查看方法

informix数据库性能查看方法1、相关环境变量游标的定义和优化A. 优化使用游标B.export PTOFC=1 减少cursor的通信量C. 自动释放游标D. 资源SET AUTOFREE...ENABLEDexport IFX_AUTOFREE=1E. 优化fetch游标F.set FET_BUF_SIZE = 32k启动KAIO参数export KAIOON=1需要重新启动数据库启动PDQ参数A. 环境变量:export PDQPRIORITY=80B. SQL语句中设置:set PDQPRIORITY=80C. 并行扫描线程数:export PSORT_NPROCS=0(缺省的3个)或要启动的个数,D. 不E. 设不F. 启动。

G. 启动 light scan方法:export LIGHT_SCANS=forceH. ONCON FIG参数:MAX_PDQPRIORITYDS_MAX_QUERIESDS_TOTAL_MEMORYDS_MAX_SCANSDBSPACETEMPRA_PAGESRA_THRESHOLDG. 管理监控方法$ onstat -g mgm动态改变ONCONFIG中缺省设置方法$ onmde -M (DS_TOTAL_MEMORY) / -Q (DS_MAX_QUERIES) / -D (MAX_PDQPRIORITY) / -S (DS_MAX_SCANS)启动SQL缓存方法ONCONFIG参数STMT_CACHE :0=disabled ; 1=Enabled, Session off ; 2=Enabled, Session on ;STMT_CACHE_SIZE 缺省为72K或设置的大小环境变量在ONCONFIG中STMT_CACHE > 0时export STMT_CACHE:0=disabled ; 1=enabledSQL语句set STMT_CACHE {ON / OFF}动态onmode方法$ onmode –e {ENABLE|ON|OFF|FLUSH}管理方法$ onstat -g cac stmt调试方法export STMT_CACHE_DEBUG={1|2}:/tmp/file.out停止FUZZY Checkpoint方法export NOFUZZYCKPT=1缺省是fuzzy checkpoint,但发以下命令产生全checkpoint:$ onmode -ky$ onmode -c$ ontape / onbar 备份或恢复fast recovery 或 full recovery收集数据库故障分析方法若数据库down,查看数据库日志,查找/tmp/af.xxx文件得到详细信息若数据库没有出现任何详细的信息,则需要下次故障后通过以下方法收集信息:A. export AFDEBUG=1 (at command line before starting engine - oninit)This environment variable causes OnLine to hang rather than crash when an assertion failure error is detected.B. When an assertion failure occurs, check the online log todetermine what process is hanging. At the time of an assertion failure, type onstat -m to view the log.C. Once the online engine suspends, you can run several onstat commands against the instance:onstat -uonstat -g athonstat -g stsonstat -g gloonstat -g stk thread idonstat -g ses session idonstat -g segonstat -g memThese are all helpful in reviewing the shared memory at that instance in time.D. In order to use a debugger against the process id, you can attach manually using the following command:i.e. sdb $INFORMIXDIR/bin/oninit PIDE. Below is a sample:example $ export AFDEBUG=1example $ oninit.........example $ onstat -m07:20:18 checkpoint completed: duration 13 seconds07:22:20 bsession.c, line 861, thread 2854, procid 4975,(destroy_session) mem pools not freed.07:22:22 invoke_debugger:execlp error 207:22:22 execlp(,,,4975,0);07:22:22 oninit pid 4975 can be attached to manuallymachine:/sdb $INFORMIXDIR/bin/oninit PIDsome debuggers: (sdb, xdb, dbx, gdb)F. The stack trace will tell what functions the oninit called before the assertion failure.G. When you are done, bring down the engine with onmode -ky and unset the AFDEBUG environment variable. If that doesn't bring the engine down, you may need to issue a kill -9 on the master oninit process and run ipcs to ensure shared memory is erased.数据库性能监控方法2、主要工具 onstat 、oncheck 、SMI接口、onperf(x-window 界面)、sar、top、vmstat、iostat3、监控的主要内容包括以下部分:l cpu(确定数据库的CPU资源配置是否足够)参数:NUMCPUVPS检查CPU VP资源是否足够的方法$ onstat –ionstat > r 1onstat (1) > rea查看是否有等待处理的线程onstat(1) > act查看数据库CPU VP正在处理的线程$ onstat –g glo 可以看到oninit的进程情况l 内存(确定数据库内存的分配是否足够)参数:BUFFERS、SHMVIRTSIZE、LOCKS、LRUS查看数据库是否使用内存正常:$ onstat -p是否有ovbuff$ onstat -m查看是否有动态增加的虚拟内存查看数据库的内存分配情况$ onstat -g seg$ ipcs -m查看连接的session内存分配情况$ onstat -g ses对于内存分配大的用户session,需要分析其原因查看内存LRU管理情况$ onstat -Rl 磁盘的读写、数据表的分布情况(检查数据的分布是否合理,l 消除I/O瓶颈)查看数据库chunk分布情况和使用空间是否足够$ onstat -d查看数据库chunk的读写情况$ onstat -D$ onstat -g iof查看AIO的队列情况$ onstat -g ioqmaxlen太长的情况需要调整NUMAIOS数据查看tbspace的读写情况$ onstat -g ppf检查数据表在chunk分布的拓扑情况$ oncheck -pe检查数据库表的详细情况,包括记录数、记录长度、碎片数据、索引层次等信息$ oncheck -pt stores:customer如以上得到数据显示表customer 的partition partnum为1048891$ oncheck -pp 1048891 0 可以查看customer数据的分布情况以下命令检查表数据或索引是否正常$ oncheck -cDI database:tablel 网络的读写情况(检查数据库网络的配置是否正常有效)参数:NETTYPE和sqlhosts配置的方法$ onstat -g ath查看相关的poll监听线程是否启动$ onstat -g ntd查看接收和拒绝的次数$ onstat -g ntu查看用户启动的sqlexec线程读写的情况$ netstat -a看连接监听的端口是否有效l 检查用户SQL语句是否正常$ onstat -u 查看用户连接ID号$ onstat -g ses id 查看用户的内存分配情况、用户启动的线程数、用户是否用到临时表空间$ onstat -g sql id 查看用户的SQL语句和执行结果是否有错误$ onstat -k 查看用户的使用锁情况$ onstat -x 查看用户的事物处理情况$ onmoe -z id 杀掉不正常的用户session相关的参数衡量指标4、读写的命中率$ onstat –pdskreads pagereads bufreads %cached dskwrits pagwrits bufwrits %cached450 1083 1893 97.62 586 1217 8076 92.74查看参数读的命中率98%以上,调整 BUFFERS写的命中率85%以上,调整LRUS , LRU_MAX_DIRTY , LRUS_MIN_DIRTY , CKPTINTVL , PHYSLOG5、内存LRU的管理$ onstat -R$ onstat -FFg Writes LRU Writes Chunk Writes11 318 201调整:LRU_MAX_DIRTYLRU_MIN_DIRTYLRUS控制在checkpoint时的写的数据页数(BUFFERS / LRUS) * LRU_MAX_DIRTY 时checkpoint时写的最大数据量6、 checkpoint的时间$ onstat -m$ onstat -g iof$ onstat -D调整写盘数据量(同2,调整LRU方法)调整数据的分布情况,分布在不同的disk driver上7、物理日志和逻辑日志缓冲区的利用率$ onstat -lPhysical LoggingBuffer bufused bufsize numpages numwrits pages/ioP-1 0 16 265 21 12.62phybegin physize phypos phyused #used100107 1000 266 0 0.00Logical LoggingBuffer bufused bufsize numrecs numpages numwritsrecs/pages pages/ioL-2 0 16 6766 394 28 17.2 14.1...调整目标是将日志的buffer利用率调整为(pages/io)/bufzise = %75的比例调整参数phybuff / logbuff ,比%75小,减小phybuff、logbuff;比%75大,调大8、预读的性能$ onstat -p调整目标将 (ixda-RA + idx-RA + da-RA) = RA-pgsused调整参数:RA_PAGES 和 RA_THRESHOLD其他提高数据库性能的方法9、使用常用表长驻内存set table table_name memory_resident | no_resident ;$ onstat -P 查看10、 SQL语句进行词法预分析方法set explain on ;执行相应的SQL语句检查当前目录下的sqexplain.out文件分析词法优化器使用的路径是否合理分析执行的效率方法$ time dbaccess airgen_cm_db sel_cnt.sqlDatabase selected.(sum)11562151 row(s) retrieved.Database closed.real 0m0.12suser 0m0.05ssys 0m0.01s11、表不12、带日志方法将表的索引、以及constrain等条件全部删除后,执行以下SQL 语句alter table table_name type (raw|standard)13、使用Informix最快的数据转移工具HPL倒数据$ onpladm 命令行方式定义数据库表的输出或输入关系文档参考$INFORMIXDIR/release/en_us/0333/onpladm/index.html$ onpladm create project stores7 -d /tmp/stores7 -D stores7 建立所有的load和unload数据到onpload数据库中$ onpladm run project stores7 –fu 将数据库stores7数据unload出来$ onpladm run project stores7 –fl 将数据库stores7数据load 入$ onpload 执行命令14、 update statistics的原则以下情况后要运行update statistics :à data is loaded into a table,à updates significantly change the distribution of data values contained in a column,à deletes or inserts change the number of rows contained in a tableà in dexes on the table are added or altered.执行原则:1. Run UPDATE STATISTICS MEDIUM... DISTRIBUTIONS ONLY.2. Run UPDATE STATISTICS HIGH for the first column in each index.3. Run UPDATE STATISTICS HIGH for the first column that differentiates two similar indexes.4. If necessary, run UPDATE STATISTICS HIGH for columns which do not head indexes, but are used in equality or inequality expressions.5. Run UPDATE STATISTICS FOR PROCEDURE for each procedure.与ONCONFIG 参数DBSPACETEMP 和 PDQRIORITY一起使用15、检查备16、份磁带是否成功的工具$ archecker -R -tvs-b Direct XBSA access-D Delete old files and EXIT-d Delete old files-F Retrieve list of pages off the archive-P Read Performance - info only-R Restart the checking-s Print status message to the screen-t Read the tape directly-T Restart at a specific tape-v Verbose-V Version>首页 | 论坛 | Linux | 博客 | 下载 | 人才 | 培训 | WIKI | 手册 | 图书| 搜索/doc/0318884587.html, ? Informix ? Informix动态服务器命令集2003-1-9 12:17 大梦Informix动态服务器命令集[这个贴子最后由大梦在 2003/01/09 01:34pm 编辑]Informix动态服务器命令集操纵动态服务器的运行模式管理动态服务器系统的数据空间管理逻辑日志和物理日志利用onstat命令监控动态服务器系统oninit 命令语法 oninit [-s] [-i] [-p] [-y]oninit 将系统从off-line模式变为on-line模式oninit -s 将系统从off-line模式变为quiescent模式oninit -i 初始化系统oninit -p 在共享内存初始化时,不搜索,删除临时表oninit -y 对提示自动回答yesoninit -- 键入此命令可以获得使用帮助oninit 命令用来改变系统的运行模式。

Informix数据库参数设置说明

Informix数据库参数设置说明

Informix数据库参数设置说明
本说明从INFORMIX数据库的认证授权功能、安全日志功能,和其他自身安全配置功能提出安全要求。

1.账号
INFORMIX应提供账号管理及认证授权功能,并应满足以下各项要求。

编号:安全要求-设备-INFORMIX-配置-1
编号:安全要求-设备-INFORMIX-配置-2
2.口令
编号:安全要求-设备-INFORMIX-配置-4
编号:安全要求-设备-INFORMIX-配置-5
编号:安全要求-设备-INFORMIX-配置-29-可选
编号:安全要求-设备-INFORMIX-配置-6-可选
编号:安全要求-设备-INFORMIX-配置-7-可选
3.授权
编号:安全要求-设备-INFORMIX-配置-9
4.日志
编号:安全要求-设备-INFORMIX-配置-12
编号:安全要求-设备-INFORMIX-配置-28
5.其他
编号:安全要求-设备-INFORMIX-配置-36-可选
编号:安全要求-设备-INFORMIX-配置-37-可选。

Informix数据库常用操作命令

Informix数据库常用操作命令

Informix数据库常用操作命令Unix系统及数据库常用操作命令oninit 数据库启动onmode -ky 数据库关闭onstat -l 查看逻辑日志使用情况ontape -c 连续备份逻辑日志onstat -g iof 查看每个chunk 的I/O 情况onstat -g mem 查看数据库内存的情况onstat -d 查看数据库chunk 的使用情况ontape -s -L 0 数据库0 级备份dbimport <database> -d <dbspace> -i <dir> 数据恢复(硬盘)dbexport <database> -o <dir> 数据备份(硬盘)update staistics (high) (low) 数据库数据抽样统计ontape -r 数据恢复(磁带)onstat -c 配置情况onstat - 数据库状态信息ps –ef |grep cmcld 查看MC/Service Guard 进程cmviewcl 查看MC/Service Guard 运行情况cmruncl [ f ] 启动群集cmhaltcl [ -f ] 终止群集cmrunnode node 启动群集中的一个结点例:# cmrunnode HPK460-1 cmhaltnode mode 终止群集中的一个结点例:# cmhaltnode HPK460-1 cmrunpkg -n node pkg 在节点node 上运行pkg 包例:# cmrunpkg -n HPK460-1 pkg1 cmhaltpkg -n node pkg 在节点node 上终止运行pkg 包例:# cmhaltpkg -n HPK460-1 pkg1 cmmodpkg -e -n node pkg 允许在节点node 上运行pkg 包例:# cmmodpkg -e -n HPK460-1 pkg1cmmodpkg -d -n node pkg 禁止在节点node 上运行pkg 包例:# cmmodpkg -d -n HPK460-1 pkg1cm 系列命令,均可附加参数“-v”,以冗余模式显示执行结果;参数“-f”表示强制执行而忽略错误警告。

Informix常用监控命令和维护工作

Informix常用监控命令和维护工作

Informix常用监控命令和维护工作一、监控工具onstat命令介绍onstat是由informix提供的监控工具,可查看数据库运行的各个方面的信息,下面介绍一些常用的onstat命令:onstat –p 这个命令用来查看数据库运行的整体状况,其中主要注意一下读写命中率、deadlock个数、seqscan数、预读状况的相关数据。

onstat –l 查看逻辑日志和物理日志使用状况,以及逻辑日志的备份状况,备份过的逻辑日志都会有U—B的状态,如果出现很多逻辑日志都是U——的状态,说明逻辑日志备份出了问题,必须尽快处理。

onstat –d 查看数据库空间使用状况,需要注意一个是chunk的状态有无是PD的,这表明chunk处于down状态,需要特别处理,另外可以根据chunk的free值统计dbspace空间使用状况,以及时做好扩容准备。

onstat –u 查看数据库的连接数以及每个数据库连接的读写量,可用来查找占用资源较多的用户连接。

onstat –k 查看数据库锁的使用状况,可在发生锁表的情况下使用,以寻找锁表的session。

onstat –m 查看数据库消息日志的情况。

onstat –g sql sid查看某特定sesssion正在执行的sql语句,可用来分析sql执行的效率。

onstat –g dri 查看HDR的状态。

onstat还有很多选项,可通过onstat -- 看到所有的选项及相关说明。

●SMI(System-Monitoring Interface)表Informix提供了一系列SMI表供用户查询数据库运行状况,这些表都位于sysmaster数据库中,可通过sql进行查询,下面介绍一些常用的SMI表Sysdatabases,systabnames:存放所有的database和table的信息。

Sysprofile:存放onstat –p看到的信息的对应数据Sysdbspaces,syschunks:存放dbspace和chunk的信息。

informix数据库性能分析常用命令

informix数据库性能分析常用命令
--查询数据库实例基本运行情况的 SQL
dbaccess sysmaster
select
dbinfo('UTC_TO_DATETIME',sh_boottime) start_time,
current year to second - dbinfo('UTC_TO_DATETIME',sh_boottime) run_time,
END as dbstype,
CASE WHEN bitval(B.flags,'0x4')>0 THEN 'Disabled'
WHEN bitand(B.flags,3584)>0 THEN 'Recovering'
ELSE 'Operational'
--关闭 SQLTRACE 功能
echo ' execute function sysadmin:task("SET SQL TRACING OFF"); ' | dbaccess sysadmin
--顺序扫描的 SQL
select distinct sql_statement
sqx_sqlstatement
from sysmaster:syssqexplain
where 1=1
order by sqx_estcost desc;
--打开 SQLTRACE 跟踪 SQL
echo 'execute function task ("set sql tracing on",100000, "1k", "low","portalcms1");' | dbaccess sysadwtlock) as lockwaits,

Informix数据库性能常见问题典型情况浅析

Informix数据库性能常见问题典型情况浅析
该 低 于 8 % ,不 过 由 于 受 到 应 用 写 库 的 方 式 和 L U 设 置 的 影 5 R 响 , 微低 一些 也 可以接 受 。 稍
数 据库 进 程 占用 了大 量 C U资 源 时 ,往往 是 在对 大 表做 P 全 表扫 描 。 找出 问题 S L的办法 如下 : 执行 o s tgat Q 先 nt — c 得到 a 当前 正在 运行 的 slxc线 程 , 根据 该 线程 的 地址信 息 。 qee 再 利用 o s tU得 到 其 ssi nt — a es n信 息 ,最 后根 据 o s tgsl 到 当前 o n t — q 得 a
摘 要 : 据 库 配 置 安 装 完 成 投 入 运 行 后 , 据 库 运 行 的 性 能 就 成 为 数 据 库 管理 人 员 ( B 的 一 个 重 要 任 务 。根 据 数 数 D A)
教 学过 程 中对 Ifr x数 据库 的使 用 , 结 出 了一 些常 见性 问题 的 处理 经验 , 望能 和大 家共 同交流 。 nomi 总 希
第 9 第4 卷 期
2 1年 4 00 月
软 件 导 刊
So t r . NO. 9
Ap , 01 t2 0
If r x数 据库性 能常见 问题典型情况浅析 no mi
张 生 成
( 酒泉职 业技 术 学院 , 肃 酒 泉 7 5 0 ) 甘 3 0 0
法 :p aes t t s o bemy tb c l) u d t t i i r al a sc f t a (o1 ;
_
正在 执行 的 S L Q 。具体 示 例如 下 ( 方便 阅读 , 出略 有 改动 , 为 输
增加 了含 义行 , 除 了无关 信 息 ) 删 :

Informix数据库性能调整

Informix数据库性能调整

Informix数据库性能调整数据库性能调整原则数据库性能调整是数据库应用中的重要问题,它可以使数据库系统运行在最佳状态。

进行性能调整时,应认真观察系统中所有的环节,选择合适的工具来监控系统和采集数据,同时应遵循一些原则。

其中应观察的环节包括:监控对性能有很大影响的系统资源的使用状况;确定影响这些资源的数据库活动;监控数据库系统的用户活动。

性能调整应遵守以下原则:考虑全局,修改局部进行数据库性能调整时需要排除无关因素的干扰,找到关键问题。

例如:系统管理员在做调整时往往会先看一下硬件系统的统计数据,如CPU利用率、I/O活动状况和页化(pa ging),初试者往往会被某个数据所迷惑(如高频度的磁盘活动) 而决定通过提高硬件的性能来解决问题,如添置新设备。

实际上高频度的磁盘活动有可能是由于对数据采用了不正确扫描方式或数据库系统额外的开销造成的,此时通过建立索引或调整数据库系统本身就有可能解决这个问题,其费用远远小于购买硬件。

消除瓶颈在计算机系统中,处理不当就极易产生瓶颈效应,严重影响系统的性能,因此消除瓶颈是性能调整的一个重要内容。

瓶颈现象可以用交通堵塞来类比。

交通堵塞通常是由于大部分车辆必需通过一狭窄的道路或多股车道的车辆合并到一股车道,瓶颈效应也是类似, 要根据不同的原因来选择不同的方法。

对于第一种原因,可以采取提高部分环节性能的方法来解决;而对于后一种则要采取分割的方法,即把负载分给多个环节,以减轻某个环节的负担。

分割分为空间、资源和时间三种方式。

但要注意,分割并不一定提高性能。

总的来讲,消除瓶颈的方法有:平衡系统资源上的负载;调整数据库服务器的配置;调整用户的数据配置;调整OLTP查询和DSS查询所需资源的分配。

调整客户心态进行数据库性能调整时应首先把客户的心态调整到一个合理的程度。

因为在系统性能很差时,客户非常希望通过专业人员所作的性能调整迅速提高现有系统性能,对性能调整抱有很大希望且心情急切,所以有必要对客户解释清楚调整的目的及其效果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
G. 启动 light scan方法:export LIGHT_SCANS=force
H. ONCON FIG参数:
MAX_PDQPRIORITY
DS_MAX_QUERIES
DS_TOTAL_MEMORY
DS_MAX_SCANS
DBSPACETEMP
RA_PAGES
RA_THRESHOLD
6、 checkpoint的时间
$ onstat -m
$ onstat -g iof
$ onstat -D
调整写盘数据量(同2,调整LRU方法)
调整数据的分布情况,分布在不同的disk driver上
7、 物理日志和逻辑日志缓冲区的利用率
$ onstat -l
Physical Logging
Buffer bufused bufsize numpages numwrits pages/io
P-1 0 16 265 21 12.62
phybegin physize phypos phyused #used
100107 1000 266 0 0.00
Logical Logging
Buffer bufused bufsize numrecs numpages numwrits recs/pages pages/io
查看内存LRU管理情况
$ onstat -R
l 磁盘的读写、数据表的分布情况(检查数据的分布是否合理,l 消除I/O瓶颈)
查看数据库chunk分布情况和使用空间是否足够
$ onstat -d
查看数据库chunk的读写情况
$ onstat -D
$ onstat -g iof
查看AIO的队列情况
determine what process is hanging. At the time of an assertion failure, type onstat -m to view the log.
C. Once the online engine suspends, you can run several onstat commands against the instance:
收集数据库故障分析方法
若数据库down,查看数据库日志,查找/tmp/af.xxx文件得到详细信息
若数据库没有出现任何详细的信息,则需要下次故障后通过以下方法收集信息:
A. export AFDEBUG=1 (at command line before starting engine - oninit)
$ onstat -g ioq
maxlen太长的情况需要调整NUMAIOS数据
查看tbspace的读写情况
$ onstat -g ppf
检查数据表在chunk分布的拓扑情况
$ oncheck -pe
检查数据库表的详细情况,包括记录数、记录长度、碎片数据、索引层次等信息
$ oncheck -pt stores:customer
example $ export AFDEBUG=1
example $ oninit
.........
example $ onstat -m
07:20:18 checkpoint completed: duration 13 seconds
07:22:20 bsession.c, line 861, thread 2854, procid 4975,
启动KAIO参数
export KAIOON=1
需要重新启动数据库
80
B. SQL语句中设置:set PDQPRIORITY=80
C. 并行扫描线程数:export PSORT_NPROCS=0(缺省的3个)或要启动的个数,D. 不E. 设不F. 启动。
1、 相关环境变量
游标的定义和优化
A. 优化使用游标B.
export PTOFC=1 减少cursor的通信量
C. 自动释放游标D. 资源
SET AUTOFREE...ENABLED
export IFX_AUTOFREE=1
E. 优化fetch游标F.
set FET_BUF_SIZE = 32k
数据库性能监控方法
2、 主要工具 onstat 、oncheck 、SMI接口、onperf(x-window界面)、sar、top、vmstat、iostat
3、 监控的主要内容包括以下部分:
l cpu(确定数据库的CPU资源配置是否足够)
参数:NUMCPUVPS
检查CPU VP资源是否足够的方法
machine:/sdb $INFORMIXDIR/bin/oninit PID
some debuggers: (sdb, xdb, dbx, gdb)
F. The stack trace will tell what functions the oninit called before the assertion failure.
SQL语句
set STMT_CACHE {ON / OFF}
动态onmode方法
$ onmode –e {ENABLE|ON|OFF|FLUSH}
管理方法
$ onstat -g cac stmt
调试方法
export STMT_CACHE_DEBUG={1|2}:/tmp/file.out
参数:NETTYPE和sqlhosts配置的方法
$ onstat -g ath
查看相关的poll监听线程是否启动
$ onstat -g ntd
查看接收和拒绝的次数
$ onstat -g ntu
查看用户启动的sqlexec线程读写的情况
$ netstat -a
看连接监听的端口是否有效
D. In order to use a debugger against the process id, you can attach manually using the following command:
i.e. sdb $INFORMIXDIR/bin/oninit PID
E. Below is a sample:
$ onstat –i
onstat > r 1
onstat (1) > rea
查看是否有等待处理的线程
onstat(1) > act
查看数据库CPU VP正在处理的线程
$ onstat –g glo 可以看到oninit的进程情况
l 内存(确定数据库内存的分配是否足够)
参数:BUFFERS、SHMVIRTSIZE、LOCKS、LRUS
如以上得到数据显示表customer 的partition partnum为1048891
$ oncheck -pp 1048891 0 可以查看customer数据的分布情况
以下命令检查表数据或索引是否正常
$ oncheck -cDI database:table
l 网络的读写情况(检查数据库网络的配置是否正常有效)
查看数据库是否使用内存正常:
$ onstat -p
是否有ovbuff
$ onstat -m
查看是否有动态增加的虚拟内存
查看数据库的内存分配情况
$ onstat -g seg
$ ipcs -m
查看连接的session内存分配情况
$ onstat -g ses
对于内存分配大的用户session,需要分析其原因
$ onstat -x 查看用户的事物处理情况
$ onmoe -z id 杀掉不正常的用户session
相关的参数衡量指标
4、 读写的命中率
$ onstat –p
dskreads pagereads bufreads %cached dskwrits pagwrits bufwrits %cached
$ onstat -R
$ onstat -F
Fg Writes LRU Writes Chunk Writes
11 318 201
调整:
LRU_MAX_DIRTY
LRU_MIN_DIRTY
LRUS
控制在checkpoint时的写的数据页数
(BUFFERS / LRUS) * LRU_MAX_DIRTY 时checkpoint时写的最大数据量
停止FUZZY Checkpoint方法
export NOFUZZYCKPT=1
缺省是fuzzy checkpoint,但发以下命令产生全checkpoint:
$ onmode -ky
$ onmode -c
$ ontape / onbar 备份或恢复
fast recovery 或 full recovery
This environment variable causes OnLine to hang rather than crash when an assertion failure error is detected.
B. When an assertion failure occurs, check the online log to
450 1083 1893 97.62 586 1217 8076 92.74
查看参数读的命中率98%以上,调整 BUFFERS
写的命中率85%以上,调整LRUS , LRU_MAX_DIRTY , LRUS_MIN_DIRTY , CKPTINTVL , PHYSLOG
相关文档
最新文档