数据库日常运行维护方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle数据库日常运行维护方案
2019年3月
1项目背景及目标
1.1 项目背景
XXX信息化建设经过多年的发展和完善,已经建立成熟的网络环境及业务及管理的各类应用系统,目前在线运行的PC 近XX台,近年来建设的XX业务管理等若干应用信息系统多数是基于Oracle数据库系统的应用。这些Oracle 数据库产品的标准服务都已经过了服务期。而各系统随着数据量的逐年增加,陆续出现了性能问题,有必要进行数据库系统的升级及性能优化,以确保应用系统的正常运行,为XXX提供更好的信息服务。
1.2 项目目标
➢尽早发现性能瓶颈,及时调整,保障数据库稳定高效工作;对各个系统数据库进行补丁升级服务,安装补丁前需要对补丁的可行性及风险即你想那个分析,并制定升级计划和应急回退计划。同时要做好系统备份准备及详细的测试工作,确保系统的稳定性、安全性,保障系统业务数据的安全;
➢数据库架构的合理化;
➢提升应用系统性能,完成各系统数据库的性能调优工作,包括:外部资源调优、行的重新安排调优、SQL 性能调优、表格和索引存储参数设置调优等。
➢各业务持续性得到有效的保证。
2需求分析
通过对xxx 技术要求进行详实的分析以及xxx信息系统建设的了解,各应用系统的Oracle产品日常运行维护项目主要从如下几个方面进行:
1、由于 xxx 有些系统软件建设的较早,目前存在不同版本的数据库共存的现象,
包括:Oralce8、Oracle9I、Oracle10g以及Oracle11g等。而 Oracle9I 版本
之前的数据库 SQL 编程语句还不是业界通用的标准化的语句,它与后面版本的 SQL 编程语句有很大的差别,所以在这方面的性能优化需要做好充分备份的准备。
2、正是由于这些系统建设的较早,基于当时的实际情况,应用系统或数据库都还
存在一些不足,针对这些情况软件开发商都开发出相应的补丁提供给用户进行升级以防范风险。所以在对各个系统数据库进行补丁升级服务之前,需要对补丁的可行性、安全性及风险进行充分的测试和分析。并制定相关的应急预案及数据库升级计划和应急回退计划,同时还需要做好系统备份准备和详细的测试工作,以确保系统的稳定性、安全性,从而保证系统业务数据的安全;
3、如上所说,这些系统建设的较为长久,由于长时间的运行各个系统存在一些冗
余,由于冗余的存在使得这些系统数据库需要进行性能的优化,包括外部资源优化、行的重新安排以及SQL 性能优化、表格和索引存储参数等需要重新进行设置优化。
4、对于当前的一些应用如:企业资产管理系统(EAM)、基建 MIS 管理系统、全面
预算管理系统、生产综合管理系统、企业门户(EIP/EAI)系统、综合指标统计分析系统、燃料管理信息系统、标准化管理信息系统、档案管理信息系统、安健环管理系统、技术监督管理子系统、IT 运维服务系统、SIS 系统接口数据库、生产图纸管理系统等等所有这些系统都需要重新进行整理并形成一个完善的文档资料。
5、由于这些数据库系统承载着xxx 非常重要的业务系统数据,所以在日常维护
中需要非常仔细,每周、每月、每季都需要有相应的巡检记录,需要详细记载以下一些内容:
➢监控数据库对象的空间扩展情况
➢监控数据量的增长情况
➢系统健康检查
➢数据库对象有效性检查
➢查看是否有危害到安全策略的问题。
➢查看 alert、Sqlnet 等日志并归档报错日志
➢分析表和索引
➢查看对数据库会产生危害的增长速度
➢检查表空间碎片
➢数据库性能调整
➢预测数据库将来的性能
➢调整和维护工作
➢后续空间
3项目总体方案
建立在Oracle 数据库上的关键业务系统,是当今企业的核心应用。如何改善其性能和可用性,是包括系统设计、维护和管理人员的最大挑战。为了更好地维护系统和数据库,必须随时了解系统和数据库的运行状况。但由于数据库维护具有一定的复杂性,增加了维护工作的难度。所以数据库维护需要借助一些相关的工具,优秀的数据库管理工具,可以大大简化生产环境下的应用维护和管理,提高IT 人员的工作效率。数据库管理人员借助相应的工具可以主动、迅速、方便的监控系统的运行。
基于我公司多年在Oracle 数据库的使用及研究经验上,对于Oracle 数据库的管理,主要包括三方面的内容:
➢系统诊断:了解当前运行的Oracle 的状态,发现数据库性能瓶颈;
➢空间管理:即数据库存储结构的调优,包括定期检查数据库的存储结构,发现Oracle 数据库存储中的主要问题(如数据库碎片),进行碎片重组和数
据分布以及容量规划等;
➢调优SQL,分析对系统性能影响比较大的SQL 语句,调整SQL 语句的执行效率。使SQL 存取尽可能少的数据块。
下面我们将从以下这几个方面详细阐述:
3.1 数据库性能优化
Oracle 性能管理既是一种艺术,也是一种科学。从实用角度讲,它可以分为两种类型,主动式和被动式性能管理。主动式性能管理涉及到特定系统实施初期的设计和开发,包括硬件选择、性能及容量规划,海量存储系统的选择,I-O子系统配置及优化,以及如何对不同组件进行定制,以满足Oracle 数据库和应用系统的复
杂要求。
被动式性能管理涉及到现有环境中不同组件的性能评估、故障排除和Oracle 环境的优化。本文旨在探讨如何进行被动式性能调优,以便为Oracle 性能调优提供必要的指导,从而避免仅仅通过反复尝试的方式进行性能调优,提高Oracle性能管理的效率。
所以ORACLE 数据库性能恶化表现基本上都是用户响应时间比较长,须要用户长时间的等待。获得满意的用户响应时间有两个途径:
一是减少系统服务时间,即提高数据库的吞吐量;
二是减少用户等待时间,即减少用户访问同一数据库资源的冲突率。
对于以上的两个问题,通常我们采用以下几个方面来进行改善:
➢调整服务器内存分配。例如,可以根据数据库运行状况调整数据库系统全局区(SGA 区)的数据缓冲区、日志缓冲区和共享池的大小;还可以调整
程序全局区(PGA 区)的大小。
➢调整硬盘I/O 问题,达到I/O 负载均衡。
➢调整运用程序结构设计。
➢优化调整操作系统参数和使用资源管理器。
➢SQL 优化、诊断latch 竞争、Rollback(undo) Segment 优化、提升block的效率等。
3.1.1检查Oracle数据库性能
检查 Oracle 数据库性能情况,包含:检查数据库的等待事件,检查死锁及处理,检查 cpu、I/O、内存性能,查看是否有僵死进程,检查行链接/迁移,定期做统计分析,检查缓冲区命中率,检查共享池命中率,检查排序区,检查日志ORACLE 产品日常运行维护年度服务项目缓冲区,总共十个部分。
3.1.1.1 检查数据库的等待事件
set pages 80
set lines 120
col event for a40
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%';