解决数据库查询问题

2015-12-03 03:23
网络安全和信息化 2015年9期
关键词:数据文件中间件自动

问题描述

我单位有一个历史数据库,由于历史过于“遥远”,加之系统只用于查询历史数据,无新数据产出,厂家已经没有技术人员跟踪维护;我中心也没有太多的技术力量加以维护,平常最多的维护就是有经办人员告诉我们,系统打不开了,一般就是中间件应用服务死掉了,我们重启一下中间件服务,就可以了,没有多余的操作。但今天不寻常,笔者按照以前的处理方式,重启Weblogic服务后,经办人员告诉我,系统报错,查询不了。提示错误如图1。

系统基本情况

该系统主要是我市基本医疗保险参保缴费及待遇享受情况,由于历史的原因,系统数据没有并入新系统中来,一直以来,由我们自己管理,系统原来是在Unix系统中,后来我们要求厂家迁移到Windows 2003的操作系统中来。数据库使用的Oracle 9i,中间件选用的是Weblogic 8i。

问题解决过程

通过关闭Weblogic 应用,重启Weblogic应用,我试了试登录系统,提示如图2。系统确实登录出现了问题,以前登录没有这个提示的。点击确定后,系统可以登录的。我试试查询看看能不能查询到数据,选择查询菜单提示如图3。

根据经验,我首先通过PL/SQL工具连接数据看看,连接是可以的,数据也可以查询出来,说明数据库是正常的。会不会是磁盘空间不够了,查看服务器的磁盘空间,发现D和E空间还都有好几个G的空间(数据文件分别放在D和E盘)。通过图1和图3的错误提示应该是表空间的问题或数据文件的损坏导致的。确定思路后,就着手解决他,点击开始→程序→Oracle-OraHome92→Enterprise Manager Console选择独立登录,点击确定通过登录数据库控制台,进入登录界面输入管理账户和密码并选择连接身份为SYSDBA,点击确定后,选择双击存储,查看服务器中的相关数据表空间,如图4,我们发现用户数据文件User05.ora和索引文件Index03.ora文件没有自动扩展。其他的数据库文件都自动扩展了,图2的错误和这个数据文件是否扩展刚好一致,会不会就是这个问题呢?备份好数据库,抱着试试看的态度,选中User05.ora文件,右键选择“查看/编辑数据文件”在存储标签下选择“数据文件已满后自 动扩展(AUTOEXTEND)”增量填入1024KB(因为只用于查询)最大大小在选择自动扩展。点击确定。同样的方法也把Index03.ora文件也设置一下,如图5,因为数据库只用于查询,所以增量就设置较小一点。设置好以后,重启数据库,问题解决。

图1 提示错误

图2 弹出提示

图3 再次出现的提示。

图4 相关数据表

图5 设置文件

总结

开始我们对该数据库一直存在一个误区,认为该数据库只用于查询数据,不再办理任何业务,数据量不应该增加,其实,在查询数据库的同时,日志等文件是增加的,如果数据库中的数据文件没有空间,且不是自动扩展的,非常容易产生一些列的问题,通过设置数据库中的文件自动扩展的好处是可以尽量减少人为的维护;减少出现没有剩余空间可以写入数据导致程序出错,在数据库没有新数据系统中没有大量数据产生的情况下,利用数据库自动扩展功能确实是个不错的选择。

猜你喜欢
数据文件中间件自动
自动捕盗机
RFID中间件技术及其应用研究
数据文件恢复专题问答
数据文件安全管控技术的研究与实现
基于Android 平台的OSGi 架构中间件的研究与应用
SQL数据文件恢复工具
让小鸭子自动转身
自动摇摆的“跷跷板”
关于自动驾驶
中间件在高速公路领域的应用