INFORMIX应急手册.docx

上传人:b****2 文档编号:12632969 上传时间:2023-04-21 格式:DOCX 页数:15 大小:33.21KB
下载 相关 举报
INFORMIX应急手册.docx_第1页
第1页 / 共15页
INFORMIX应急手册.docx_第2页
第2页 / 共15页
INFORMIX应急手册.docx_第3页
第3页 / 共15页
INFORMIX应急手册.docx_第4页
第4页 / 共15页
INFORMIX应急手册.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

INFORMIX应急手册.docx

《INFORMIX应急手册.docx》由会员分享,可在线阅读,更多相关《INFORMIX应急手册.docx(15页珍藏版)》请在冰豆网上搜索。

INFORMIX应急手册.docx

INFORMIX应急手册

产品名称Productname

文档密级Confidentialitylevel

综合智能网(UIN)

内部公开

产品版本Productversion

Total9pages共9页

INFORMIX应急手册

(仅供内部使用)

Forinternaluseonly

拟制:

Preparedby

陈胜平26652

日期:

Date

2004-09-06

审核:

Reviewedby

UIN维优组

日期:

Date

2004-09-06

审核:

Reviewedby

日期:

Date

yyyy-mm-dd

批准:

Grantedby

赵晓东

日期:

Date

yyyy-mm-dd

华为技术有限公司

HuaweiTechnologiesCo.,Ltd.

版权所有XX

Allrightsreserved

修订记录Revisionrecord

日期

Date

修订版本Revisionversion

修改描述

changeDescription

作者

Author

2004-09-06

1.00

初稿完成initialtransmittal

陈胜平

yyyy-mm-dd

1.01

修改XXXrevisedxxx

作者名name

yyyy-mm-dd

1.02

修改XXXrevisedxxx

作者名name

……

……

……

……

yyyy-mm-dd

2.00

修改XXXrevisedxxx

作者名name

目录TableofContents

表目录ListofTables

图目录ListofFigures

INFORMIX应急手册

关键词Keywords:

INFORMIX,双机,应急处理

摘要Abstract:

本文提供网上INFORMIX故障处理的应急手册

缩略语清单Listofabbreviations:

<对本文所用缩略语进行说明,要求提供每个缩略语的英文全名和中文解释。

Describeabbreviationsinthisdocument,fullspellingoftheabbreviationandChineseexplanationshouldbeprovided.>

Abbreviations缩略语

Fullspelling英文全名

Chineseexplanation中文解释

1目的

INFORMIX数据库是综合智能网(UIN)网上设备的主要外购件,是综合智能网最主要的支撑软件,其稳定性和可靠性关系到UIN设备的可用性。

在网上问题中,INFORMIX问题所占的比重很大,数据库一旦出现问题,业务将中断。

当INFORMIX出现问题,如果不能快速定位问题,不能收集到有用的信息供以后定位分析,不能快速恢复业务运行,轻则影响了我司智能网的声誉,影响了智能业务的发展,重则造成局方索赔,给我司造成经济损失。

本INFORMIX应急手册主要规范处理INFORMIX问题的操作步骤,提供网上案例供定位问题时参考,以达到快速定位问题,快速恢复业务运行,保证数据完整,方便问题分析的目的。

本INFORMIX应急手册适用于IIN平台的SCP系统。

2应急操作指南

2.1收集信息

2.1.1收集informix数据

当INFORMIX数据库出现问题时,首先要收集当前的数据库状态信息,这有助于问题定位分析。

请务必执行这步操作。

以informix用户登录执行:

首先查看数据库是否启动。

%onstat–

如果启动,则执行下列命令收集信息。

%onstat-a>onstat.a(该命令相当于onstat-cuskbtdlp)

%onstat-gall>onstat.gall(打印所有多线程信息)

%onstat-gstkall>onstat.gstk(打印所有多线程的堆栈信息)

%onstat-oshmem.dump(将当前共享内存段的副本存储到指定的文件中。

新产生的文件可以作为以后onstat命令的输入,共以后使用)

注意:

保存INFORMIX的共享内存副本时,需要确认文件系统的空间是否足够。

首先看共享内存的大小

%onstat–

InformixDynamicServerVersion7.31.UD6W5--On-Line--Up2days23:

54:

59--651392Kbytes

然后看文件系统的大小。

%df–k

