气象数据库报文无法入库分析
2019-01-04高涛
摘要:气象数据库系统主要由通信分系统、数据库分系统、预报平台、服务平台四部分组成。通信部分主要负责各种气象资料的接收与发送;数据库部分主要负责对各类数据进行分解,处理、存储;预报人员可以通过预报平台查询和检索相关信息,分析和制作各种天气预报产品,分发给需要的用户;服务平台供各用户浏览、提取气象资料。本文通过整理有关技术资料,介绍数据库架构,分析气象数据库常见故障—报文无法入库的解决方法。
关键词:气象数据库系统;通信服务器;日志;连接数
1 引言
通信分系统是民航气象数据库系统中的基础系统之一,主要实现航站内各类气象资料的接收、质量检查、格式转换处理,并根据事先确定的规则向航站内其他系统和上下节点分发资料,实现数据交换。本文为了使用、维护的方便,对如何处置气象报文未入库的情况进行分析。
2 环境参数文件(mssini.ini)
MSSINI.INI文件是通信系统软件的环境参数文件,它包含多个子文件:
mssmmo.ini 公共区分配和排队限制表
msslin.ini 线路类型及线路特性定义表
mssfdv.ini 文件设备表
mssprq.ini 排队及伪通道定义表
mssfil.ini 文件管理表
mssblo.ini 文件锁表
mssrft.ini 报告格式表
mssamt.ini 本站CCCC和KK定义表
其中mssmmo.ini、mssfdv.ini、mssblo.ini、mssprq.ini、mssfil.ini、mssrft.ini等表格是程序内部使用的,用户不要变动。下面对需要变动的表格做具体说明。
3线路定义表
为了能够按数据来源进行留底和记录统计信息,线路的含义已经超出其物理含义,即在线路表中定义的线路,有物理上连接到路由器上的,有通过MQ通信队列进行连接的,还有通过网络协议ftp连接的。在本分系统的缺省目录下,有一个专门作为从其他系统接收各种资料的目录——receive,对于所有的外部系统都有相应的目录,对于每一个目录,我们也将其看作一条线路。按其连接方式可分为两种类型:
(1)对于连接到路由器上的线路,可定义lcode为R的线路,其lmode可以根据连接的另一端的特性决定;
(2)通过网络连接到本分系统的所有外部系统,lcode可定义为N,其中通过MQ传送资料的外部系统,lmode定义为M;而采用ftp将资料传到receive下相应目录的,其lmode定义为G。
4 Mput进程处理选项配置表(Mput.cfg)
Mput进程用于处理用户手工放置的气象报文/产品资料和通过ftp线路传输过来的气象报文/产品资料。该进程具体处理receive目录下的哪些类型资料由config目录下的Mput.cfg配置文件指定。Mput.cfg文件内容如下:
############ parameter of Mput program #################
############ '#' is the symbol of comment #################
#9210
#wafs
#plot
#sapt
caac
#rout
#netw
#tele
othe
zxxx
#rada
#awos
#wind
#auto
#meda
(#字符号表示该选项被注释,Mput进程不处理receive目录下的对应子目录)
5 常见报文无法入库案例分析
某日,预报反映统一平台提示231212时次FT报未入库告警,查看华东网、合肥置顶报文监控软件均正常。机务员检查统一平台监控终端,发现本地数据库红灯告警。机务员初步判断报文未入本地库,在数据库客户端上查询DB00和DB01库中231212时次的FT报文,发现DB00库中能查到,DB01库查询不到,通信客户端线路均正常,且自主开发的报文监控软件上报文加载不成功。重新使用数据库客户端登录DB01数据库,提示连接不成功,多次尝试后登陆成功,但是cac和awos进程掉线。重启所有进程后,尝试报文异地查询手动入库,未成功,检查发现cac和awos进程再次掉线,判断DB01数据库故障。
经请示领导,决定重启DB01数据库服务器。通知相关用户,并按照步骤重启服务器。18:55(北京时)重启完毕后,1100时次观测SA报成功入库。
几小时后,DB01数据库再次出现cac和awos进程掉线的问题,重启进程后恢复正常。
使用xftp连接DB01数据库,找到/home/mhdbs/bin/log目录下的alarm.log告警日志文件,其中记录了数据库的告警信息:提示的错误代码为“ORA-12519”
通过分析判断,告警原因为数据库实际连接数达到上限,导致进程掉线。
1、查询数据库的实际连接数:
以oracle用户登录DB01,进入sqlplus,输入select count(*) from v$process;系统会显示数据库的当前的连接数为45
2、查询数据库进程数的上限
输入select value from v$parameter where name=processes;系統会显示数据库进程数的上限
3、将DB01数据库进程数的上限提高至500
输入alter system set processes=500 scope=spfile;
4、重启数据库
再次使用命令查询数据库进程数的上限,已修改为500
13 结束语
通信服务器的正常运行,在保障整个数据库系统运行中具有至关重要的作用,各项参数的正确配置可以使通信服务器准确有效的发挥效用。对每个参数的设置将直接影响到系统的使用,故在日常维护中还应多加总结与学习。
参考文献:
[1]气象信息系统基础 岗前培训教程
[2]民航传真广播系统通信分系统使用手册
作者简介:高涛(1988-),男,助理工程师,设备维护维修.