电力企业信息系统中Oracle数据库运维管理 下载本文

龙源期刊网 http://www.qikan.com.cn

电力企业信息系统中Oracle数据库运维管理

作者:秦士兵

来源:《中国新技术新产品》2012年第21期

摘要:随着信息时代的来临,数据越来越多,而数据库技术也越来越先进,特别是现阶段企业的信息化的建设过程当中,数据库的使用已经成为企业信息化的必选项。随着电力企业信息化的不断深入,企业中的Oracle数据库越来越多,数据库服务中断对业务的影响也越来越大。本文提出了Oracle数据库监控系统,可以代替人工定期从被监控的数据库中采集各类监控指标信息,并存入数据库监控服务器的数据库中。在各类监控指标信息的大量历史数据基础上,对被监控数据库运行状态进行统计分析,从而判断被监控数据库的运行状态,并评估被监控数据库的性能和健壮性。为数据库管理和维护提供科学依据。 关键词:电力企业;信息系统;Oracle数据库;管理 中图分类号: G250.74 文献标识码:A

传统数据库管理依靠数据库管理员来完成,数据库管理员的职责如下:

(1)定时对数据库的运行状态,日志文件,备份情况,数据库空间使用情况,系统资源使用情况进行检查,发现并解决问题;(2)每周对数据库对象的空间扩展情况,数据增长情况进行监控,对数据库做健康检查,对数据库对象的状态做检查;(3)每月对表、索引、约束、作业等数据库对象进行分析,检查表空间碎片,寻找数据库性能调整的机会,进行数据库性能调整,提出下一步空间管理计划。对数据库状态进行一次全面检查。

这样的管理对数据库明显存在以下局限性:一是虽然目前各种数据库产品本身提供了大量功能强大的性能监控和调试工具,如0RACLE的OEM、Performance Manager、capacity Planer等来帮助数据库管理员对数据库性能进行调整、优化,但是精通掌握这些工具并能通过这些工具来有效地分析数据库性能状态,进而合理地配置数据库以调整其性能十分困难;二是数据库维护管理被动,数据库管理依赖数据库管理员的责任心和能力,数据库能否稳定运行和健壮性取决于管理员的态度;三是数据库日常性能、异常诊断不及时。

针对这种情况.本文提出了数据库监控系统,实现数据库主动监控和维护,系统通过对数据库进行日常性能监控、每月性能评估、数据库审计、异常诊断及时发现问题和解决问题。为数据库管理员提供了管理和维护数据库的辅助工具,提高了数据库管理员的工作效率。为数据库每天24小时不间断运行提供了有力保障。提前预判断数据库性能臆患,增强数据库的健壮性,确保业务系统持续不断地运行。

龙源期刊网 http://www.qikan.com.cn

l总体设计思路

数据库监控系统,通过创建远程数据库链的方式与被监控的数据库建立连接,通过数据库作业调度的方式.定期从被监控的数据库中采集各类监控指标信息,并存人数据库监控服务器的数据库中。系统结构如图l所示。 2系统特点

(1)建立远程数据库链

数据库监控系统与多个被监控的数据库建立连接,向被监控数据库中写入测试数据,从被监控数据库中获取需要的监控信息,在数据库监控系统中采用建立远程敦据库链的方式实现。对于频繁使用的远程数据库的连接,建立远程数据库链(database links)指定连接所使用的连接描述器,也可以指定远程数据库连接的用户名。当远程数据库链被一个SQL语句所指时,它将在远程数据库中打开一个会话并在那执行SQL语句,然后返回数据。

(2)采用数据库作业调度实现信息采集数据库监控系统需要定期从被监控数据库中获取监控指标信息,是个周而复始自动执行的循环过程,在数据库监控系统中采用0racle数据库的作业调度方式宴现自动执行信息采集过程。

作业指定了要执行的动作以及执行动作的时间。要执行的动作可以是SQL语句PL/SQL代码块、PL/SQL存储过程、JAVA存储过程、外部过程或者在服务器文件系统中储存的任何可执行文件(既可以是二进制可执行文件。也可以是外壳脚本)。执行动作的时间指定了启动作业时的时间标记以及用于今后运行的重复时间间隔。

(3)依据MPI(Memory Performance Index)内存性能评估指数对数据库内存性能进行综合评估。

系统使用内存性能指数(MPI Memory Performance Index),作为数据库内存的使用和分配情况的晴雨表,对数据库的内存性能进行综合评分,根据综合评分的高低判断数据库的运行状态。

下表列出了MPI中的各项指数。 3 实现功能

3.1实现数据库日常监控

通过登记数据库链创建语句和测试表创建语句。在被监控数据库的SYSTEM用户中,手工创建数据库链和测试表,实现记录被监控数据库的基本信息。系统每隔5秒钟对被监控的数据库进行一次写入测试,通过测试结果判断被监控的数据库是否正常运行。系统每隔10秒钟

龙源期刊网 http://www.qikan.com.cn

检测一下表空间的变化情况并计算表空间使用率。建立库缓存命中率(共享池),存放SQL语句或PL/SQL块、包、存储过程对象及执行计划等,避免对SQL语句的重新解析。建立数据字典缓冲区总的命中率(共享池)显示了对数据字典和其他对象的内存读操作的百分比,当数据字典缓冲区总的命中率 3.2 实现数据库性能评估

首先定义数据库内存性能评分标准,根据数据库内存性能评分标准计算数据库性能得分。如果如果评分MPI指数得分小于100分,表明数据库内存性能很差,需要优化数据库和调整数据库参数。 3.3 数据库审计

实现直观查看数据文件状态功能,如果状态为AVAILABLE,表示数据文件正常。如果状态为UNA-VAILABLE,表示数据文件不正常,数据文件不正常将不能对数据文件中的数据进行增加、删除、修改和查询操作,需要查明原因。检查数据库死锁情况 ,当两个事务需要一组有冲突的锁,而不能将事务继续下去的话,就出现死锁,需要杀掉长期没有释放非正常的锁。检查不起作用的约束,如果无效的数据库对象也业务系统有关,则要查明原因,否则影响业务系统的运行。检查无效的数据库对象,如果无效的数据库触发器也业务系统有关,则要查明原因,否则影响业务系统运行。查找使用CPU多的用户会话,当数据库性能降低时,需要查看使用CPU多的用户会话,具体分析哪个客户端机器的程序影响了数据库服务器CPU性能。

3.4 统计分析

数据库写入测试月统计,按月统计写入测试总次数、写入测试正常次数和写入测试正常率。根据写入测试正常率可以分析数据库的稳定性。如图2所示。表空间增长情况月统计,分析数据库中数据量大变化情况,如果表空间在某个月增长很多,需要查明原因。有可能是录入的业务数据量比较大,也有可能是数据库异常引起,需要区别对待。 结语

系统改变了传统的数据库管理和维护方式,变被动维护为主动维护,通过对数据库进行日常性能监控、每月性能评估、数据库审计、异常诊断及时发现隐患问题和解决问题,将数据库隐患消灭在萌芽状态。系统通过运行后,多次提前发现业务系统数据库由于表空间快速增长,系统性能下降等问题,确保了公司业务系统持续不断地运行。

系统降低了数据库管理员的工作强度,提高了数据库管理员的工作效率,通过数据库监控系统可以及时发现和解决数据库的各种小问题,预判断数据库性能隐患,避免数据库发生灾害性故障。通过数据库监控系统可以增强数据库的健康性,确保业务系统持续不断地运行。提高工作效率和服务质量。