HP小型机数据库故障处理

2016-11-26 06:51
网络安全和信息化 2016年10期
关键词:小型机双机数据库系统

引言:单位2004年购置的HP小型机数据库系统,操作系统为HP-UX,数据库为Oracle 9i,分别由CDCZ和CDFS两台HP小型机和HP1000磁盘柜组成双机共享磁盘柜系统。该系统承载着单位的三个核心业务系统。最近出现三个业务系统不能正常访问故障。本文介绍故障处理过程。

单位有2004年购置的HP小型机数据库系统,操作系统为HPUX,数据库为Oracle 9i,分别由CDCZ和CDFS两台HP小型机和HP1000磁盘柜组成双机共享磁盘柜系统。该系统承载着单位的三个核心业务系统。在12年的运行过程中,基本没有发生过问题。由于HP小型机系统对温度的要求较高,温度在30℃以上就会产生宕机,所以单位中心机房的运行环境保障非常得力,环境温度始终保持在20℃-25℃之间。

故障现象

三个业务系统均不能正常访问,无法单独连接业务系统的核心数据库,确认为核心数据库问题。通过查看数据库服务状态,主机已经无法正常显示出数据库状态。

1.经查看数据库日志,发现CDCZ主机上数据库alert_cdcz.log日志内显示,有错误产生,根据日志查看错误日志内容,主要如下:

(1)oracle/9.2/rdbms/log/cdcz_ora_9286.trc:ORA-07445: 出 现 异 常:核心转储 [kollalo()+208][SIGSEGV] [Invalid permissions for mapped object] [0x000000000] Tue Jul 26 09:25:32 2016 Errors in file

(2)/oracle/9.2/rdbms/log/cdcz_ora_25059.trc:ORA-04030: 在尝试分配8528字 节 (pga heap,ksm stack)时进程内存不足ORA-04030: 在尝试分配32840 字节 (pga heap,ksm stack) 时进程内存不足Tue Jul 26 10:57:31 2016 Errors in file /oracle/9.2/rdbms/log/cdcz_ora_26977.trc: ORA-04030: out of process memory when trying to allocate

(3)locat ASYNC_CONFIG配置错误

2.通过top命令查看到系统内存剩余为50MB左右,说明系统内存消耗过高,对数据库影响非常大。

3.通过swapinfo -atm命令查看到系统对虚拟内存使用率非常高,导致数据库对用户的请求响应变慢。

4.综合以上信息并在Oracle官方网站查询资料后初步判断:

(1)ORA-07445错误为Oracle数据库软件的Bug,需要通过对数据库打补丁包来修正这个错误,也可以找出诱发这个错误的应用语句,通过优化语句避免触发这个错误的发生。

(2)ORA-04030错 误,为CDCZ这台主机内核参数设置问题,可以通过调整内核参数来修正这个错误,主机一共有大约50项可调整参数,因为这个错误不是时刻发生,经过调整后的效果还需要观察。ASYNC_CONFIG,也是由于这个错误引起的。

故障处理及分析

CDCZ主机因为数据库已经导致宕机,主机速度非常慢,故将这台主机操作系统重新启动,启动后没有加载数据库,剩余内存量为6.9GB。

CDFS主机也有部分内存泄漏,故也将这台主机重新启动,启动后剩余内存6.9GB,启动数据库后剩余内存3GB。

使用命令:cmruncl -fv重新启动群集,数据库正常启动,应用恢复正常。

1.将两台数据库主机重新启动后,加载Oracle数据库服务,数据库运行正常,同时三个业务系统也恢复正常。

2.目前,Oracle数据库服务加载在CDCZ主机上,数据库启动完毕后剩余内存为3GB左右,启动完毕等各项业务均连接至数据库,内存骤减至1GB左右,经查为三个业务系统中的一个业务消耗了大量内存和连接。

图1 系统在CDCZ上运行状态

图2 将数据库切换至主机CDFS上运行状况

3.本次调整了CDCZ主机上部分内核参数,调整后的效果还需要进一步的观察,因为引起数据库宕机故障不是非常频繁的发生,所以观察需要一定的时间。同时根据故障现象,小型机内存运行已严重不足,计划在一个月内将小型机主机内存扩充至16GB。

4.目前系统运行在CDCZ上,运行的状态如图1所示。

通过上面运行状态记录可以看到,目前这个PKG1显示enabled是允许切换的。如果发生切换,会将数据库切换至主机CDFS上运行,状态如图2所示。

通过上面运行状态记录可以看到,这个时候PKG1显示disabled是不允许切换的,需要手动将这个模式更改过来。操作如下:

(1)以root用户登录到数据库运行的主机上。

(2) 用 cmviewcl命令查看群集运行状态,如果AUTO_RUN状态为disabled则键入命令:cmmodpkg e pkg1

(3)再次通过命令cmviewcl查 看AUTO_RUN状态,确认状态为enabled。

至此,整个小型机双机及数据库系统故障分析处理完毕。

经验总结

对于老的HP小型机数据库系统,由于购置的年代为2004年,受当时技术参数配置较低限制,尤其是内存,所以我们在该系统运行了一定的时间后,必须进行定期的技术维护和巡检处理,以便及时处理CPU、内存运行在饱和状态故障,以及清理小型机系统和数据库日志等具体工作。必要时,需要增加设备的技术参数,如扩充内存等,熟练运用HP小型机的命令去查看运行状态、配置小型机的双机数据库系统以及处理故障。

猜你喜欢
小型机双机数据库系统
双机、双桨轴系下水前的安装工艺
Oracle数据库系统的性能优化研究
双机牵引ZDJ9道岔不同步问题的处理
微细铣削工艺数据库系统设计与开发
Loader轴在双机桁架机械手上的应用
江苏省ETC数据库系统改造升级方案探讨
民航空管大数据存储下AIX服务器快速恢复方法
小型机:背水一战
蓝天双雄——歼八II双机编队
中国人民解放军战史基本情况数据库系统通过鉴定