Chinaunix首页 | 论坛 | 博客
  • 博客访问: 349085
  • 博文数量: 74
  • 博客积分: 2705
  • 博客等级: 少校
  • 技术积分: 590
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-05 15:13
个人简介

鱼!

文章分类

全部博文(74)

文章存档

2014年(12)

2013年(10)

2012年(4)

2011年(11)

2010年(7)

2009年(12)

2008年(16)

2007年(2)

我的朋友

分类: Oracle

2014-09-26 15:12:27

原文地址:Oracle DB 监控和调优 作者:huaius


监控DB性能并且保证其最佳运行是DB管理的重要工作之一,下面简要介绍DB健康状况的监控、发现性能问题并且实施正确的应对


主动监控


Oracle DB使得监控数据库的健康状况和性能变得简单。它会监控一些相关的关键指标,分析DB的运行负载,自动定位需要注意的问题,并以告警的方式显示在主页上面,或者配置为邮件通知。

警告(Alert)

警告帮助用户监控数据库,当特定的阈值被超过的时候,警告会被发送。对于每个警告,用户可以设置关键阈值和警告阈值,这些阈值代表系统的某种危险状态,例如,当一个表空间使用情况达到97%时。除了通知,用户也可以设置警告来执行一些操作,比如执行一个脚本。比如说,当出现一个表空间余额不足时,压缩表空间对象。默认情况下,警告包括:
  1. ■ Archive Area Used (warning at 80 percent full)
  2. ■ Broken Job Count and Failed Job Count (warning when goes above 0)
  3. ■ Current Open Cursors Count (warning when goes above 1200)
  4. ■ Dump Area Used (warning at 95 percent full)
  5. ■ Session Limit Usage (warning at 90 percent, critical at 97 percent)
  6. ■ Tablespace Space Used (warning at 85 percent full, critical at 97 percent full)

自检:数据库自动检测监控

DB自带一个自我检测引擎,叫做数据库自动检测监控 ADDM(Automatic Database Diagnostic Monitor)。ADDM诊断DB性能并确定如何解决发现的问题。为了方便使用ADDM自动性能分析,DB会定期的收集状态和负载的快照。这里的快照指的是,被ADDM用来做性能对比的特定时间段上的历史数据元组。默认的时间段是一小时,快照提供了在特定时间的DB的状态汇总信息,他们被保存在AWR(Automatic Workload Repository),在SYSAUX表空间。

ADDM分析AWR中获取的数据来发现系统中的主要问题,并通常给出建议的决绝方案和期望收益。一般来说,ADDM发现的问题包括:
1. 资源争夺(瓶颈),比如DB使用大量的CPI和内存,因为高负载SQL语句。
2. 连接管理,比如应用执行大量的登录。
3. 多用户环境中的锁争夺


使用Advisors对DB性能调优


DB带有一系列的指导(advisors)来帮助用户管理和调优数据库

指导

指导是强大的DB管理工具,提供解决DB问题的特定建议,覆盖非常广的领域,包括空间、性能和undo管理。和警告比起来,指导提供了更易理解的建议,因为警告的设计目标是低成本,对性能的影响最小;而指导会消耗更多资源从而进行更细节的分析。指导们使用户能够提高DB性能,包括ADDM,SQL指导和内存指导等。比如,共享池指导能够孤星花的显示更改SGA大小对性能的影响。

SQL指导

SQL指导检测给定的SQL语句或语句组,并提供旨在提高效率的建议。这些指导会给出多种建议,例如建立SQL概要,重构SQL语句,增加索引、物化视图或者分区,刷新优化数据。SQL指导分为SQL调优指导和SQL接入指导(SQL Tuning Advisor and the SQL Access Advisor)

SQL调优指导被用来优化语句或语句组,一般来说,当收到ADDM性能发现并推荐优化时,使用这个指导。当然也可以定期的执行这个指导来优化资源密集的语句或者负载。当作用于语句组时,指导其实是分析单独的语句,而不会处理语句之间的相互关系。

SQL接入指导的职责是提供模式改动建议。比如创建诸如索引和物化视图等接入结构来优化SQL访问,或者是是对表、索引、物化视图进行分区来提高查询性能。它以SQL负载为输入,用户可以选择不同的负载源,包括当前或最近的SQL活动,SQL仓库。

自动SQL调优指导

从11g来事,SQL优化指导会在系统维护窗口自动运行,选择系统中高负载SQL查询并生成建议。自动SQL调优指导可以配置为自动实施SQL概要建议。一个SQL概要包含了针对SQL语句的额外参数,而且可以使得查询优化器在运行时生成更加好的运行计划。

内存指导

内存指导被用来优化内存使用。充足的物理内存会对DB的性能造成重大的影响。通过自动内存管理能力,DB能够自动的在多个SGA和PGA组件之中分配内存空间来提高性能,当然这些调整都是在用户设定的总范围内。

ADDM定期的评估DB性能来发现问题。如果ADDM发现当前可用内存不足并影响性能,那它就会提醒用户增加内存配额,用户可以使用内存指导来增加内存。
阅读(571) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~