2.1.2收集系统数据

当数据库出现问题时,还需要收集CPU、磁盘IO、网络、进程等信息。

以root用户登录执行:

#sar-u210>cpu.txt

#sar-b210>buf.txt

#sar-v210>prof.txt

#sar-d210>io.txt

#ps–ef>proc.txt

#ipcs-o>ipc.txt

2.1.3脚本

可以使用下列脚本收集数据

使用方法:

以root用户登录执行。

注意:

此脚本没有包含onstat–oshmem.dump命令,需手工执行此命令。

对于SUN或HP机型,手工执行top命令,并把输出结果粘贴出来(重定向会乱码)

#top

对于IBM机型,手工执行topas命令,并把输出结果粘贴出来(重定向会乱码)

#topas

2.2关闭和启动数据库的顺序

如果没有硬件错误,只是纯软件问题,收集好了信息以后,就可以通过重启应用来解决问题,这样可快速恢复业务。

在重启应用之前,还要检查清楚系统的当前状态。

操作思路如下:

●首先要顺序关闭备机的cluster、spy.sh、SCP、INFORMIX。

这样当关闭主机的SCP时,才不会切换到备机。

因为此时备机可能处于异常状态。

●然后顺序关闭主机的cluster、spy.sh、SCP、INFORMIX。

●启动的顺序同关闭的顺序相反。

先顺序启动主机的INFORMIX、SCP、cluster。

当主机正常并对外提供服务后,再顺序拉起备机的INFORMIX、SCP、cluster。

2.3检查系统状态

2.3.1检查系统运行状况

用topas或top命令,查看系统运行情况。

主要关注进程的CPU占用率、磁盘IO、交换区的使用情况、网络情况。

#topas

2.3.2确认哪台机器是主机

对于DR方式的数据库,确认数据库发生问题前哪台机器处于Primary非常重要。

可以从下面几个方面来确认主用状态。

1.看是否存在share_ip

#netstat-i

2.双机日志

编辑spy.log双机日志,寻找”Dualsystemmode”关键词,看看双机最后稳定在哪个状态。

May2423:

14:

21-Node"iinscp2":

Dualsystemmode=primary.

May2423:

25:

26-Node"iinscp1":

Dualsystemmode=standby.

primary表示Node“iinscp2”在23:

14分启动后成为主机

standby表示Node“iinscp1”在23:

25分启动后成为备机。

3.SCP的日志

编辑manager_0.log文件,查看最后出现的下列关键字。

[20:

19:

39][DS1]Prompt:

DSTATE1:

createdualsocketserversuccessfully,fd=30

DSTATE1关键字表明此台SCP处于DSTATE1,即主用,并且与备机的SCP已经建立Socket连接。

[20:

08:

29][DS2]Prompt:

AuxconnecttoMain(ip=10.164.20.190)successfully.

AuxconnecttoMain关键字表明此台SCP为备机,处于DS2即DSTATE2

4.数据库日志

编辑online.log文件,查看在最后一次启动后是否存在下列关键字。

17:

49:

27DR:

Primaryserveroperational

这表明数据库启动后为On-Line(prim)状态

18:

20:

45DR:

Secondaryserveroperational

这表明数据库启动后为Read-Only(sec)状态

5.数据库的保留页

数据库的保留页记录了数据库最后的DR状态。

%oncheck-pr

DRCkptLogicalLogId4122

DRCkptLogicalLogPos0xe018

DRLastLogicalLogId4122

DRLastLogicalLogPage14

DRLastModeChange5Primarydetectederror

这说明此台数据库在关闭前处于Primary状态。

%oncheck-pr

DRCkptLogicalLogId4121

DRCkptLogicalLogPos0x508e018

DRLastLogicalLogId4122

DRLastLogicalLogPage4

DRLastModeChange8Secondarymode

这说明此台数据库在关闭前处于Secondary状态。

2.3.3检查是否存在硬件错误

检查硬件状态,可以定位出磁盘是否存在问题。

如果磁盘出现问题,数据库的恢复将变得很复杂,甚至没法拉起INFORMIX数据库。

如果没有出现硬件错误,则可以通过重启数据库,快速恢复业务。

对于IBM机型,执行:

#errpt

对于HP机型,执行:

#dmesg

#vi/var/adm/syslog/syslog.log

对于SUN机型,执行:

#dmesg

