新宝7登录 > SEO软件 > 如何判断oracle9i的性能瓶颈恩佐娱乐登录

如何判断oracle9i的性能瓶颈恩佐娱乐登录

admin SEO软件 2020年02月23日

  从事互联网运营推广,3年以上互联网运营推广经验,丰富的实战经验。现负责运营推广工作。

  Oracle9i分析和优化数据库性能的工具包括动态故障排除、统计视图工具和企业管理器包。

  这几个工具用来收集性能统计信息和事件(如等待事件)的诊断记录,你可以使用这些事件来发现和诊断性能问题。

  Oracle将系统统计信息和问题排除信息记录在动态性能视图中。例如V$SYSTAT视图中包括系统统计信息。

  Oracle将数据存储统计信息记录在数据字典视图中,如DBA_CLUSTERS视图。这些视图使你能够监视并优化数据存储,以提高性能。

  BSTAT/ESTAT工具由utlbstat.sql和utlestat.sql脚本组成,它用来在单个指定的时期内收集性能统计信息并根据这些统计信息生成报告。

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

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

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

  Oracle也在警报日志与跟踪日志中记录所有的错误。这使作得你可以检测和诊断数据库的问题。

  数据库管理员和软件开发人员可以编写定制的脚本,这些脚本使用ORACLE现有的工具来收集特定的统计信息并制定性能优化操作计划。

  例如:脚本可能使用Oracle企业管理器(Oracle Enterprise Manager,OEM)事件服务来检测性能问题,以及在出现问题时触发OEM作业服务来运行优化脚本。

  DBMS_STATS软件包是一个PL/SQL过程的集合,优化者使用它来收集和存储统计信息。

  DBMS_STATS将这些统计信息存储在数据字典中,可以使用它们来分析存储性能。

  DBMS_STATS软件包可以收集索引统计信息、数据表统计信息、柱状图统计信息、模式统计信息。

  当运行DBMS_STATS过程的时候,这些过程将当前统计信息放入下面的视图中:

  DBMS_STATS软件包是一个PL/SQL过程的集合,优化者使用它来收集和存储统计信息。

  可以使用ANALYZE命令代替DBMS_STATS包来收集系统统计信息。二者区别在于,ANALYZE命令收集象表和索引的结构完整性这样的数据,而DBMS_STATS软件包则不是。但该命令受到较多的限制,且具有一定的不精确性,因此不应该使用它来收集基于代价的最优化统计。

  动态性能视图包含有关当前系统性能的统计信息。当实例启动时,ORACLE载入这些视图;当该实例关闭时,Oracle将清除这些视图。在数据库运行时,Oracle对这些视图进行实时更新。

  动态性能视图是SYS用户所拥有的V$视图。这些视图是建立在X$表上的,而X$表是动态更新的。

  尽管可以直接查询作为基础的X$表以访问那些出现在V$视图中的相同信息。但是,X$表的名称和列的名称一般为缩略名且较为含混,所使用视图较为容易。

  由于动态性能视图是建立在实例的基础上的,因此只要实例启动,就可以随时访问它们,即使数据库是关闭的。

  只有当你将TIMED_STATISTICS的初始化参数值设为TRUE时,在动态性能视图中的统计信息才会把实时信息加入。

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

  V$STATNAME和V$SYSSTAT视图显示了每个统计信息属于哪个统计信息类。共有八个统计信息类,每个统计信息类涉及到优化的一个面:

  可以使用V$SESSTAT视图来查看特定会话的统计信息。该视图列出了所有当前打开会话的每一个统计值。该视图使用V$STATNAME视图中的会话ID和统计信息的编号来指示每个统计值。

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

  当两个或两个以上的进程争用同一资源时,结果必然是至少一个进程需要等待资源变为可用,此时Oracle记录一个等待事件。

  需要监视等待事件并且尝试减少等待的频率和等待的持续时间,以提高系统性能。

  Oracle在V$EVENT_NAME视图中提供了等待事件类别的列表。该视图列出了与每个事件相关的编号、名称,以及其他三个相关参数。

  V$SYSTEM_EVENT视图列出了自当前实例启动以来所发生的除了会话以外的所有等待事件。

  对于每一个等待事件类别,V$SYSTEM_EVENT视图显示了从实例启动以来已发生的事件的数量、超时的总数量、等待的总时间和每个等待事件的平均等待时间。

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

  V$SESSION_WAIT视图为正在等待的当前会话提供了资源和事件的相关信息。同时它显示了SID、用来识别等待的顺序编号、等待事件的类别和相关的所有参数、等待的持续时间以及等待事件是否还在进行。

  提示:要想查看等待次数的相关信息,需要确保将TIMED_STATISTICS初始化参数值设置为TRUE。

  警报日志是记录错误和改变数据库结构的语句(如RECOVER和ALTER DATABASE语句)的日志文件。

  当启动实例的时候,Oracle使用所有的非默认初始化参数值来更新警报日志。

  在实例运行时,Oracle使用出现的内部错误和块破坏的错误来更新警报日志,并将所作的改变记录到数据库中。

  应该定期检查警报日志,以便在一些潜在的错误对系统性能产生严重的影响之前将其检测出来。你也可以将警报日志作为一个诊断工具来帮助你识别当前数据库问题的原因。

  要维护警报日志,应该定期从日志中删除那些不再相关的信息,以便于日志一直保持一个可运行的容量。

  除了提供警报日志外,Oracle还创建跟踪文件,跟踪文件包含了后台进程所检测到的错误的相关信息。

  这些后台进程的跟踪文件一般不包含对性能优化有用的信息。然而,Oracle支持人员可以利用这些跟踪文件来解决数据库问题。

  可以启用服务器跟踪进程来跟踪特定的会话或实例过程中所有已执行的SQL指令。要实现这个目的,需要将SQL_TRACE初始化参数值设为TRUE。Oracle将会在用户的跟踪文件中记录这个跟踪信息。

  1.Oracle9i提供了动态性能视图和数据字典视图、统计信息收集工具、Oracle企业管理器(OEM)软件包以及错误记录。

  2.DBMS_STATS软件包为基于代价的最优化收集统计信息。可以使用DBMS_STATS软件包来收集表和索引中的数据存储信息,以及数据分布柱状图。

  3.动态性能视图是基于表的视图,它记录了与ORACLE当前性能相关的统计信息。可以通过查询这些视图来收集内存使用、资源争用、磁盘性能以及常规实例性能的相关信息。用户可以用特定的动态性能视图(如V$SESSTAT视图)来收集仅在某一特定会线.当过程争用同一资源时,至少有一个进程必须等待资源变为可用。此时Oracle记录等待事件。你可以使用这些等待事件信息来查看性能瓶颈。

  5.Oracle在警报日志中记录内部错误和块破环的错误。后台进程也跟踪文件中记录错误。可以使用警报日志的记录来检测和诊断数据库的错误,还可以选择使用跟踪文件来记录用户的SQL查询。

标签: seo案例