Oracle数据库10g自动性能诊断技术探析

来源 :科学时代·下半月 | 被引量 : 0次 | 上传用户:gaogaozai11111
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘 要】本文介绍的Oracle 数据库10g 新性能诊断技术和监控技术。可以在不受工作负载影响的情况下,简化管理、提高效率以及降低与系统管理相关的成本,该技术大大简化了Oracle数据库的诊断和调整过程。
  【关键词】自动性能诊断;自动工作负载信息库;oracle 10g
  Oracle 10g是第一个为网格计算而设计的数据库。目前的Oracle数据库10g可在所有符合行业标准的平台上运行,而且可以从单一实例迁移到网格计算方式,无需更改一行代码。
  在产品人性化方面,Oracle数据库10g提供了用户要求的响应时间,大大降低了宕机成本。值得一提的是,Oracle还能够借助作为网格计算基础的Oracle真正应用集群,为用户提供不间断的可用性、可伸缩性和低成本的集群方式。
  在安全性方面,Oracle数据库10g具有独特的安全特性,能够满足隐私、法规遵守和数据整合方面的需求,这些特性包括行级安全性、细粒度审计和透明的数据加密技术等方面。
  在成本控制方面,Oracle使耗时且易出错的管理工作自动化,因此,数据库管理员可以将精力集中到战略性业务目标上。
  Oracle 新性能诊断和监控技术内置于数据库服务器中,并通过Oracle Enterprise Manager(EM)实现外部化。该技术大大简化了Oracle数据库的诊断和调整过程。主要组件包括自动工作负载信息库(AWR)、自动数据库诊断监控程序(ADDM)和OracleEnterprise Manager (EM)。所有这些组件均建立在Oracle数据库代码中代码规范的基础上,该代码规范生成大量来自Oracle数据库的诊断统计信息。为了实现这一新功能,已对Oracle服务器进行了许多更改。
  一、数据库性能统计
  每个新数据库版本都增加了更多的性能统计,用于诊断数据库中的问题。10g增加了几个新的统计,专门用于提高性能问题自动诊断的精确性。在服务器内部生成一个工具的优点之一是如果问题难以诊断,则我们可以添加更多的规范来简化它。
  1.等待类。Oracle数据库10g中现在拥有数百个不同的等待事件。事件数目之所以增多,主要是由于为了确保更精确的问题诊断,许多锁和锁栓已经作为单独的等待事件发生。为了实现对等待事件进行更容易的高级分析,等待事件已经划分为基于解决方案空间的等待类,该空间通常用于解决与等待事件有关的问题。
  2.时间模型。尝试调整Oracle系统时涉及到许多组件,每个组件都具有单独的统计集。要从整体上检查系统,必须使用某种通用度量来实现跨模块比较,在10g中,多数顾问程序都会及时的报告它们的结果。此外,还引入了名为“时间模型统计”的新统计,这些统计显示为新的V$SYS_TIME_MODEL 和V$SESS_TIME_MODEL 视图。该规范可以帮助我们识别对数据库操作的量化效果。
  3.DB 时间。新统计最重要的部分是“数据库时间”。这是数据库调用花费的总时间。调整Oracle 系统的目标可以陈述为减少用户对数据库执行操作所花的时间,即减少“DB 时间”。如果减少系统对给定工作负载的“DB 时间”,则可以改进性能。“DB 时间”的减少还可以用作调整投入有效性的度量。
  4.活动会话历史记录(ASH)。在Oracle数据库10g 中,V$ACTIVE_SESSION_HISTORY视图提供了有关数据库中所发生的事件的取样历史记录(记录在内存中的循环缓冲区中)。由于只捕获处于“活动”状态的会话(即数据库调用中的会话),因此它可以表示一个可管理的数据集、直接与执行的工作关联的大小,而非系统允许的会话数量。当会话等待资源时,等待的完成导致取样数据被修改,这样V$ACTIVE SESSION_HISTORY 中的条目将包含等待事件实际完成所需的时间。使用“活动会话历史记录”使我们能够回溯时间,执行详细的分析,并通常不必重播工作负载以收集其它性能跟踪信息作为性能诊断的一部分。
  5.其它SQL统计。引入了新列SQL_id。这是比散列值“更唯一”的值,并显示为字符串。SQL_id用于Oracle 数据库10g智能基础架构中的SQL语句上的所有操作。以上描述的最常用的等待类已经添加到V$SQL中的SQL统计中。PLSQL和Java中花费的时间也被量化。为了使SQL调整顾问程序进行更全面的分析,还捕获了SQL语句的示例绑定值。
  6.操作系统统计。在数据库中的计时数据方面遇到的问题之一是,许多CPU计时器的粒度比已用计时器低数个数量级。由于许多操作将报告零CPU使用率,因此这将导致对CPU时间的低估。随着CPU速度的提高,这一问题变得更加严重。因内存压力导致的分页和交换活动也可以影响数据库的性能,但这无法通过查看任何可用数据库统计信息得到诊断。新视图V$OSSTAT可以捕获数据库中的计算机级信息,这样我们便可以轻松地确定是否存在硬件级资源问题。
  二、AWR:性能信息库
  长期以来,人们已经认识到维护有关Oracle系统操作的信息库的重要性。10g中采用了自动工作负载信息库,从而使信息库的维护又上了一个台阶。AWR自动运行以收集有关Oracle系统操作的数据并将捕获的数据存储到数据库中。AWR设计轻便,能够对其使用的存储空间进行自行管理,这样您最终获得的性能数据信息库将不会大于捕获数据的数据库。在完成默认安装后,可以对数据保存的频率和时间长度进行配置。还可以执行手动快照。
  AWR捕获先前由Statspack捕获的所有数据以及以上所述的新数据。这些被捕捉到的数据允许进行系统级和用户级分析,又一次减少了为诊断问题所进行的重复工作负载需求。最优化的执行确保了捕捉到的数据被高效执行,以实现企业运营开支的最小化。这些优化的一个示例就是对SQL语句的捕捉。在这些数据库中运行时,我们维持SQL语句数据在快照之间的增量。这使我们能够高效地只捕获上个快照后对系统负载具有显著影响的语句,而不必捕获自从它们首次出现在系统中之后所有已执行一个阚值级别以上工作的语句。这既提高了SQL捕获的性能,另一方面又大幅降低了随着时间不断捕获SQL语句的数量。   三、自动数据库诊断监控程序:预防性诊断
  以AWR中捕获的数据为基础,Oracle数据库10g包含自动数据库诊断监控程序(ADDM),一个内置于数据库中的整体自我诊断引擎。做一个医学上的类比,使用ADDM 就像到您的全科医生那里看病一样。它查看整个系统,进行诊断,然后提供处理方法建议,或者可能求助于专家程序,即其它10g顾问程序组件,如SQL调整顾问程序。由于ADDM 在每次AWR 统计值捕获后自动运行,因此您可能将其看作是每30分钟进行一次定期排定的性能检查。就像医生无论您属于哪个种族都会为您提供治疗一样,ADDM将以同等方式自如处理任何类型的数据库,OLTP、数据仓库或这些类型的混合。
  在AWR中使用新的时间模型数据,ADDM能够作出量化汇报,如登录系统时间占耗费于数据库全部时间的20%。该量化值可以使任何需要修复问题或安排它进行修复的任何人更容易相信。在最高级别,ADDM使用时间模型和等待模型数据检查时间耗费在数据库中的哪些方面,并下钻自上而下树结构规则集。ADDM 内部使用的分类树基于OracleHQ 中的Oracle 服务器技术性能组和其他性能专家的的性能调整经验。这些分类规则的大多数已经在Oracle 内部工具中得到使用,Oracle Support 组织成功使用这些内部工具用于处理Statspack 文件已有一年多。
  在这些问题中,某些问题先前可以通过执行Statspack 报表分析来检测,而其它问题(如识别在Java 中耗费大量时间的SQL语句以及识别过量检查点的原因)则必须通过执行附加诊断工作才能确定;ADDM 不仅限于执行等同于Statspack 分析的工作。
  数据库性能页由三个部分组成,并在单个屏幕上显示主机信息、用户活动和吞吐量。通过此信息,数据库管理员先验证计算机是否有足够的CPU 和内存资源可用,然后对数据库进行分析。然后,可以通过“活动会话”图形(显示用户对CPU 的使用程度以及是否有用户正在等待资源而非正在运行CPU)评估数据库的运行状况。最后,该页面显示了一个吞吐量图形,用于判断吞吐量是否受到计算机资源、CPU 消耗或资源争用的影响。“活动会话”图形包含大量数据。其中的图表在Y 轴上显示了由等待类和CPU 分解的活动会话的平均数。该数字表示数据库上的平均负载。Oracle 实例上包含200 已连接的并正并发工作的会话,但如果只有10 个会话在某个时间点活动,则图形上的活动会话的数目将为10。该数据每15 秒钟刷新一次,以便可以实时对问题进行分析。
  四、结论
  Oracle数据库性能诊断是数据库管理员职责的重要部分,从以往来看,它消耗了大量的时间和投入,但在确保回报方面却收效甚微。Oracle 数据库10g 中的ADDM、AWR 和ASH 的预防性自动诊断功能为数据库管理员提供了结果和建议,从而可以将精力投入到将为系统吞吐量带来最大好处的方面。用于支持这些的代码规范还增强了企业管理器支持的实时反应式调整方法。与传统监控系统相比,该诊断所需的成本(无论是资金方面的成本还是已使用的系统资源方面的成本)低很多。
  由于加入了网格功能,使得ORACLE 10g 成为企业商务信息应用的高端数据平台,而对相应时间,安全性和自动化的关注使得用户可以更快速的实现业务整合,并从中获得更多的商业价值。同时,Oracle数据库10g还通过自动化的管理降低拥有成本,并同时提供尽可能高的服务质量,因而是大型企业和中小型企业的理想选择。
  参考文献:
  [1] 赵伯山.Oracle Database 10g 实用培训教程[M].北京:清华大学出版社,2005.
  [2] 马树奇译.OCP:Oracle 10g 新特性学习指南[M].北京:电子工业出版社,2005.
其他文献
文物艺术品拍卖行业发展起步较晚,拍卖过程中风险因素较多.为了提高文物艺术品拍卖管理水平,本文认为,应当结合文物艺术品拍卖流程,采用WBS-RBS法进行文物艺术品拍卖风险识别
本文基于可持续发展和“三重底线”理论,通过对2008-2017年沪深A股非金融类上市公司进行实证分析,发现在披露社会责任报告的企业中,普遍存在不重视社会责任履行的现象.研究发
当前,国有企业投资成为拉动业务发展、实现市场拓展的重要载体,尤其是一些大型国有企业集团,股权投资更是成为其转型发展的重要手段.然而,随着我国国有企业股权投资业务规模