#vi/var/adm/messages

2.3.4检查双机状态

IIN平台的双机脚本控制着INFORMIX、SCP等程序的启动和关闭,不正确的操作顺序将会影响双机状态的异常,从而导致数据库的DR异常。

检查的主要项目有:

●spy.sh是否启动,如果启动是处于Primary状态还是standby状态。

●share_ip绑定到哪台主机

●数据库是否启动,如果启动是处于primary状态还是Secondary状态

●SCP应用是否启动,如果启动是处于DSTAT1还是DSTAT2

当INFORMIX数据库出现异常时,必须先顺序关闭备机的cluster、spy.sh、INFORMIX、SCP。

这样当关闭主机的SCP应用时异常后,就不会反复切换,数据库DR也不会反复切换。

2.3.5检查INFORMIX日志

查看online.log日志文件,初步定位informix异常的原因,例如是否断言错误。

3常见INFORMIX问题

3.1数据库的oninit进程CPU占用率过高

3.1.1现象

●topas或top命令显示,oninit进程的CPU占用率过高

●电话接续率降低

3.1.2紧急处理方法

收集信息后查找出现问题的SQL语句。

可能的原因有两个:

1.SQL语句没有用到索引,存在性能问题

2.索引损坏

3.1.3处理步骤

1.通过onstat–gses命令,看是否存在外部应用操作数据库。

如果存在,则用onstat–gsql语句查看外部应用的SQL语句,分析SQL语句是否存在性能问题。

2.如果是业务SQL语句导致,用下列SQL语句查找seqscans次数很多的数据表,此表可能存在性能问题。

用onstat-gsql查找对此表进行访问的SQL语句。

dbaccesssysmaster<

selectdbsname,tabname,(isreads+pagreads)diskreads,bufreads,seqscans

fromsysptprof

where(isreads+pagreads)>5000

orderbydiskreadsdesc;

selectdbsname,tabname,(iswrites+pagwrites)diskwrites,bufwrites

fromsysptprof

where(iswrites+pagwrites)>5000

orderbydiskwritesdesc;

!

3.2主备机的数据库都处于On-Line(Prim)状态

3.2.1现象

●主机的INFORMIX都处于On-Line(Prim)状态

●备机的INFORMIX都处于On-Line(Prim)状态

●业务中断

3.2.2紧急处理方法

收集信息后重启主备机INFORMIX。

如果HDR不能够自动建立,则不要启动备机。

3.2.3处理步骤

1.首先检查网络是否存在问题。

如果不存在网络问题,则要定位出出现问题之前哪个数据库处于主用状态,哪个数据库处于备用状态。

2.关闭数据库处于备用状态的机器的cluster、spy.sh、SCP、INFORMIX。

3.关闭数据库处于主用状态的机器的cluster、spy.sh、SCP、INFORMIX。

4.启动主机的INFORMIX、SCP、cluster.

5.启动备机的INFORMIX、SCP、cluster.

3.3备机数据库处于Fast-Recovery状态

3.3.1现象

●备用数据库处于Fast-Recovery状态,长时间不能切换到Read-Only(Sec)状态。

●主用数据库正常,处于On-Line(Prim)状态

●业务正常

3.3.2紧急处理方法

收集信息后关闭备用数据库后重启备用数据库

3.3.3处理步骤

1.检查主用数据库库是否存在dr_prsend线索。

%onstat-gath|grepdr

如果存在,重启备用数据库可以解决问题。

2.检查主备用数据库的dr关系是否存在

%onstat-gdri

InformixDynamicServerVersion7.31.UC5--FastRecovery(Sec)--Up00:

10:

28--25110

4Kbytes

DataReplication:

TypeStatePairedserverLastDRCKPT(id/pg)

secondaryoffscp_online2_net4121/20622

DRINTERVAL1

DRTIMEOUT60

DRAUTO2

DRLOSTFOUND/opt/informix/etc/dr.lostfound

State为off这说明DR关系已经断开;为on说明DR关系还存在,重启备用数据库可以解决

3.检查主备机的当前逻辑日志是否一致。

如果主机的uniqid小于备机的uniqid,则需重做DR。

%onstat-l

InformixDynamicServerVersion7.31.UD6W5--On-Line--Up1days23:

25:

07--667776Kbytes

PhysicalLogging

