`

Oracle9i中的性能优化方法和工具学习(二)

阅读更多

Oracle9i数据库存性能分析和优化工具

一.数据库性能优化工具
    Oracle9i分析和优化数据库性能的工具包括动态故障排除、统计视图工具和企业管理器包。
    这几个工具用来收集性能统计信息和事件(如等待事件)的诊断记录,你可以使用这些事件来发现和诊断性能问题。
    Oracle视图提供了故障排除和性能优化信息。这些视图包括:
    1.动态性能视图
         Oracle将系统统计信息和问题排除信息记录在动态性能视图中。例如V$SYSTAT视图中包括系统统计信息。
    2.数据字典视图
         Oracle将数据存储统计信息记录在数据字典视图中,如DBA_CLUSTERS视图。这些视图使你能够监视并优化数据存储,以提高性能。

    

    可以使用下面的统计信息收集工具来获取更多关于数据库性能的信息
     1.BSTAT/ESTAT
            BSTAT/ESTAT工具由utlbstat.sql和utlestat.sql脚本组成,它用来在单个指定的时期内收集性能统计信息并根据这些统计信息生成报告。

           
     2.STATSPACK
            STATSPACK工具是BSTAT/ESTAT工具的增强,它允许你对不同时间段上的统计信息进行比较,并耗费资源的SQL指令的性能进行分析。

           
     Oracle企业管理器(OEM)包括诊断软件包和优化软件包。这两个软件包包含GUI工具,如负责性能管理和优化的性能管理器。

     
     Oracle提供了等待事件的实时记录,无论什么时候,只有有线程被强制等待资源,等待事件就会发生。这些记录在确定资源瓶颈时非常有用。


    Oracle也在警报日志与跟踪日志中记录所有的错误。这使作得你可以检测和诊断数据库的问题。
    数据库管理员和软件开发人员可以编写定制的脚本,这些脚本使用ORACLE现有的工具来收集特定的统计信息并制定性能优化操作计划。
    例如:脚本可能使用Oracle企业管理器(Oracle Enterprise Manager,OEM)事件服务来检测性能问题,以及在出现问题时触发OEM作业服务来运行优化脚本。

 

二.使用数据字典视图辅助优化
     DBMS_STATS软件包是一个PL/SQL过程的集合,优化者使用它来收集和存储统计信息。
     DBMS_STATS将这些统计信息存储在数据字典中,可以使用它们来分析存储性能。
     DBMS_STATS软件包可以收集索引统计信息、数据表统计信息、柱状图统计信息、模式统计信息。
     可以通过运行下面的过程来收集DBMS_STATS各项统计数据:
     1.GATHER_TABLE_STATS
     2.GATHER_INDEX_STATS
     3.GATHER_SYSTEM_STATS
     4.GATHER_SCHEMA_STATS
     5.GATHER_DATABASE_STATS
     当运行DBMS_STATS过程的时候,这些过程将当前统计信息放入下面的视图中:
     1.DBA_CLUSTERS:DBA_CLUSTERS视图包含每一个簇,以及块和扩展层的数据存储信息。
     2.DBA_TABLES和DBA_TAB_COLUMNS:DBA_TABLES视图和DBA_TAB_COLUMNS视图提供表和列的存储和所有权信息,包含诸如唯一和数据类型的信息。
     3.DBA_INDEXS和INDEX_STATS:DBA_INDEXS视图描述了每个索引是如何存储以及哪些表与之关联。INDEX_STATS视图包含了索引的结构、用法和性能的详细信息。
     4.INDEX_HISTOGRAM和DBA_TAB_HISTOGRAMS:INDEX_HISTOGRAM视图和DBA_TAB_HISTOGRAMS视图包含了各个已编入索引和未编入索引的列的数据分布统计信息。
     DBMS_STATS软件包是一个PL/SQL过程的集合,优化者使用它来收集和存储统计信息。
     可以使用ANALYZE命令代替DBMS_STATS包来收集系统统计信息。二者区别在于,ANALYZE命令收集象表和索引的结构完整性这样的数据,而DBMS_STATS软件包则不是。但该命令受到较多的限制,且具有一定的不精确性,因此不应该使用它来收集基于代价的最优化统计。

 

三.使用动态性能视图
     动态性能视图包含有关当前系统性能的统计信息。当实例启动时,ORACLE载入这些视图;当该实例关闭时,Oracle将清除这些视图。在数据库运行时,Oracle对这些视图进行实时更新。
     动态性能视图是SYS用户所拥有的V$视图。这些视图是建立在X$表上的,而X$表是动态更新的。
     尽管可以直接查询作为基础的X$表以访问那些出现在V$视图中的相同信息。但是,X$表的名称和列的名称一般为缩略名且较为含混,所使用视图较为容易。
     由于动态性能视图是建立在实例的基础上的,因此只要实例启动,就可以随时访问它们,即使数据库是关闭的。
     只有当你将TIMED_STATISTICS的初始化参数值设为TRUE时,在动态性能视图中的统计信息才会把实时信息加入。

     动态信息视图提供了与以下相关的信息:
     1.实例和数据库性能:V$INSTANCE、$DATABASE、V$PARAMETER、V$PROCESS、V$WAITSTAT以及V$SYSTEM_EVENT视图包括有关实例和数据库性能的数据。
     2.内存使用:V$BUFFER_POOL_STATISTICS、V$DB_OBJECT_CACHE、V$LIBRARY_CACHE、V$ROWCACHE、V$SYSSTAT以及V$SGASTAT视图包括有关内存使用的数据。
     3.磁盘性能:V$DATAFILE、V$FILESTAT、V$LOG、V$LOG_HISTORY、V$DBFILE、V$TEMPFILE以及V$TEMPSTAT视图包括有关磁盘性能的数据。
     4.资源争用:V$LOCK、V$ROLLSTAT、V$WAITSTAT、V$LATCH以及V$UNDOSTAT视图包括有关资源争用的数据。
     5.会话性能:V$SESSION、V$SESSTAT、V$PROCESS、V$LOCK、V$OPEN_CURSOR、V$TRANSACTION、V$SESSION_EVENT以及V$SESSION_WAIT视图包括有关会话性能的数据。

 V$STATNAME视图列出了所有可用的统计信息。它显示了这些变量统计信息的名称编号,以及标明每个统计信息所监视的活动或进程的类型。

    
     V$SYSSTAT视图列出了所有可用的统计信息以及它们的当前值。

    
     V$STATNAME和V$SYSSTAT视图显示了每个统计信息属于哪个统计信息类。共有八个统计信息类,每个统计信息类涉及到优化的一个面:
    1.Class1:Class1统计信息涉及常规实例活动。
    2.Class2:Class2统计信息涉及恢复日志缓冲活动。
    3.Class4:Class4统计信息涉及堵塞。
    4.Class8:Class4统计信息涉及数据库缓冲存储区活动。
    5.Class16:Class4统计信息涉及操作系统活动。
    6.Class32:Class4统计信息涉及并行性。
    7.Class64:Class4统计信息涉及表的访问。
    8.Class128:Class4统计信息涉及调试过程。
    可以使用V$SESSTAT视图来查看特定会话的统计信息。该视图列出了所有当前打开会话的每一个统计值。该视图使用V$STATNAME视图中的会话ID和统计信息的编号来指示每个统计值。

   
     例如,可以使用V$SESSTAT视图来找出会话3中的第138个统计信息的值。

    
     为了能够看到统计信息的名称而非统计信息的编号,你可以通过将V$STATNAME和V$SESSTAT视图连接起来获得更清楚的结果。

    


四.等待事件

     当两个或两个以上的进程争用同一资源时,结果必然是至少一个进程需要等待资源变为可用,此时Oracle记录一个等待事件。
     需要监视等待事件并且尝试减少等待的频率和等待的持续时间,以提高系统性能。


     等待事件的例子包括缓冲器临时占用等待、连续读取等待以及等待释放锁。
     Oracle在V$EVENT_NAME视图中提供了等待事件类别的列表。该视图列出了与每个事件相关的编号、名称,以及其他三个相关参数。
     Oracle在V$SYSTEM_EVENT、V$SESSION_EVENT以及V$SESSION_WAIT视图中存储了有关等待事件的统计信息。
     V$SYSTEM_EVENT视图列出了自当前实例启动以来所发生的除了会话以外的所有等待事件。
     对于每一个等待事件类别,V$SYSTEM_EVENT视图显示了从实例启动以来已发生的事件的数量、超时的总数量、等待的总时间和每个等待事件的平均等待时间。


     V$SESSION_EVENT视图显示了一个特定会话过程中所发生的等待事件的信息。它为会话过程中所发生的等待事件的每个类别显示相关的会话ID(SID)和统计信息。


     V$SESSION_WAIT视图为正在等待的当前会话提供了资源和事件的相关信息。同时它显示了SID、用来识别等待的顺序编号、等待事件的类别和相关的所有参数、等待的持续时间以及等待事件是否还在进行。
     提示:要想查看等待次数的相关信息,需要确保将TIMED_STATISTICS初始化参数值设置为TRUE。    


五.警报日志和跟踪文件
     警报日志是记录错误和改变数据库结构的语句(如RECOVER和ALTER DATABASE语句)的日志文件。
     当启动实例的时候,Oracle使用所有的非默认初始化参数值来更新警报日志。
     在实例运行时,Oracle使用出现的内部错误和块破坏的错误来更新警报日志,并将所作的改变记录到数据库中。
     如果将LOG_CHECKPOINTS_TO_ALERT的初始参数值设为TRUE,警报日志会记录下面的检查点信息:
     1.检查点开始和结束的时间
     2.不完整的检查点
     3.恢复开始和结束的时间
     4.归档时间
     5.死锁和超时错误
     应该定期检查警报日志,以便在一些潜在的错误对系统性能产生严重的影响之前将其检测出来。你也可以将警报日志作为一个诊断工具来帮助你识别当前数据库问题的原因。
     要维护警报日志,应该定期从日志中删除那些不再相关的信息,以便于日志一直保持一个可运行的容量。
     除了提供警报日志外,Oracle还创建跟踪文件,跟踪文件包含了后台进程所检测到的错误的相关信息。
     这些后台进程的跟踪文件一般不包含对性能优化有用的信息。然而,Oracle支持人员可以利用这些跟踪文件来解决数据库问题。
     可以启用服务器跟踪进程来跟踪特定的会话或实例过程中所有已执行的SQL指令。要实现这个目的,需要将SQL_TRACE初始化参数值设为TRUE。Oracle将会在用户的跟踪文件中记录这个跟踪信息。

 

六.小结
     1.Oracle9i提供了动态性能视图和数据字典视图、统计信息收集工具、Oracle企业管理器(OEM)软件包以及错误记录。
     2.DBMS_STATS软件包为基于代价的最优化收集统计信息。可以使用DBMS_STATS软件包来收集表和索引中的数据存储信息,以及数据分布柱状图。
     3.动态性能视图是基于表的视图,它记录了与ORACLE当前性能相关的统计信息。可以通过查询这些视图来收集内存使用、资源争用、磁盘性能以及常规实例性能的相关信息。用户可以用特定的动态性能视图(如V$SESSTAT视图)来收集仅在某一特定会话中的性能信息。
     4.当过程争用同一资源时,至少有一个进程必须等待资源变为可用。此时Oracle记录等待事件。你可以使用这些等待事件信息来查看性能瓶颈。
     5.Oracle在警报日志中记录内部错误和块破环的错误。后台进程也跟踪文件中记录错误。可以使用警报日志的记录来检测和诊断数据库的错误,还可以选择使用跟踪文件来记录用户的SQL查询。

  • 大小: 41.5 KB
  • 大小: 26.6 KB
  • 大小: 39.4 KB
  • 大小: 83 KB
  • 大小: 65.6 KB
  • 大小: 65.3 KB
  • 大小: 23.5 KB
  • 大小: 16 KB
  • 大小: 60.1 KB
  • 大小: 65.5 KB
  • 大小: 82.9 KB
  • 大小: 68.5 KB
  • 大小: 54.4 KB
分享到:
评论

相关推荐

    Oracle9i 数据库性能优化

    通过对 Oracle9i 数据库性能优化的学习和实践,我们可以有效地提高系统的整体性能。这不仅涉及到硬件配置的调整、数据库参数的优化,还需要深入理解 SQL 语句编写技巧和合理的物理设计策略。此外,利用 Oracle 提供...

    Oracle9i 数据库性能优化 V 2.pdf

    #### 二、Oracle9i性能优化基础 1. **理解Oracle9i架构**: - Oracle9i采用了多层体系结构,包括监听器、进程、后台进程等。 - 学习Oracle9i的数据字典视图,如V$SESSION、V$INSTANCE等,这些视图提供了关于...

    Oracle9i 数据库性能优化 V 1

    标题“Oracle9i 数据库性能优化 V 1”以及描述“Oracle9i 数据库性能优化 V 1 介绍了oracle9i的日常维护,优化”,明确指出了本文档主要关注的是Oracle 9i版本数据库的性能优化方法及其日常维护策略。以下将详细解析...

    ocp oracle 9i 数据库性能优化

    以下是对"ocp oracle9i 数据库性能优化"主题的详细解释: 1. **数据库架构优化**:Oracle 9i引入了多租户架构,允许在一个数据库实例中管理多个数据库,这可以提高资源利用率并简化管理。优化架构包括合理设置表...

    OCP Oracle9i 性能调整学习指南.pdf

    ### OCP Oracle9i性能调整学习指南知识点概览 #### 一、OCP认证与Oracle9i概述 - **OCP认证**: Oracle Certified Professional (OCP) 是 Oracle 公司提供的一项专业认证计划,旨在验证数据库管理员、开发人员以及 ...

    oracle9i优化设计与系统调整

    系统调整通常采用监控工具和性能分析方法,例如使用Oracle的性能视图(V$视图)、AWR(自动工作负载repository)报告、ASH(Automatic Shared Memory Management)等来识别性能瓶颈。根据分析结果,可能需要调整初始化参数...

    Oracle9i学习精解版4

    Oracle9i学习精解版4是一本专注于Oracle数据库系统学习的深入解析教程,它涵盖了Oracle9i版本的主要特性和功能。Oracle9i是Oracle数据库的一个重要版本,它在当时引入了许多创新技术,对数据库管理、性能优化以及...

    Oracle9i中文基础教程

    在Oracle9i中,安装和配置是入门的第一步。教程可能会讲解如何在不同操作系统环境下安装数据库服务器和客户端工具,包括设置环境变量、创建监听器、配置网络服务名等。理解这些步骤对于后续的数据库管理和维护至关...

    Oracle9i数据库系统优化与调整.pdf

    第6章 性能优化基础知识 第7章 系统优化方法 第二部分 ORACLE应用系统设计优化 第8章ORACLE数据库系统优化安装 第9章 项目分析、设计与管理 第10章 数据库结构设计要点 第三部分 ORACLE应用系统开发优化 第12...

    oracle9i教程

    Oracle9i是Oracle公司推出的一款强大的关系数据库管理系统,它以其高效、稳定和灵活的特点在企业级应用中占据重要地位。本教程将深入探讨Oracle9i的核心概念和技术,帮助读者全面了解和掌握这个系统。 一、数据库...

    oracle9i官方文档9.2

    在"performance"这个标签下,我们可以关注Oracle 9i在性能优化方面的知识。以下是一些核心概念和功能的详解: 1. **SQL优化**:Oracle 9i引入了自动SQL优化(Auto SQL Tuning),通过SQL Profile和SQL Plan ...

    oracle9i客户端精简版.zip

    在“oracle9i310.msi”这个文件中,包含了Oracle 9i客户端的安装程序,用户只需运行此文件即可开始安装。 4. **使用说明.htm**:这个文件提供了关于如何使用客户端的指导,可能包括安装步骤、连接配置、基本操作等...

    ORACLE9i_优化设计与系统调整

    《ORACLE9i_优化设计与系统调整》是针对Oracle 9i数据库系统的一份重要学习资料,尤其适合初学者和对性能优化感兴趣的IT从业者。Oracle 9i是Oracle公司推出的第九代数据库产品,它在功能、性能和可管理性上都有显著...

    Oracle 9i 调整SGA性能

    Oracle 9i数据库系统是Oracle公司推出的一款重要版本,它在数据库管理、性能优化方面有着显著的提升。本文将深入探讨Oracle 9i中的System Global Area(SGA)性能调整,帮助你理解如何通过优化SGA来提升数据库的整体...

    Oracle9i数据库的性能优化方法.pdf

    Oracle9i数据库的性能优化是确保数据库高效运行的关键步骤,特别是在网络应用和电子商务等领域,数据库的性能直接影响到系统的响应速度和用户体验。以下是对标题和描述中提到的知识点的详细解释: 1. **基本优化...

    Oracle 9i初学者指南

    总的来说,Oracle 9i初学者指南将引导你逐步掌握数据库管理的基础,从安装配置到日常运维,再到性能优化和安全防护,全面了解Oracle 9i数据库系统。通过深入学习和实践,你可以成为一名合格的Oracle数据库管理员。

    oracle 9i ocp 中文资料

    这个中文资料包包含四册内容丰富的学习资源,可能涵盖了Oracle 9i数据库的基础知识、高级特性、性能优化以及故障排查等多个方面。 首先,Oracle 9i数据库是一个广泛使用的RDBMS(关系型数据库管理系统),它在当时...

    Oracle 9i DBA 手册

    3. **性能优化**:Oracle 9i引入了SQL优化器的改进,如成本基础优化器(CBO)和基于规则的优化器(RBO)。手册会指导如何分析SQL性能,使用explain plan,调整SQL语句,以及使用绑定变量提升查询效率。 4. **并行...

Global site tag (gtag.js) - Google Analytics