浅析民航气象数据库系统巡检

2018-11-20 10:50杨浩
世界家苑 2018年11期
关键词:巡检故障处理

杨浩

摘 要:民航气象数据库系统是民航氣象业务的核心信息系统,其24小时不间断的运转保证了气象业务的正常开展,本文重点阐述了数据库系统设备巡检的内容。

关键词:民航气象数据库系统;巡检;AIX;故障处理

引言

民航数据库系统是民航气象业务的核心信息系统,它采用一套分级的,包含发送、请求、响应、回复、转发等多种功能的,复杂的数据交换模式,实现了实时收集、处理、储存、交换民航国内、国际飞行所需的综合航空气象情报信息的功能,提供给用户气象资料自动分析和制作等功能,为航空气象用户提供航空气象产品[1]。

1配置分析

民航气象数据库系统分为三级体系架构,每一级根据业务处理能力的实际需求进行不同的配置,同级间则采用了相同的配置。本场属于民航气象第三级数据库系统,系统由一台ibm system p520 作为数据库服务器,一台ibm system p520 作为应用服务器,一台DELL OPTIPLEX 745作为通信服务器,采用cisco2960 交换机作为本地网络的核心交换机,通过cisco2851 路由器与所在地区气象中心数据库相连,利用cisco pix 515e 作为安全隔离。在数据库服务器和应用服务器上,均安装了AIX操作系统并搭配目前功能最强大的ORACLE数据库,而通信服务器则安装了Linux操作系统[2]。

2数据库主机系统、网络系统与数据库巡检

通过本场一次气象数据库系统硬盘自身驱动器监控报错故障处理分析,结合AIX系统管理技术学习,总结出了民航气象数据库系统在维护时对主机系统、网络系统、数据库进行巡检的方法及命令总结,以便发现问题及时处理。在巡检中可以使用工具Secure CRT,它的记录功能非常实用,方便对巡检过程进行保存和后期检查。

2.1主机系统

针对济南本场的情况,数据库系统主机系统的巡检包括了数据库服务器DB00、数据库服务器DB01、通信服务器,其中数据库服务器安装的是AIX操作系统,通信服务器安装的是Linux操作系统。

2.1.1数据库服务器的巡检内容

(1)用命令errpt查看日常报错,一旦系统的某个功能模块检测到一个错误或定义的需要记录日志的事件,则记录到/dev/error,错误进程errdemon从/dev/error文件中读取错误日志,然后根据错误模板库(/var/adm/ras/errtmpit)和错误消息库(/usr/lib/nls/msg/$LANGcodedepoint.cat)对其进行处理后写入系统的错误日志/var/adm/ras/errlog中,正常情况下错误进程errdemon处于开启状态,当使用more或者其他文本的查看命令来打开errlog文件,看到的只有乱码,为了能够查看日志,需要使用errpt命令,命令执行后输出的六列内容分别为错误标示符、时间戳、类型、种类、资源名和描述。

当需要查看详细报错内容时,需要输入指令errpt –aj +错误代码。在软件错误日志中的故障原因(Failure Causes)通常是指一个软件缺点,如果有用户原因(User Causes)或安装原因(Install Causes)或二者都有,而没有故障原因,那么问题通常不是软件的缺点。而对硬件设备进行诊断的时候,最常用的是并发模式下诊断硬件设备,在root用户下使用diag命令进入诊断主菜单,按照现场情况采用Diagnostic Routines和Advanced Diagnostic Routines进行硬件检测。需要注意的是在做diag诊断时,并发模式下是比较危险的,可以选择停止服务器的服务和业务后再做,可以避免可能出现的系统崩溃问题[3]。

用户原因(User Causes)、安装原因(Install Causes)和故障原因(Failure Causes)只是一般的建议,更换部件则需要根据诊断和对错误日志的分析结果来确定。

