Oracle数据库日常维护项目方案.docx
- 文档编号:506997
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:44
- 大小:127.99KB
Oracle数据库日常维护项目方案.docx
《Oracle数据库日常维护项目方案.docx》由会员分享,可在线阅读,更多相关《Oracle数据库日常维护项目方案.docx(44页珍藏版)》请在冰点文库上搜索。
ORACLE产品日常运行维护年度服务项目
xxxx有限责任公司ORACLE产品日常运行维护年度服务项目
方案书
xxxx有限公司目 录
1项目背景及目标 5
1.1项目背景 5
1.2项目目标 5
2需求分析 5
3项目总体方案 7
3.1数据库性能优化 8
3.1.1检查Oracle数据库性能 8
3.1.1.1检查数据库的等待事件..............................................................................................................9..
3.1.1.2DiskRead最高的SQL语句的获取 9.
3.1.1.3查找前十条性能差的sql 9.
3.1.1.4等待时间最多的5个系统等待事件的获取 9
ORACLE产品日常运行维护年度服务项目
3.1.1.5检查运行很久的SQL 9
3.1.1.6检查消耗CPU最高的进程 1.0
3.1.1.7检查碎片程度高的表................................................................................................................10
3.1.1.8检查表空间的I/O比例 1.0
3.1.1.9检查文件系统的I/O比例 1.0
3.1.1.10检查死锁及处理 1.0
3.1.1.11检查数据库cpu、I/O、内存性能 1.1
3.1.1.12查看是否有僵死进程................................................................................................................12
3.1.1.13检查行链接/迁移 1.3
3.1.1.14定期做统计分析 1.3
3.1.1.15检查缓冲区命中率 1.4
3.1.1.16检查共享池命中率 1.4
3.1.1.17检查排序区 1.4
3.1.1.18检查日志缓冲区 1.5
3.1.2性能调优及方法 15
3.1.2.1寻找问题根源 1.6
3.1.2.2System_Event事件 1.6
3.1.2.3Session_Event事件...................................................................................................................16
3.1.2.4Session_Wait............................................................................................................................1..7.........
3.1.2.5应用优化 1.7
3.1.2.5.1例程调优 1.7
3.1.2.5.2I-O优化...........................................................................................................................19
3.1.2.5.3 竞争优化 1.9
3.1.2.5.4O-S监控 2.0
3.2数据库备份恢复 21
3.2.1检查Oracle数据库备份结果 21
3.2.1.1检查数据库备份日志信息........................................................................................................21
3.2.1.2检查backup卷中文件产生的时间 2.2
3.2.1.3检查oracle用户的email...........................................................................................................2..2......
3.3数据库迁移 22
3.4数据库运维 23
3.4.1检查数据库基本状况 23
3.4.1.1检查Oracle实例状态 2.3
3.4.1.2检查Oracle服务进程 2.4
3.4.1.3检查Oracle监听状态 2.4
3.4.2检查系统和oracle日志文件 25
3.4.2.1检查操作系统日志文件............................................................................................................25
3.4.2.2检查oracle日志文件 2.6
3.4.2.3检查Oracle核心转储目录 2.6
3.4.2.4检查Root用户和Oracle用户的email.....................................................................................2..7....
3.4.3检查Oracle对象状态 27
3.4.3.1检查Oracle控制文件状态 2.7
3.4.3.2检查Oracle在线日志状态 2.7
3.4.3.3检查Oracle表空间的状态 2.8
3.4.3.4检查Oracle所有数据文件状态 28
3.4.3.5检查无效对象 2.9
3.4.3.6检查所有回滚段状态 2..9
3.4.4检查Oracle相关资源的使用情况 30
3.4.4.1检查Oracle初始化文件中相关参数值 30
3.4.4.2检查数据库连接情况................................................................................................................31
3.4.4.3检查系统磁盘空间....................................................................................................................32
3.4.4.4检查表空间使用情况................................................................................................................32
3.4.4.5检查一些扩展异常的对象........................................................................................................33
3.4.4.6检查system表空间内的内容 3.3
3.4.4.7检查对象的下一扩展与表空间的最大扩展值 34
3.4.5检查数据库安全性 34
3.4.5.1检查系统安全日志信息............................................................................................................35
3.4.5.2检查用户修改密码....................................................................................................................35
3.4.6其他检查 36
3.4.6.1OracleJob是否有失败..............................................................................................................36
3.4.6.2监控数据量的增长情况............................................................................................................36
3.4.6.3检查失效的索引 3.7
3.4.6.4检查不起作用的约束................................................................................................................37
3.4.6.5检查无效的trigger.....................................................................................................................3..7......
4项目实施及管理 38
4.1项目实施方案 38
4.1.1项目实施策略 38
4.1.2项目实施计划 38
4.1.3项目交付文档 39
4.1.3.1交付要求 3.9
4.1.3.2提交文件资料 3.9
5支持服务体系 40
5.1.1售后服务 40
5.1.2电话支持 40
5.1.3现场服务 40
5.1.4电子邮件支持 41
5.1.5紧急故障处理 41
5.1.6ORACLE定期巡检服务(24次/年) 41
6培训方案 41
6.1.1培训方式 42
6.1.2教师、教材使用及授课语言 42
6.1.3培训计划 44
6.1.4培训分工 44
ORACLE产品日常运行维护年度服务项目
1项目背景及目标
1.1项目背景
xxx信息化建设经过多年的发展和完善,已经建立成熟的网络环境及生产经营管理的各类应用系统,目前全厂在线运行的PC近600台,近年来建设的企业资产管理、基建MIS管理系统、全面预算管理系统、生产综合管理系统技术监督管理系统等若干应用信息系统多数是基于Oracle数据库系统的应用。
这些Oracle数据库产品的标准服务都已经过了服务期。
而各系统随着数据量的逐年增加,陆续出现了性能问题,有必要进行数据库系统的升级及性能优化,以确保
应用系统的正常运行,为全厂员工提供更好的信息服务。
1.2项目目标
n尽早发现性能瓶颈,及时调整,保障数据库稳定高效工作;对各个系统数据库进行补丁升级服务,安装补丁前需要对补丁的可行性及风险即你想那个分析,并制定升级计划和应急回退计划。
同时要做好系统备份准备及详细的测试工作,确保系统的稳定性、安全性,保障系统业务数据的安全;
n数据库架构的合理化;
n提升应用系统性能,完成各系统数据库的性能调优工作,包括:
外部资源调优、行的重新安排调优、SQL性能调优、表格和索引存储参数设置调优等。
n各业务持续性得到有效的保证。
2需求分析
通过对xxx技术要求进行详实的分析以及xxx科技对xxx信息系统建设的了
解,xxxOracle产品日常运行维护项目主要从如下几个方面进行:
1、由于xxx有些系统软件建设的较早,目前存在不同版本的数据库共存的现象,包括:
Oralce8、Oracle9I以及Oracle10g等。
而Oracle9I版本之前的数据库SQL编程语句还不是业界通用的标准化的语句,它与后面版本的SQL编程语句有很大的差别,所以在这方面的性能优化需要做好充分备份的准备。
2、正是由于这些系统建设的较早,基于当时的实际情况,应用系统或数据库都还存在一些不足,针对这些情况软件开发商都开发出相应的补丁提供给用户进行升级以防范风险。
所以在对各个系统数据库进行补丁
升级服务之前,需要对补丁的可行性、安全性及风险进行充分的测试和分析。
并制定相关的应急预案及数据库升级计划和应急回退计划,同时还需要做好系统备份准备和详细的测试工作,以确保系统的稳定性、安全性,从而保证系统业务数据的安全;
3、如上所说,这些系统建设的较为长久,由于长时间的运行各个系统存在一些冗余,由于冗余的存在使得这些系统数据库需要进行性能的优
化,包括外部资源优化、行的重新安排以及SQL性能优化、表格和索引存储参数等需要重新进行设置优化。
4、对于当前的一些应用如:
企业资产管理系统(EAM)、基建MIS管理系统、全面预算管理系统、生产综合管理系统、企业门户(EIP/EAI)系统、综合指标统计分析系统、燃料管理信息系统、标准化管理信息系统、档案管理信息系统、安健环管理系统、技术监督管理子系统、IT运维服务系统、SIS系统接口数据库、生产图纸管理系统等等所有这些系统都需要重新进行整理并形成一个完善的文档资料。
5、由于这些数据库系统承载着xxx非常重要的业务系统数据,所以在日常维护中需要非常仔细,每周、每月、每季都需要有相应的巡检记录,需要详细记载以下一些内容:
n监控数据库对象的空间扩展情况
n监控数据量的增长情况
n系统健康检查,检查以下内容:
n数据库对象有效性检查
n查看是否有危害到安全策略的问题。
n查看alert、Sqlnet等日志并归档报错日志
n分析表和索引
n查看对数据库会产生危害的增长速度
n检查表空间碎片
n数据库性能调整
n预测数据库将来的性能
n调整和维护工作
n后续空间
3项目总体方案
建立在Oracle数据库上的关键业务系统,是当今企业的核心应用。
如何改善其性能和可用性,是包括系统设计、维护和管理人员的最大挑战。
为了更好地维护系统和数据库,必须随时了解系统和数据库的运行状况。
但由于数据库维护具有一定的复杂性,增加了维护工作的难度。
所以数据库维护需要借助一些相关的
工具,优秀的数据库管理工具,可以大大简化生产环境下的应用维护和管理,提高IT人员的工作效率。
数据库管理人员借助相应的工具可以主动、迅速、方便的监控系统的运行。
基于我公司多年在Oracle数据库的使用及研究经验上,对于Oracle数据库的管理,主要包括三方面的内容:
n系统诊断:
了解当前运行的Oracle的状态,发现数据库性能瓶颈;
n空间管理:
即数据库存储结构的调优,包括定期检查数据库的存储结构,发现Oracle数据库存储中的主要问题(如数据库碎片),进行碎片重组和数据分布以及容量规划等;
n调优SQL,分析对系统性能影响比较大的SQL语句,调整SQL语句的执行效率。
使SQL存取尽可能少的数据块。
下面我们将从以下这几个方面详细阐述:
3.1数据库性能优化
Oracle性能管理既是一种艺术,也是一种科学。
从实用角度讲,它可以分为两种类型,主动式和被动式性能管理。
主动式性能管理涉及到特定系统实施初期的设计和开发,包括硬件选择、性能及容量规划,海量存储系统的选择,I-O子系统配置及优化,以及如何对不同组件进行定制,以满足Oracle数据库和应用系统的复杂要求。
被动式性能管理涉及到现有环境中不同组件的性能评估、故障排除和Oracle环境的优化。
本文旨在探讨如何进行被动式性能调优,以便为Oracle性能调优提供必要的指导,从而避免仅仅通过反复尝试的方式进行性能调优,提高Oracle性能管理的效率。
所以ORACLE数据库性能恶化表现基本上都是用户响应时间比较长,须要用户长时间的等待。
获得满意的用户响应时间有两个途径:
一是减少系统服务时间,即提高数据库的吞吐量;二是减少用户等待时间,即减少用户访问同一数据库资源的冲突率。
对于以上的两个问题,通常我们采用以下几个方面来进行改善:
n调整服务器内存分配。
例如,可以根据数据库运行状况调整数据库系统全局区(SGA区)的数据缓冲区、日志缓冲区和共享池的大小;还可以调整程序全局区(PGA区)的大小。
n调整硬盘I/O问题,达到I/O负载均衡。
n调整运用程序结构设计
n优化调整操作系统参数和使用资源管理器
nSQL优化、诊断latch竞争、Rollback(undo)Segment优化、提升block
的效率等等
3.1.1检查Oracle数据库性能
检查Oracle数据库性能情况,包含:
检查数据库的等待事件,检查死锁及处理,检查cpu、I/O、内存性能,查看是否有僵死进程,检查行链接/迁移,定期做统计分析,检查缓冲区命中率,检查共享池命中率,检查排序区,检查日志
缓冲区,总共十个部分。
3.1.1.1检查数据库的等待事件
setpages80
setlines120
coleventfora40
selectsid,event,p1,p2,p3,WAIT_TIME,SECONDS_IN_WAITfromv$session_waitwhereeventnotlike'SQL%'andeventnotlike'rdbms%';
如果数据库长时间持续出现大量像latchfree,enqueue,bufferbusywaits,dbfilesequentialread,dbfilescatteredread等等待事件时,需要对其进行分析,可能存在问题的语句。
3.1.1.2DiskRead最高的SQL语句的获取
SQL>SELECTSQL_TEXTFROM(SELECT*FROMV$SQLAREAORDERBYDISK_READS)WHEREROWNUM<=5desc;
3.1.1.3 查找前十条性能差的sql
SELECT*FROM(SELECTPARSING_USER_IDEXECUTIONS,SORTS,COMMAND_TYPE,DISK_READS,SQL_TEXTFROMV$SQLAREAORDERBYDISK_READSDESC)
WHEREROWNUM<10;
3.1.1.4等待时间最多的5个系统等待事件的获取
SELECT*FROM(SELECT*FROMV$SYSTEM_EVENTWHEREEVENTNOTLIKE'SQL%'ORDERBYTOTAL_WAITSDESC)WHEREROWNUM<=5;
3.1.1.5检查运行很久的SQL
COLUMNUSERNAMEFORMATA12
COLUMNOPNAMEFORMATA16COLUMNPROGRESSFORMATA8
SELECT USERNAME,SID,OPNAME,ROUND(SOFAR*100 / TOTALWORK,0)
PROGRESS,TIME_REMAINING,SQL_TEXT FROM V$SESSION_LONGOPS ,
||
V$SQL
'%'
AS
WHERE
ORACLE产品日常运行维护年度服务项目
TIME_REMAINING<>0ANDSQL_ADDRESS=ADDRESSANDSQL_HASH_VALUE=HASH_VALUE;
3.1.1.6检查消耗CPU最高的进程
SETLINE240SETVERIFYOFF
COLUMNSIDFORMAT999COLUMNPIDFORMAT999COLUMNS_#FORMAT999
COLUMNUSERNAMEFORMATA9HEADING"ORAUSER"COLUMNPROGRAMFORMAT
A29COLUMNSQL FORMATA60
COLUMNOSNAMEFORMATA9HEADING"OSUSER"
SELECTP.PIDPID,S.SIDSID,P.SPIDSPID,S.USERNAMEUSERNAME,S.OSUSEROSNAME,P.SERIAL#S_#,P.TERMINAL,P.PROGRAMPROGRAM,P.BACKGROUND,S.STATUS,RTRIM(SUBSTR(A.SQL_TEXT1,,80))SQLFROMV$PROCESSP,V$SESSIONS,V$SQLAREAAWHEREP.ADDR=S.PADDRANDS.SQL_ADDRESS=A.ADDRESS(+)ANDP.SPIDLIKE'%&1%';
3.1.1.7检查碎片程度高的表
SQL>SELECTsegment_nametable_name,COUNT(*)extentsFROMdba_segmentsWHEREownerNOTIN('SYS','SYSTEM')GROUPBYsegment_nameHAVINGCOUNT(*)=(SELECTMAX(COUNT(*))
FROMdba_segmentsGROUPBYsegment_name);
3.1.1.8检查表空间的I/O比例
SQL>SELECTDF.TABLESPACE_NAMENAME,DF.FILE_NAME"FILE",F.PHYRDSPYR,F.PHYBLKRDPBR,F.PHYWRTSPYW,F.PHYBLKWRTPBWFROMV$FILESTATF,DBA_DATA_FILESDFWHEREF.FILE#=DF.FILE_IDORDERBYDF.TABLESPACE_NAME;
3.1.1.9检查文件系统的I/O比例
SQL>SELECT
SUBSTR(A.FILE#,1,2)
"#",
SUBSTR(A.NAME,1,30)
"NAME",
A.STATUS,A.BYTES,B.PHYRDS,B.PHYWRTSFROMV$DATAFILEA,V$FILESTATBWHEREA.FILE#=
B.FILE#;
3.1.1.10检查死锁及处理
查询目前锁对象信息:
机密文件
版权所有2012
第 页共 页
40
45
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 数据库 日常 维护 项目 方案