Bufferbufusedbufsizenumpagesnumwritspages/io

P-201660415.00

phybeginphysizephyposphyused%used

300035250001152600.00

LogicalLogging

Bufferbufusedbufsizenumrecsnumpagesnumwritsrecs/pagespages/io

L-3016189807932060091296292.115.9

SubsystemnumrecsLogSpaceused

OLDRSAM18980793835609200

addressnumberflagsuniqidbeginsizeused%used

30ffef041U-B----51236f1d2500025000100.00

30ffef202U---C-L5222abcd250002459298.37

30ffef3c3U-B----43230d752500025000100.00

30ffef584U-B----442000352500025000100.00

30ffef745U-B----452061dd2500025000100.00

30ffef906U-B----4620c3852500025000100.00

30ffefac7U-B----4721252d2500025000100.00

30ffefc88U-B----482186d52500025000100.00

30ffefe49U-B----4921e87d2500025000100.00

30fff00010U-B----50224a252500025000100.00

 

4.检查备机是否在读写磁盘。

%onstat-Dr2

InformixDynamicServerVersion7.31.UD6W5--On-Line--Up1days23:

15:

54--667776Kbytes

Dbspaces

addressnumberflagsfchunknchunksflagsownername

600561501111Ninformixrootdbs

60056bd02121Ninformixlogdbs

60056c903131Ninformixphydbs

60056d504200141NTinformixtempdbs

60056e105152Ninformixworkdbs

5active,2047maximum

Chunks

addresschk/dbsoffsetpageRdpageWrpathname

60056210111023436/dev/rrootdbslv

600566d02210643206009/dev/rlogdbslv

600567d03310764/dev/rphydbslv

600568d0441033143317/dev/rtempdbslv

600569d055103477845998185/dev/rworkdbslv1

60056ad0651020/dev/rworkdbslv2

6active,2047maximum

如果pageRd和pageWr列会变化,说明正在恢复,需要等待。

如果pageRd和pageWr列在10秒钟内不会变化,说明DR关系已破坏,需重做DR。

3.4数据库启动失败

3.4.1现象

数据库没法启动

3.4.2紧急处理办法

检查配置

检查是否存在oninit进程或INFORMIX的共享内存

检查chunck是否处于DOWN状态

3.4.3处理步骤

1.在online.log日志中检查不能启动的原因;

2.检查数据库对应的设备是否存在,设备的属主和组是否为informix,权限是否为660;

3.检查是否配置了异步IO,尤其是IBM机器;

4.检查onconfig对应的配置参数是否正确。

尤其同设备相关的参数。

5.检查INFORMIXSERVER环境变量、onconfig的DBSERVERNAME参数、sqlhosts配置、/etc/hosts配置、/etc/services配置是否一致。

6.用ipcs命令查看IPC设施情况,如果存在INFORMIX的共享内存,又是启动一个实例,则用ipcrm–m

7.用ps–ef|grepinformix查看informix进程情况.

3.5数据库吊死

3.5.1现象

●数据库状态正常

●业务中断或接续率降低

3.5.2紧急处理方法

重启SCP应用或数据库

3.5.3处理步骤

1.用dbaccess命令测试是否能正常查到业务数据

2.用onstat–p查看数据库状态

3.用onmode–l;onmode–c测试是否能正常做checkpoint操作。

如果上述操作不能正常完成,则需重启数据库。

如果上述操作能正常完成,则需重启SCP应用。

4INFORMIX典型案例集

参考资料清单Listofreference:

请罗列本文档所参考的有关参考文献和相关文档,格式如下:

作者+书名(或杂志、文献、文档)+出版社(或期号、卷号、公司文档编号)+出版日期+起止页码

例如:

[1]D.B.Leeson,“ASimpleModelofFeedbackOscillatorNoiseSpectrum,”Proc.IEEE,pp329-330,February1966(英文文章格式)

[2]D.Wolaver,Phase-LockedLoopCircuitDesign,PrenticeHall,NewJersey,1991(英文书籍格式)

[3]王阳元,奚雪梅等,“薄膜SOI/CMOSSPICE电路模拟”,电子学报,vol.22,No.5,1994(中文文章格式)

[4]郑筠,《MOS存储系统及技术》,科学出版社,1990(中文书籍格式)

[5]XXX,SDXXX用户手册V1.1,基础部文档室,2001/4/26

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1