(2)用命令lsvg –l rootvg查看系统rootvg内的每个逻辑卷的以下信息,LV:卷组内的一个逻辑卷;Type:逻辑卷类型;LPs:逻辑卷中的逻辑分区数;PPs:逻辑卷使用的物理分区数;PVs:逻辑卷使用的物理卷数;Logical volume state:逻辑卷的状态;Opened/stale:表示逻辑卷是打开的但包含的分区不是当前的;Opened/syncd:表示逻辑卷是打开和同步的,Closed 表示逻辑卷还没有打开;Mount point:逻辑卷的文件系统安装点。

(3)用命令topas查看系统CPU使用率和工作状态,具体每项内容分为Kernel:

操作系统的内核占用的CPU时间比率;User:用户进程占用的CPU时间比率;Wait:CPU处于等待状态占CPU时间的比率;Idle:CPU空闲时间比率。Real:MB操作系统实际拥有的内存的总量,单位是MB;%Comp,计算型内存占用比率;%Noncomp非计算型内存占用的比率;%Client也为非计算型内存,Noncomp包涵Client型内存,jfs文件系统使用的内存为noncomp,为了区分,jfs2和nfs使用的内存为Client。

(4)用命令df –g以G为单位查看磁盘使用率,当一个文件系统空间被占满之后,就会导致大量的问题出现,甚至系统崩溃,因此最好要避免这种情况的发生。

(5)用命令lsps –a查看内存交换区使用率,济南本场情况为运行时间5个月的服务器,2G内存基本耗尽,交换分区使用了百分之三十至四十,重启后降至百分之十,在系统内存耗尽并且交换分区使用率达到百分之八十以上时,系统崩溃的可能性增大,需要考虑增加物理内存。

(6)用命令svmon查看系统内存使用率。在非常繁忙的系统中,svmon收集的数据和真实的数据会有所差距,因为svmon使用的全是VMM中的数据,而在svmon进程搜集的过程中,VMM(虚存管理器)可能已经发生改动了。

在使用svmon命令时,也可以增加参数来输出需要的更为详细的内容,例如svmon –G是全局统计信息,svmon –U root oracle –w是输出只考虑工作段的用户 root 和 steve 的内存使用统计信息等。

(7)用命令lspv 硬盘名(例如hisk0)主要用来显示卷组(Volume)中的物理卷(PV,Physical Volume)信息,在输出信息中需要关注硬盘是否有陈旧(stale)块,若存在陈旧分区、逻辑卷或物理卷,可以尝试使用syncvg命令来同步它们。

(8)网络巡检主要利用命令:ifconfig –a;netstat –rn;netstat –i,依次检查所有网络接口的信息、核心路由表、通过接口传送数据包的数量以及输入/输出的错误数。

2.1.2通信服务器的巡检内容

(1)用命令df –h以GB,MB,KB等查看磁盘利用率。linux文件系统的内核在识别和使用文件系统时需要利用virtual filesystem switch(虚拟文件系统)来读取文件系统,也就是说整个LINUX的文件系统都是VFS在进行管理的,我们用户并不需要知道每个分区上头的文件系统是什么,VFS会主动帮我们做好读取工作,有了VFS我们可以不用去指定读取的是哪一个文件系统,只需要输入指令进行查看即可。

(2)用命令top可以查看系统的状态,比如CPU、内存的使用。具体输出内容包括当前系统时间、登陆系统的用户数量、负载情况、任务进程、CPU状态、内存状态、swap交换分区状态内存总量以及各个进程的状态监控。另外,使用free命令也可以查看swap交换分区使用率。

(3)MQ应用方面巡检,需要查看通道状态使用命令showchl,正常状态应显示:Running,若未启动,则需要使用命令runmqchl进行启动。查看队列状态使用命令showque,正常状态应显示:0,如队列有积压,则检查通道状态。

(4)使用ifconfig –a;netstat –rn;netstat –i命令依次检查配置信息、路由表、网络接口情况,对网络进行巡检。

2.2网络系统

民航数据库系统网络系统巡检需要检查的内容包括了交换机cisco3750、路由器cisco2851和防火墙pix515,下面针对济南本场具体情况结合需要的命令进行介绍。

2.2.1检查cpu使用率

