一种数据库自动化运行维护方法

文档序号:8381019阅读:915来源:国知局
一种数据库自动化运行维护方法
【技术领域】
[0001]本发明涉及一种数据库处理方法,尤其涉及一种数据库自动化运行维护方法。
【背景技术】
[0002]现代企业需要各种IT系统来支撑企业高效地运行;甚至在一些企业中,IT系统已经成为企业经营的关键。在这些IT系统中,数据库在系统中承担着非常重要的角色,所以数据库地运维成为企业的关注之一。
[0003]在现有的数据库市场中,Oracle数据库的占有比率是最大的。在2013年7月8日,甲骨文中国宣布新一代Oracle数据库12c正式上市,这标志着Oracle数据库的发展越来越趋于智能化和自动化。如何能充分利用Oracle数据库技术做到自动化运维,已经成为企业系统运维的重点,同时在一定程度上能降低企业系统运维的成本。
[0004]现有甲骨文公司对Oracle数据库提供的自动化处理方法如下:
[0005]1.内存是Oracle数据库使用最重要的资源,对于内存的管理机制,开启数据库内存自动管理机制(AMM),这样能使Oracle数据库对内存地使用更加合理和完善。
[0006]2.0racle Ilg中提供自动化收集统计设置,SQL性能的好坏在很大程度上依赖于统计信息准确与否,统计信息的收集决定了统计信息是否准确。通过以上两点,客户基本可以完成数据库的自动性能管理。
[0007]3.在数据库主机发生重启后,对于Oracle集群软件默认是会随着主机启动后自动启动的,但是对于Oracle单实例,则需要手工添加启动脚本来完成自动启动的过程。
[0008]下面就以上三个方面详细阐述如何实现:
[0009]1.内存的自动化管理,Oracle Ilg自动内存管理(AMM)是由两个初始化参数进行配置的。
[0010]Memory_target:动态控制SGA (共享内存)和PGA (私有内存)大小,Oracle实例可以使用的内存大小,这个参数是动态的。
[0011]Memory_max_target:指定了 Oracle可以分配的最大内存大小,此参数为静态参数,在启用自动内存管理前提下不能为O。
[0012]如果参数Memory_target 为 0,则和 Memory_max_target 同样大小
[0013]2.性能的自动化,在Oracle Ilg默认情况下,JOB gather_stats_job会在周一到周五晚上10点进行,时间为4小时,周六和周日,是在早上6点进行,时间为20个小时,如果自动化统计信息收集每天都能准确地收集表的统计信息,一般情况下,数据库的SQL语句都能使用最佳的执行计划,数据库的整体性能能得到保障。
[0014]3.自动化重启。在Linux/UNIX操作系统平台下的Oracle RAC数据库,当数据库集群或者主机发生重启后,数据库的各项资源都会自动启动,主要是依赖于/etc/init.d/init.*的脚本,重新启动后,操作系统会自动调用这些脚本来重新启动数据库。
[0015]对于Oracle数据库以上三个方面的自动化手段,能基本上满足数据库的日常运维,并且一般情况下,采用了这三种自动化方式,系统都能正常顺利运行,但是,系统是给人来使用的,当人为造成的一些数据库问题时,这些自动化的手段就不一定能保证系统能正常运行。举个简单的例子,在一个人事数据库中,人事人员甲需要修改某员工的工资时,中途有其他的事情干扰,忘记提交了,同时人事人员乙在不知道人事人员甲是否已经修改的情况下,也做同样的事情,这时,人事人员乙无法完成某员工的工资修改,这其实是数据库中常见的锁问题,面对这种问题,以上三种自动化手段,都无法能解决此问题。

【发明内容】