在交换机和路由器中,使用命令show processes cpu可以输出CPU在最后5秒的使用率、最后1分钟的使用率和最后5分钟的使用率,同时显示正在运行的进程状态。在防火墙中则需要使用命令show cpu usage。

2.2.2检查内存使用率

在交换机、路由器和防火墙中均使用show memory命令查看内存使用率,具体输出内容为使用内存情况的统计信息,包括空闲池统计信息。

2.2.3设备电源及风扇

在交换机和路由器中使用show env temp命令可以查看设备电源、风扇、温度,其中交换机需要注意RPS正确显示为NOT PRESENT。

2.2.4检查log日志

在交换机、路由器和防火墙中均使用show log命令检查log日志,主要包括了Syslog logging、Console logging、Monitor logging、Buffer logging、Trap logging几个项目。

2.3数据库

本部分介绍ORACLE数据的检查内容,专门列出了数据库状态、告警日志文件、数据库连接、数据文件的状态、表空间使用情况和数据库等待事件的检查方法及命令。

2.3.1检查数据库状态

确认所有的INSTANCE状态以及listener状态正常,登陆到所有数据库或实例,检测ORACLE后台进程,RAC状态等。具体命令分别为oracle@ZSJN $ps -ef|grep ora;oracle@ZSJN $lsnrctl status;SQL>select status from V$instance。

2.3.2检查告警日志文件

数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA-600)定期检查日志文件,根据日志中发现的问题及时进行处理;包括alert,trc,listener日志其中alert位置:/u0/oracle/admin/ ZSJN /bdump;trc位置:/u0/oracle/admin/ ZSJN /bdump;listener位置:/u0/oracle/product/10.2.0/db/network/log。

2.3.3检查数据库连接信息

定时对数据库的连接情况进行检查,看与数据库建立的会话数目是不是正常,如果建立了过多的连接,会消耗数据库的资源。同时,对一些“挂死”的连接,可能需要手工进行清理。利用命令SQL>select count(*)from v$session;和SQL>select sid,username,program,status from v$session;进行检查。

2.3.4检查数据文件的状态

如果数据文件的STATUS列不是AVAILABLE,那么就要采取相应的措施,如对该数据文件进行恢复操作,或重建该数据文件所在的表空间。参考命令

SQL>select file_name,status from dba_data_files;

SQL>select count(*)from dba_data_files;

SQL>select count(*)from dba_data_files;

2.3.5检查表空间使用情况

检查表空间使用情况的命令是SQL>select f.tablespace_name,a.total,f.free,round((f.free/a.total)*100)"% Free"

from(select tablespace_name,sum(bytes/(1024*1024))total from dba_data_files

group by tablespace_name)a,(select tablespace_name,round

(sum(bytes/(1024*1024)))free from dba_free_space group by tablespace_name)f WHERE a.tablespace_name=f.tablespace_name(+)order by "% Free"。

2.3.6檢查数据库的等待事件

如果数据库长时间持续大量像latch free,enqueue,buffer busy waits,db file sequential read,db file scattered read等等待事件时,需要对其进行分析,可能存在问题的语句。使用到的命令是SQL>select sid,event,p1,p2,p3,WAIT_TIME,SECONDS_IN_WAIT from v$session_wait where event not like 'SQL%' and event not like 'rdbms%'。

参考文献

[1]梁帆. 民航气象第三级数据库系统管理维护和典型故障处理.硅谷.2011,24:124-125.

[2]张迪馨. 民航二期气象数据库系统主机维护经验总结.空中交通管理.2007,08:45-46.

[3]于宇斌,IBM UNIX&Linux;—AIX 5L系统管理技术[M].北京:电子工业出版社.2005.

(作者单位:中国民用航空空中交通管理局华东地区山东分局)

猜你喜欢
巡检故障处理
基于NFC技术的智能巡检系统设计
变电站设备巡检中无人机的应用与探析
对电缆隧道运行中巡检机器人技术的研究
无人机巡检输电线路技术的应用分析
高校网络维护与故障处理探析
钢铁冶炼机械设备的故障诊断及处理分析
大型化工装置仪表自控系统的故障处理研究
基于计算机网络故障处理及网络维护方法研究