[0016]本发明所要解决的技术问题是提供一种数据库自动化运行维护方法,能够灵活地运用脚本完成各种数据库场景的预警和处理,大大减少人为操作,提高工作效率。
[0017]本发明为解决上述技术问题而采用的技术方案是提供一种数据库自动化运行维护方法,其中,包括如下步骤:a)设置监控服务端、Web端和至少一个被监控端,并在Web端对被监控端进行监控配置,所述被监控端包括数据库服务器主机和网络设备;b)在被监控端的数据库服务器主机上通过安装Agent方式采集数据,在被监控端的网络设备上通过SNMP方式采集数据;c)所述监控服务端和被监控端通过C/S模式收集SNMP和Agent发送的数据,所述监控服务端和Web端通过B/S模式在Web端展示监控结果。
[0018]上述的数据库自动化运行维护方法,其中,所述步骤a)中的监控配置包括监测CPU的应用情况、监测磁盘的空间使用率、1吞吐量、监测内存的可用空间及使用率、监测指定过程的实例/线程总数及内存总占用量、监测指定服务运行状况、监测网卡流量、监测到指定IP设备的Ping包往返时长及成功率、指定URL访问过程中的返回码及下载时长。
[0019]上述的数据库自动化运行维护方法,其中,所述被监控端在Web端采用节点网络拓扑进行展示,每个被监控端表示成一个节点,并以不同颜色的连线表示不同节点之间的通断。
[0020]上述的数据库自动化运行维护方法,其中,所述步骤c)中监控服务端通过php、apache在Web端进行展示。
[0021]上述的数据库自动化运行维护方法,其中,所述步骤a)中预设各种预警故障的处理脚本及时间阀值,所述运行维护方法还包括采用邮件、短信或MSN方式进行预警通知,并在预警故障对应的预设时间阀值到达后,自动执行该预警故障对应的处理脚本。
[0022]上述的数据库自动化运行维护方法,其中,所述Web端还包括:收集系统日志、远程生成性能报告、分析数据库状态、锁状况分析监控并自动解锁。
[0023]上述的数据库自动化运行维护方法,其中,所述步骤a)中预设锁状况分析监控的故障处理脚本及时间阀值,所述锁状况分析监控包括查询被监控端的数据库中被锁阻塞的会话id号和serial号来获取锁的源头;如果发现锁的源头相同,且是三次以上,则在对应的故障预设时间阀值到达后,将产生锁的源头剔除进行自动解锁。
[0024]本发明对比现有技术有如下的有益效果:本发明提供的数据库自动化运行维护方法,通过在Web端对被监控端进行监控配置,监控服务端通过C/S模式收集被监控端数据,通过B/S模式在Web端展示监控结果,从而能够灵活地运用脚本完成各种数据库场景的预警和处理,大大减少人为操作,提高工作效率。
【附图说明】
[0025]图1为本发明数据库自动化运行维护流程示意图。
【具体实施方式】
[0026]下面结合附图和实施例对本发明作进一步的描述。
[0027]图1为本发明数据库自动化运行维护流程示意图。
[0028]请参见图1,本发明提供的数据库自动化运行维护方法,其中,包括如下步骤:
[0029]步骤S1:设置监控服务端、Web端和至少一个被监控端,并在Web端对被监控端进行监控配置,所述被监控端包括数据库服务器主机和网络设备;
[0030]步骤S2:在被监控端的数据库服务器主机上通过安装Agent方式采集数据,在被监控端的网络设备上通过SNMP方式采集数据;
[0031]步骤S3:所述监控服务端和被监控端通过C/S模式收集SNMP(简单网络管理协议)和Agent发送的数据,并写入数据库(非被监控数据库,如被监控数据库为Oracle数据库,此处可采用简单的MySQL数据库存储监控数据),所述监控服务端和Web端通过B/S模式在Web端展示监控结果。
[0032]本发明提供的数据库自动化运行维护方法,能够提供7X24监控运维管理服务,具有主动的(Pro-active)数据库系统监控与运维管理操作,对于数据库系统实时进行监视、信息收集、诊断及分析等。用于监控网络、服务器、监测及跟踪各种网络服务、服务器的状态等,监控重要配置参数文件以及服务器的健康和完整性。本发明可采用灵活的报警机制,允许用户配置以电子邮件或短信为基础的几乎所有事件报警,可以使维护人员快速响应及跟进故障;所有的报告、统计、参数配置都可以通过一个基于WEB的前端程序访问;以保证实时了解数据库(中间件)的状态和服务器的健康情况。
[0033]本发明提供的数据库自动化运行维护方法,具有如下特性:
[0034]I)集中式监控:包括集中式配置和集中式访问所有数据;
[0035]2)可拓展性:可方便地在平台上添加新功能模块;
[0036]3)工具集成功能:可将ping、收集系统日志、远程生成性能报告、分析数据库HANG状态、分析锁状况并自动解锁等集成WEB的运维工具;
[0037]4)可对系统的很多层面进行监控,可定义触发器、报警,可扩展监控项目;
[0038]5
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1