自动生成awr报告脚本以及用法

合集下载

AWR报告工具使用

AWR报告工具使用

五、关闭AWR
SQL>exec dbms_workload_repository.modify_snapshot_settings(interval=>0);
Hale Waihona Puke 5.SQL ordered by Executions
记录了按照SQL的执行次数排序的TOP SQL。该排序可以看出监控范围内的SQL执行次数。
6.SQL ordered by Parse Calls
记录了SQL的软解析次数的TOP SQL。说到软解析(soft prase)和硬解析(hard prase),就不能不说一下Oracle对sql的处理过程。
SQL Text: 简单的sql提示,详细的需要点击SQL ID。
2.SQL ordered by CPU Time
记录了执行占CPU时间总和时间最长的TOP SQL(请注意是监控范围内该SQL的执行占CPU时间总和,而不是单次SQL执行时间)。
3.SQL ordered by Gets
一、用awr生成报告
SQL>SQLPLUS / AS SYSDBA
SQL>var snap_id number;
SQL> exec:snap_id:=dbms_workload_repository.create_snapshot;
SQL>print snap_id;
SNAP_ID
2.关闭AWR
把interval设为0则关闭自动捕捉快照
SQL>execdbms_workload_repository.modify_snapshot_settings(interval=>0);
3.手工创建一个快照

ORACLE性能AWR报告的使用和分析

ORACLE性能AWR报告的使用和分析

ORACLE性能AWR报告的使用和分析Oracle AWR(自动工作负载存储库)报告是一种性能分析和优化工具,它提供了有关数据库实例的性能指标和关键性能指标的详细信息。

AWR报告可以帮助DBA识别数据库实例中存在的性能问题,并提供解决这些问题的建议和最佳实践。

以下是关于如何使用和分析Oracle AWR报告的一些建议:1. 收集AWR报告:可以使用Oracle提供的自动收集工具或手动方式来生成AWR报告。

要启用自动收集工具,请设置AWR快照间隔,并在数据库实例中创建AWR收集任务。

手动方式则需要执行特定的PL/SQL过程来生成AWR报告。

2.查看报告概要:AWR报告的第一部分提供了关于数据库实例整体性能的概要信息。

这些信息包括数据库版本、报告范围(开始和结束时间)、数据库实例名称、主机信息等。

您还可以看到数据库实例中工作负载的性能摘要,例如总体负载配置、等待事件和关键SQL摘要。

3.查看关键指标图表:在AWR报告的第二部分,您将找到关键性能指标的图表。

这些指标包括平均负载配置、平均等待时间、闩锁活动、PGA和SGA内存使用情况、并发性和I/O统计等。

这些图表是通过图形化的方式展示,使您可以更好地了解数据库实例的整体性能。

4.找到最活跃的等待事件:AWR报告的第三部分提供了有关最活跃等待事件的详细信息。

这些事件可能是导致性能问题的主要原因。

这部分包括等待事件的平均等待时间、等待事件的数量和百分比等。

通过分析这些等待事件,您可以确定性能瓶颈,并采取相应的优化措施。

5.分析关键SQL语句:AWR报告的第四部分提供了关键SQL语句的详细信息。

这些语句是数据库实例中执行次数最多或具有最高资源消耗的SQL语句。

这部分包括每个SQL语句的执行次数、平均执行时间、缓冲区命中率等。

通过分析关键SQL语句,您可以找到性能瓶颈,并尝试对这些语句进行优化。

6.查看AWR报告的建议部分:AWR报告的最后一部分提供了有关如何解决性能问题的建议和最佳实践。

awr,ash报告生成方法

awr,ash报告生成方法

在出现性能问题的时候,DBA通常都需要你生成,出现性能问题时间段的AWR或者ASH报告,所以还是需要客户维护人员平常学会收集AWR ASH报告收集也是比较简单的一下为实例:1 AWR 报告的收集$ sqlplus / as sysdba(首先在操作上以ORACLE用户登录,并且以SYS登录数据库)SQL*Plus: Release 10.2.0.1.0 - Production on Wed Dec 24 14:57:53 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit ProductionWith the Partitioning, Real Application Clusters, OLAP and Data Mining optionsSQL> @?/rdbms/admin/awrrpt.sql;(执行这个SQL就可以开始AWR报告收集)Current Instance~~~~~~~~~~~~~~~~DB Id DB Name Inst Num Instance----------- ------------ -------- ------------3704746844 HS08 1 HS081Specify the Report Type~~~~~~~~~~~~~~~~~~~~~~~Would you like an HTML report, or a plain text report?Enter 'html' for an HTML report, or 'text' for plain textDefaults to 'html'Enter value for report_type: (首先会提示你输入生成报告类型,默认为HTML,所以回车就OK)Type Specified: htmlInstances in this Workload Repository schema~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~DB Id Inst Num DB Name Instance Host------------ -------- ------------ ------------ ------------3704746844 2 HS08 HS082 hp102* 3704746844 1 HS08 HS081 hp101Using 3704746844 for database IdUsing 1 for instance numberSpecify the number of days of snapshots to choose from~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Entering the number of days (n) will result in the most recent(n) days of snapshots being listed. Pressing <return> withoutspecifying a number lists all completed snapshots.Enter value for num_days: 1 (输入快照查看的间隔,一般一天的就OK,实际根据DBA的要求来做,)Listing the last day's Completed SnapshotsSnapInstance DB Name Snap Id Snap Started Level------------ ------------ --------- ------------------ -----HS081 HS08 158 24 Dec 2008 00:00 1159 24 Dec 2008 01:00 1160 24 Dec 2008 02:00 1161 24 Dec 2008 03:00 1162 24 Dec 2008 04:00 1163 24 Dec 2008 05:00 1164 24 Dec 2008 06:00 1165 24 Dec 2008 07:00 1166 24 Dec 2008 08:00 1167 24 Dec 2008 09:00 1168 24 Dec 2008 10:00 1169 24 Dec 2008 11:00 1170 24 Dec 2008 11:34 1171 24 Dec 2008 11:39 1172 24 Dec 2008 13:00 1173 24 Dec 2008 14:00 1Specify the Begin and End Snapshot Ids~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Enter value for begin_snap: 167 (首先输入开始的快照ID,此处为167)Begin Snapshot Id specified: 167Enter value for end_snap: 169End Snapshot Id specified: 169 (输入快照结束ID,可以根据要求的时间确定,此处为169)Specify the Report Name~~~~~~~~~~~~~~~~~~~~~~~The default report file name is awrrpt_1_167_169.html. To use this name,press <return> to continue, otherwise enter an alternative.Enter value for report_name:(输入报告的名字,默认的就可以,例如:awrrpt_1_167_169.html. 实例1 快照167-169的AWR报告所以此处回车就OK,报告生成在当前目录下)因为现在的系统一般都是RAC,所以需要在各个节点下的AWR报告,如果你愿意登录各个节点,可以使用一下SQL@?/rdbms/admin/awrrpti.sql ,和上边的区别就在这于,输入报告类型后的部分Instances in this Workload Repository schema~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~DB Id Inst Num DB Name Instance Host------------ -------- ------------ ------------ ------------3704746844 2 HS08 HS082 hp102* 3704746844 1 HS08 HS081 hp101Enter value for dbid: 3704746844 (会要求你输入数据库的DBID)Using 3704746844 for database IdEnter value for inst_num: 1 (输入数据库实例NUM,一般就是2节点,所以一般就是输入1 或者2)剩下的部分没啥区别Using 1 for instance number2 ASH报告的生成$ sqlplus / as sysdba (首先SYS用户登录数据库)SQL*Plus: Release 10.2.0.1.0 - Production on Wed Dec 24 15:14:21 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit ProductionWith the Partitioning, Real Application Clusters, OLAP and Data Mining optionsSQL> @?/rdbms/admin/ashrpt.sql; (执行这个脚本开始ASH报告生成)Current Instance~~~~~~~~~~~~~~~~DB Id DB Name Inst Num Instance----------- ------------ -------- ------------3704746844 HS08 2 HS082Specify the Report Type~~~~~~~~~~~~~~~~~~~~~~~Enter 'html' for an HTML report, or 'text' for plain textDefaults to 'html'Enter value for report_type:(默认HTML,回车即可)Type Specified: htmlInstances in this Workload Repository schema~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~DB Id Inst Num DB Name Instance Host------------ -------- ------------ ------------ ------------3704746844 1 HS08 HS081 hp101* 3704746844 2 HS08 HS082 hp102Defaults to current databaseUsing database id: 3704746844Defaults to current instanceUsing instance number: 2ASH Samples in this Workload Repository schema~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Oldest ASH sample available: 17-Dec-08 11:06:09 [ 10329 mins in the past]Latest ASH sample available: 24-Dec-08 15:14:23 [ 0 mins in the past]Specify the timeframe. to generate the ASH report~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Enter begin time for report:-- Valid input formats:-- To specify absolute begin time:-- [MM/DD[/YY]] HH24:MI[:SS]-- Examples: 02/23/03 14:30:15-- 02/23 14:30:15-- 14:30:15-- 14:30-- To specify relative begin time: (start with '-' sign)-- -[HH24:]MI-- Examples: -1:15 (SYSDATE - 1 Hr 15 Mins)-- -25 (SYSDATE - 25 Mins)Defaults to -15 minsEnter value for begin_time: 08/12/24 15:10 (输入开始的时间,格式为:年/月/日小时/分钟/秒) Report begin time specified: 08/12/24 15:10Enter duration in minutes starting from begin time:Defaults to SYSDATE - begin_timePress Enter to analyze till current timeEnter value for duration: 08/12/24 15:12 (输入结束的时间,格式同上,根据问题发生的时间段生成就好了)Report duration specified: 08/12/24 15:12declare*ERROR at line 1:ORA-06502: PL/SQL: numeric or value error: character to number conversion errorORA-06512: at line 12Using 12-Aug-24 15:10:00 as report begin timeUsing as report end timeSpecify Slot Width (using ashrpti.sql) for 'Activity Over Time' section~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-- Explanation:-- In the 'Activity Over Time' section of the ASH report,-- the analysis period is divided into smaller slots-- and top wait events are reported in each of those slots.-- Default:-- The analysis period will be automatically split upto 10 slots-- complying to a minimum slot width of-- 1 minute, if the source is V$ACTIVE_SESSION_HISTORY or-- 5 minutes, if the source is DBA_HIST_ACTIVE_SESS_HISTORY.Specify Slot Width in seconds to use in the 'Activity Over Time' section:Defaults to a value as explained above:Slot Width specified:Specify Report Targets (using ashrpti.sql) to generate the ASH report~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- Explanation:-- ASH Report can accept "Report Targets",-- like a particular SQL statement, or a particular SESSION,-- to generate the report on. If one or more report targets are-- specified, then the data used to generate the report will only be-- the ASH samples that pertain to ALL the specified report targets.-- Default:-- If none of the report targets are specified,-- then the target defaults to all activity in the database instance.Specify SESSION_ID (eg: from V$SESSION.SID) report target:Defaults to NULL:SESSION report target specified:Specify SQL_ID (eg: from V$SQL.SQL_ID) report target:Defaults to NULL: (% and _ wildcards allowed)SQL report target specified:Specify WATI_CLASS name (eg: from V$EVENT_NAME.WAIT_CLASS) report target: [Enter 'CPU' to investigate CPU usage]Defaults to NULL: (% and _ wildcards allowed)WAIT_CLASS report target specified:Specify SERVICE_HASH (eg: from V$ACTIVE__HASH) report target: Defaults to NULL:SERVICE report target specified:Specify MODULE name (eg: from V$SESSION.MODULE) report target:Defaults to NULL: (% and _ wildcards allowed)MODULE report target specified:Specify ACTION name (eg: from V$SESSION.ACTION) report target:Defaults to NULL: (% and _ wildcards allowed)ACTION report target specified:Specify CLIENT_ID (eg: from V$SESSION.CLIENT_IDENTIFIER) report target:Defaults to NULL: (% and _ wildcards allowed)CLIENT_ID report target specified:Specify the Report Name~~~~~~~~~~~~~~~~~~~~~~~The default report file name is ashrpt_2_.html. To use this name,press <return> to continue, otherwise enter an alternative.Enter value for report_name:(报告的名字,回车就好了)因为有些系统是RAC,所以需要在各个节点下的AWR报告,如果你愿意登录各个节点,可以使用一下SQL @?/rdbms/admin/ashrpti.sql 与上边的不同也就是需要输入DBID和实例NUMBER,明白提示的意思就好了)另外需要注意AWR ASH报告两个快照间,或者时间之间,不能有数据库重启的操作,如果有会有报错)。

ORACLE AWR报告生成和分析

ORACLE AWR报告生成和分析

ORACLE AWR报告生成和分析Automatic Workload Repository是10g引入的一个重要组件。

在里面存贮着近期一段时间内,默认是7天,数据库活动状态的详细信息。

AWR报告是对AWR视图进行查询而得到的一份自动生成的报告。

可以通过下面的脚本手工得到一份AWR报告。

exec dbms_workload_repository.create_snapshot;... running the specified workloadexec dbms_workload_repository.create_snapshot;@?/rdbms/admin/awrrpt通过AWR和AWR报告,DBA可以容易地获知最近数据库的活动状态,数据库的各种性能指标的变化趋势曲线,最近数据库可能存在的异常,分析数据库可能存在的性能瓶颈从而对数据库进行优化。

AWR报告所有的数据来源于AWR视图,即以DBA_HIST_开头的所有系统表,Database Reference有对所有这些系统表的描述,这应该是Oracle官方对AWR报告的官方注释了。

而对于如何有效地去分析AWR报告,这可能更需要DBA经验的日积月累。

AWR的前身是Statspack,Statspack在10g和11g中也有提供,同时和AWR 一起做了同步更新,而且Statspack是公开源代码的,因此,关于Statspack的资料,还有Statspack的源代码,都是理解AWR的一个有用的辅助。

如果关注数据库的性能,那么当拿到一份AWR报告的时候,最想知道的第一件事情可能就是系统资源的利用情况了,而首当其冲的,就是CPU。

而细分起来,CPU可能指的是●OS级的User%, Sys%, Idle%●DB所占OS CPU资源的Busy%●DB CPU又可以分为前台所消耗的CPU和后台所消耗的CPU如果数据库的版本是11g,那么很幸运的,这些信息在AWR报告中一目了然:OS级的%User为75.4,%Sys为2.8,%Idle为21.2,所以%Busy应该是78.8。

ORACLE性能AWR报告的使用和分析报告

ORACLE性能AWR报告的使用和分析报告

ORACLE性能诊断AWR报告的使用和分析为满足业务的运行要求,高性能要目前IT系统普遍面临的最棘手问题,尤其是客户面对着目前越来越庞大系统和数据,系统整合、数据大集中似乎成了趋势。

针对系统性能优化的诊断和分析,数据库方向又是其中的重要一环,本文将针对ORACLE中常用的性能诊断工具AWR报告,进行分析说明。

一、ORACLE性能诊断工具ORACLE数据库的性能的诊断工具有很多种,在9i之前主要通过手工进行采集分析,例如使用动态视图和Statspack报告来获取数据库性能状态信息,10g以后ORACLE数据库的性能诊断和改进建议越来越自动化,不过能够熟悉并掌握ORACLE的相关性能诊断工具的使用,仍对性能问题的准确和有效处理提供有利的帮助。

以下是ORACLE中常用的一些分析工具。

●动态性能视图动态性能视图是ORACLE中最常用,也是最简单的一种工具。

无论何种性能问题,都能在动态性能视图中找到线索,不过仅10g中动态性能视图就高达几百个,每个视图都包括很多诊断信息,想在众多的视图中找到问题的根源,也是一件费力的事情。

一般常用的动态性能视图有:v$session、v$session_wait、v$process、v$sql、v$lock、v$latch、v$sysstat、v$system_event、v$sgastat。

●Statspack报告statspack 是Oracle 9i 之前使用的一个数据库收集工具,收集了数据库全面信息,包括负载概览、前五个等待事件、高速缓存的大小、共享池中SQL语句、表空间和文件I/O、库高速缓存、SGA统计等。

●AWR和ADDM报告AWR是10g以后提供的一个新工具,Oracle 建议用户用这个取代Statspack,它采集与性能相关的统计数据,并从那些统计数据中导出性能量度,以跟踪潜在的问题,并自动生成ADDM (自动数据库诊断监控)报告,为用户提供数据库性能诊断分析建议。

Oracle自带性能分析报告工具-awr介绍和分析报告

Oracle自带性能分析报告工具-awr介绍和分析报告

Oracle自带性能分析工具-AWR介绍和分析华三通信技术1 Oracle 10g的AWR性能优化工具简介AWR (Automatic Workload Repository)既自动工作负载信息库是Oracle 10g新提供的收集数据库统计信息的置工具。

它比之前的statspack有显著的改良,收集的信息也更多、更全面,使用方法也更简单。

它主要采集与性能相关的统计数据,并从那些统计数据中导出性能量度,以跟踪潜在的问题,如包括AWR存区,历史数据存储文件和ASH等部件。

AWR报告的容繁多,官方文档也没有对所有参数给出说明。

AWR产生的报表包括以下几局部。

报表具体容参见如下插入的对象。

1、Report SummeryCache sizesLoad profileInstance Efficiency Percentages (Target 100%)Shared Pool StatisticsTop 5 Timed Events2、RAC StatisticsGlobal Cache Load ProfileGlobal Cache Efficiency Percentages (Target local+remote 100%) Global Cache and Enqueue Services - Workload Characteristics Global Cache and Enqueue Services - Messaging Statistics3、Wait Events StatisticsTime Model StatisticsWait ClassWait EventsBackground Wait EventsOperating System StatisticsService StatisticsService Wait Class Stats4、SQL StatisticsSQL ordered by Elapsed TimeSQL ordered by CPU TimeSQL ordered by GetsSQL ordered by ReadsSQL ordered by ExecutionsSQL ordered by Parse CallsSQL ordered by Sharable MemorySQL ordered by Version CountSQL ordered by Cluster Wait Timeplete List of SQL Text5、Instance Activity StatisticsInstance Activity StatsInstance Activity Stats - Absolute ValuesInstance Activity Stats - Thread Activity6、IO StatsTablespace IO StatsFile IO Stats7、Buffer Pool Statistics8、Advisory StatisticsInstance Recovery StatsBuffer Pool AdvisoryPGA Aggr SummaryPGA Aggr Target StatsPGA Aggr Target HistogramPGA Memory AdvisoryShared Pool AdvisorySGA Target AdvisoryStreams Pool AdvisoryJava Pool Advisory9、Wait StatisticsBuffer Wait StatisticsEnqueue Activity10、Undo StatisticsUndo Segment SummaryUndo Segment Stats11、Latch StatisticsLatch ActivityLatch Sleep BreakdownLatch Miss SourcesParent Latch StatisticsChild Latch Statistics12、Segment StatisticsSegments by Logical ReadsSegments by Physical ReadsSegments by Row Lock WaitsSegments by ITL WaitsSegments by Buffer Busy WaitsSegments by Global Cache Buffer Busy Segments by CR Blocks ReceivedSegments by Current Blocks Received 13、Dictionary Cache StatisticsDictionary Cache StatsDictionary Cache Stats (RAC)14、Library Cache StatisticsLibrary Cache ActivityLibrary Cache Activity (RAC)15、Memory StatisticsProcess Memory SummarySGA Memory SummarySGA breakdown difference16、Streams StatisticsStreams CPU/IO UsageStreams CaptureStreams ApplyBuffered QueuesBuffered SubscribersRule Set17、Resource Limit Stats18、init.ora Parameters19、Global Enqueue Statistics20、Global CR Served Stats21、Global CURRENT Served Stats22、Global Cache Transfer Stats2 AWR配置2.1 AWR统计数据的缺省配置AWR 实质上是一个 Oracle 的置工具,它采集与性能相关的统计数据,并从那些统计数据中导出性能量度,以跟踪潜在的问题。

Oracle使用PLSQLDeveloper生成AWR报告

Oracle使用PLSQLDeveloper生成AWR报告

Oracle使用PLSQLDeveloper生成AWR报告
Oracle AWR报告是用来分析数据库故障和性能的重要指标报告!
生成 awr 报告通常在数据库服务器端,oracle 用户下执行命令:
sqlplus / as sysdba @?/rdbms/admin/awrrpt.sql
执行完之后生成一个 html 报告,Linux 服务器无法直接查看,需要从服务器取出!
但是,事有例外,有些数据库服务器禁止取出文件!咋个办呢?
这个时候,我们可以通过pl/sql developer 连接数据库,进行本地导出,或者配置 oracle 客户端进行本地导出!
⭐️以下演示如何使用 pl/sql developer 来导出 AWR 报告:
如果在 command 中执行,将报错如下:
那么,如何解决呢?
需要找一个可以取出文件的数据库服务器,将$ORACLE_HOME/rdbms/admin 目录下四个文件取出:
然后就可以执行了。

本次分享到此结束啦~
如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。

awr报告生成

awr报告生成

awr报告生成随着信息技术的不断发展,现代世界中的大部分活动都离不开电脑和互联网。

在企业和组织中,收集和分析数据是非常重要的一项任务。

在数据库管理领域,AWR报告是一种常见的工具,用于监控和分析数据库性能。

本文将介绍AWR报告的生成过程以及其在数据库管理中的应用。

AWR(Automatic Workload Repository)是Oracle数据库中的一个重要特性,它收集、存储和管理数据库中相关性能和工作负载的数据。

AWR报告是在AWR仓库中收集到的数据的汇总和分析结果。

生成AWR报告的过程非常简单,只需要执行一些SQL 语句即可。

首先,我们需要连接到数据库实例,然后执行以下语句:```@$ORACLE_HOME/rdbms/admin/awrrpt.sql```这个SQL脚本将在数据库实例中生成一个AWR报告,并将其保存在指定的目录中。

默认情况下,AWR报告被保存在数据库服务器的`$ORACLE_HOME/rdbms/admin`目录下。

生成AWR报告的时间间隔可以通过修改数据库实例的参数进行配置。

一般来说,AWR报告会定期生成,以便数据库管理员能够随时了解数据库性能的变化和趋势。

AWR报告中包含了大量的性能数据和统计信息,这些数据可以帮助数据库管理员识别和解决数据库性能问题。

AWR报告的内容非常丰富,包括数据库的工作负载、响应时间、锁定和等待事件、I/O统计、内存使用情况等。

通过仔细分析这些数据,管理员可以了解数据库系统的运行状况,并采取适当的措施来提高性能。

AWR报告不仅能够提供数据库性能方面的数据,还能够帮助管理员进行容量规划和资源分配。

通过分析报告中的工作负载和资源使用情况,管理员可以判断数据库是否处于过载状态,是否需要增加硬件资源或进行调整配置。

这些都有助于提高数据库的可靠性和可用性。

除了生成AWR报告,数据库管理员还可以使用AWR相关的视图和工具来进行更详细和全面的性能分析。

例如,可以使用AWR报告中的摘要信息来查找数据库中的热点活动,然后进一步分析和调整相关的参数和SQL语句。

ORACLE性能AWR报告的使用和分析

ORACLE性能AWR报告的使用和分析

ORACLE性能诊断AWR报告的使用和分析为满足业务的运行要求,高性能要求是目前IT系统普遍面临的最棘手问题,尤其是客户面对着目前越来越庞大系统和数据,系统整合、数据大集中似乎成了趋势。

针对系统性能优化的诊断和分析,数据库方向又是其中的重要一环,本文将针对ORACLE中常用的性能诊断工具AWR报告,进行分析说明。

一、ORACLE性能诊断工具ORACLE数据库的性能的诊断工具有很多种,在9i之前主要通过手工进行采集分析,例如使用动态视图和Statspack报告来获取数据库性能状态信息,10g以后ORACLE数据库的性能诊断和改进建议越来越自动化,不过能够熟悉并掌握ORACLE的相关性能诊断工具的使用,仍对性能问题的准确和有效处理提供有利的帮助。

以下是ORACLE中常用的一些分析工具。

●动态性能视图动态性能视图是ORACLE中最常用,也是最简单的一种工具。

无论何种性能问题,都能在动态性能视图中找到线索,不过仅10g中动态性能视图就高达几百个,每个视图都包括很多诊断信息,想在众多的视图中找到问题的根源,也是一件费力的事情。

一般常用的动态性能视图有:v$session、v$session_wait、v$process、v$sql、v$lock、v$latch、v$sysstat、v$system_event、v$sgastat。

●Statspack报告statspack 是Oracle 9i 之前使用的一个数据库收集工具,收集了数据库全面信息,包括负载概览、前五个等待事件、高速缓存的大小、共享池中SQL语句、表空间和文件I/O、库高速缓存、SGA统计等。

●AWR和ADDM报告AWR是10g以后提供的一个新工具,Oracle 建议用户用这个取代Statspack,它采集与性能相关的统计数据,并从那些统计数据中导出性能量度,以跟踪潜在的问题,并自动生成ADDM (自动数据库诊断监控)报告,为用户提供数据库性能诊断分析建议。

awr报告生成

awr报告生成

awr报告生成
awr报告生成的步骤如下:
1. 登录数据库服务器。

首先,我们需要使用数据库管理员的用户名和密码登录到数据库服务器上。


登录之前,我们需要确认自己具有足够的权限来执行awr报告生成的操作。

2. 打开awr报告生成工具。

在登录到数据库服务器之后,我们可以使用awr报告生成工具来生成awr报告。

通常情况下,我们可以通过执行一条特定的SQL语句来打开awr报告生成工具。

3. 选择报告生成的时间范围。

在打开awr报告生成工具之后,我们需要选择报告生成的时间范围。

通常情况下,我们可以选择最近一段时间内的数据库性能数据来生成awr报告,以便更好地了解数据库的性能状况。

4. 生成awr报告。

选择完报告生成的时间范围之后,我们可以执行生成awr报告的操作。

在生成awr报告的过程中,系统会收集数据库的性能数据,并生成相应的报告文件。

5. 分析awr报告。

生成awr报告之后,我们需要对报告进行详细的分析。

通过分析awr报告,我
们可以了解数据库的性能瓶颈,找出优化的方向,并采取相应的措施来提高数据库的性能和稳定性。

总结:
通过以上步骤,我们可以完成awr报告的生成和分析工作。

awr报告生成是数据库管理员日常工作中非常重要的一部分,它可以帮助我们深入了解数据库的性能状况,并采取相应的措施来提高数据库的性能和稳定性。

希望以上内容对您有所帮助。

Oracle AWR报告生成说明

Oracle AWR报告生成说明

Oracle AWR报告生成说明1 引言1.1 目的本文用于详细介绍如何生成oracle awr报告,以便分析oracle性能情况。

2 准备工作请确定以下信息:1. oracle安装路径如c:\oracle\product\10.2.0\db_1,以下用%oracle_home%表示2. oracle dba用户/密码如system/system3 生成AWR1.进入awr脚本目录在oracle服务器上,启动一个cmd,执行cd命令进入“%oracle_home%\rdbms\admin”目录,如下:2.以dba身份登录oracle执行sqlplus system/system3.执行awr脚本输入@awrrpt.sql4.输入awr脚本参数报表类型report_type:输入html分析时间num_days:输入2(表示分析最近2天的数据,输入后系统会输出一个表格,选择两个Snap Id用于后续)起始快照begin_snap:输入第1个Snap Id,如22043结束快照end_snap:输入第2个Snap Id,如22076报表名称report_name:不用输出直接回车以下为操作过程,其中红字为输入内容:SQL> @awrrpt.sqlCurrent Instance~~~~~~~~~~~~~~~~DB Id DB Name Inst Num Instance----------- ------------ -------- ------------1266304215 ORCL 1 orclSpecify the Report Type~~~~~~~~~~~~~~~~~~~~~~~Would you like an HTML report, or a plain text report?Enter 'html' for an HTML report, or 'text' for plain text Defaults to 'html'输入 report_type 的值: htmlType Specified: htmlInstances in this Workload Repository schema~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~DB Id Inst Num DB Name Instance Host------------ -------- ------------ ------------ ------------* 1266304215 1 ORCL orcl PROD_DATACENTER* 1266304215 1 ORCL orcl NONE-5CECF59847Using 1266304215 for database IdUsing 1 for instance numberSpecify the number of days of snapshots to choose from~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Entering the number of days (n) will result in the most recent (n) days of snapshots being listed. Pressing <return> without specifying a number lists all completed snapshots.输入 num_days 的值: 2Listing the last 2 days of Completed SnapshotsSnapInstance DB Name Snap Id Snap Started Level------------ ------------ --------- ------------------ ----- orcl ORCL 22043 16 7月 2013 00:00 122044 16 7月 2013 01:00 1...22074 17 7月 2013 13:00 122075 17 7月 2013 14:01 122076 17 7月 2013 15:00 1Specify the Begin and End Snapshot Ids~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~输入 begin_snap 的值: 22064Begin Snapshot Id specified: 22064输入 end_snap 的值: 22076End Snapshot Id specified: 22076Specify the Report Name~~~~~~~~~~~~~~~~~~~~~~~The default report file name is awrrpt_1_22064_22076.html. To use this name, press <return> to continue, otherwise enter an alternative.输入 report_name 的值:回车Using the report name awrrpt_1_22064_22076.html...等待执行完成5.得到awr报告此时在“%oracle_home%\rdbms\admin”目录下即可看到一个文件:如awrrpt_1_22043_22076.html。

ORACLEAWR报告生成和分析

ORACLEAWR报告生成和分析

ORACLEAWR报告生成和分析ORACLEAWR(Automatic Workload Repository)是Oracle数据库中的一个功能,用于收集和存储数据库的性能统计信息。

通过AWR报告,可以分析数据库的性能瓶颈,并提供相关的建议和推荐的解决方案。

下面将对AWR报告的生成和分析进行详细介绍。

AWR报告的生成AWR报告主要由两个组件生成:一是Statspack/SNAP工具(用于收集性能数据),二是AWR报告生成脚本(用于生成AWR报告)。

1. Statspack/SNAP工具Statspack/SNAP工具是Oracle数据库中用于收集数据库性能统计信息的功能。

可以通过以下步骤使用Statspack/SNAP工具收集性能数据:- 创建Statspack/SNAP用户:在数据库中创建一个新用户,用于存储性能统计信息。

- 安装Statspack/SNAP工具:将Statspack/SNAP工具的SQL脚本导入数据库中。

- 创建收集任务:使用Statspack/SNAP工具创建收集任务,指定收集的时间间隔。

- 收集性能数据:定期运行Statspack/SNAP任务,收集数据库的性能统计信息。

2.AWR报告生成脚本AWR报告生成脚本是一个PL/SQL脚本,用于生成AWR报告。

可以通过以下步骤生成AWR报告:-运行AWR报告生成脚本:将AWR报告生成脚本导入数据库中,并运行该脚本。

-指定时间范围:在运行AWR报告生成脚本时,可以指定要分析的时间范围。

- 生成AWR报告:AWR报告生成脚本会从Statspack/SNAP工具导出的数据中提取所需的性能统计信息,并生成AWR报告。

AWR报告的分析生成AWR报告后,可以使用AWR报告进行性能分析。

AWR报告提供了丰富的性能统计信息,可以帮助我们定位和解决数据库性能问题。

1.数据库总览AWR报告的第一部分提供了数据库的总体性能概览,包括数据库版本、实例名称、开始和结束时间等。

Oracle_AWR_报告分析实例讲解

Oracle_AWR_报告分析实例讲解

Oracle_AWR_报告分析实例讲解Oracle AWR(Automatic Workload Repository)报告是一个用于性能优化的强大工具。

它会收集数据库实例的性能指标,以便分析和诊断数据库性能问题。

在本文中,将介绍一个实例,展示如何使用AWR报告进行性能分析。

首先,要生成AWR报告,需要运行ADDM(Automatic Database Diagnostic Monitor)分析。

在数据库服务器上登录SQL*Plus,运行以下命令:```BEGINDBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT(;END;```该命令会为当前数据库实例创建一个AWR快照。

快照会记录数据库的性能指标,例如CPU利用率、内存使用情况、IO操作等。

完成数据收集后,可以使用以下命令来生成AWR报告:``````这会生成一个HTML格式的AWR报告文件。

在浏览器中打开报告文件,可以查看数据库的性能分析结果。

现在我们来分析一个实际的AWR报告。

在报告的开头,会显示数据库实例的基本信息,包括名称、版本、开始和结束时间等。

下面会列出主要的性能指标,例如数据库负载、并发会话、IO等。

在报告的摘要部分,会列出性能问题的概要。

这里会显示数据库实例的主要问题,例如高负载、慢查询、内存不足等。

这是一个非常有用的指标,可以帮助我们快速定位性能问题的症结所在。

在AWR报告的后半部分,会有详细的性能指标分析。

例如,会列出最耗费CPU资源的SQL语句,以及它们的执行次数和执行时间。

这可以帮助我们找到哪些SQL语句需要进行优化,以减少数据库负载和响应时间。

此外,报告还会列出IO操作的统计信息,例如读写请求、平均响应时间等。

这可以帮助我们定位潜在的IO瓶颈,以优化数据库的IO性能。

在AWR报告中还有其他许多详细的性能指标,例如死锁、PGA和SGA 内存的使用等。

可以根据具体的需求来分析这些指标。

总结起来,AWR报告是一个非常有用的性能分析工具,可以帮助我们快速发现和解决数据库性能问题。

生成awr报告

生成awr报告

生成awr报告AWR(Automatic Workload Repository)是Oracle数据库中记录系统活动的一种工具,它可以提供有关数据库的性能信息、活动和资源消耗的详细报告。

生成AWR报告对于DBA(数据库管理员)来说是非常有用的,因为它可以帮助他们深入了解数据库的性能状况并进行相应的优化。

在本文中,我们将讨论如何生成AWR报告以及如何利用报告中的信息来提升数据库的性能。

一、AWR报告的生成要生成AWR报告,首先需要连接到数据库的命令行界面或使用图形界面工具,如SQL Developer。

在命令行界面中,可以使用SQL*Plus工具来执行以下命令:```$ sqlplus / as sysdba```接下来,输入以下命令生成AWR报告:```SQL> @?/rdbms/admin/awrrpt```该命令将提示您输入开始和结束快照的编号。

快照是AWR中记录系统活动的时间点。

可以运行以下命令来查看可用快照的列表:```SQL> SELECT snap_id, snap_time FROM dba_hist_snapshot;```根据您选择的开始和结束快照的编号,输入相应的值后,AWR 报告将被生成并显示在屏幕上。

您可以使用输出选项将报告导出到文本文件中,以便于更详细地分析。

二、AWR报告的内容AWR报告提供了大量的性能信息,可以帮助我们识别和解决数据库中的性能问题。

报告的内容通常分为以下几个部分:1. 概要信息:报告的开头会给出数据库的基本信息,如数据库名称、开始和结束快照的时间范围等。

这些信息有助于我们了解报告所涵盖的时间段和数据库的整体情况。

2. 高负载事件:报告会列出数据库中产生了最大负荷的事件。

这些事件可能是CPU消耗高、IO消耗高、等待时间长等。

通过查看这些事件,我们可以找到潜在的性能瓶颈所在,并采取相应的优化措施。

3. 基准统计信息:报告会显示数据库在报告期间的基准统计信息,包括CPU利用率、内存利用率、等待事件等。

awr报告详细分析

awr报告详细分析

AWR报告详细分析AWR(Automatic Workload Repository)报告是Oracle数据库系统提供的一项性能分析工具,它能够收集并保存数据库实例的运行信息。

通过对AWR报告进行详细的分析,可以帮助我们了解数据库的性能瓶颈,并进行相应的优化。

本文将以Step by Step的思路,介绍如何对AWR报告进行详细分析。

第一步:选择AWR报告在Oracle数据库中,我们可以使用以下命令生成AWR报告:SELECT*FROM TABLE(dbms_workload_repository.awr_report_html(<dbid>, <inst_num>, <begin_snap>, <end_snap>));在命令中,dbid是数据库的标识号,inst_num是实例的编号,begin_snap和end_snap是要分析的快照点的编号。

第二步:报告概览打开AWR报告后,我们首先需要查看报告的概览部分。

概览部分包含了数据库的一些基本信息,例如数据库版本、实例名、快照点范围等。

我们可以从概览中了解到数据库运行的时间范围和快照点的频率,这对后续分析非常有帮助。

第三步:负载分析在AWR报告的负载分析部分,我们可以看到数据库的整体负载情况。

其中包含了实例的活动会话数、平均每秒事务数、平均每秒用户提交数等指标。

通过对这些指标的分析,我们可以了解到数据库的整体负载情况,进而判断是否存在性能瓶颈。

第四步:Top SQL分析AWR报告的Top SQL分析部分列出了数据库中消耗资源最多的SQL语句。

通过分析这些SQL语句,我们可以找出执行时间最长、消耗CPU最多、IO操作最频繁的SQL语句,并进行相应的优化。

在分析时,我们可以根据执行时间、CPU使用率和IO操作等指标进行排序,找出影响数据库性能的关键SQL语句。

第五步:等待事件分析等待事件是指数据库中的会话在执行过程中因为等待某种资源而暂停执行的状态。

AWR报告生成详解

AWR报告生成详解

Windows和Linux平台生成awr报告Windows平台生成awr报告1、登录部署Oracle10g数据的Windows服务器,运行cmd.exe2、首先进入C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN目录3、用SYSDBA身份登录sqlplus4、在sqlplus中输入@awrrpt5、开始安装提示操作,首先是选择要生成awr报告的类型,可以选择text类型和html类型,这里以html类型为例,输入html6、选择要生报告的日期是多少天以前记录,输入1,则表示要生成今天0点开始到现在之内的某个时间段的报告,输入2,则表示要生成昨天0点开始到现在的某个时间段的报告,以此类推。

缺省记录最近7天。

这里输入1作为示例7、输入天数后,界面会显示出一个时间段的表格,每个时间点都对应一个Snap Id,间隔时间oracle默认是1个小时,接下来,输入要生成报告的时间开始点对应的Snap Id,这里以2012-6-18 01:00为例,表中看到其对应的Snap Id是633。

在输入6338、下一步,要输入生成报告的时间的结束点对应的Snap Id,这里选2012-6-18 12:00为例,表中看到其对应的Snap Id是644.在输入6449、接着要求输入生成报告的名字,系统会自动生成一个默认的名字,并会在提示信息中显示出来,如果使用默认名,则不用输入任何内容,直接回车即可。

这里默认是,一般都是awrrpt_1_开始点对应的Snap Id_结束点对应的Snap Id.html命名,这里可以按照默认的名字就可以,生成报告内容中包含报告记录的时间段。

回车后,会生成报告。

10、退出plsql11、在Windows服务器C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN路径下查找awr报告。

Linux平台生成awr报告1、登录数据库所在的应用服务器2、进入$ORACLE_HOME/rdbms/admin目录eg: cd/opt/oracle/product/11.2.0/db_1/rdbms/admin3、用SYSDBA身份登录sqlplussqlplus /as sysdba有时候,执行这句话会报错:解决方法:(1)查看.bash_profile文件是否配置path=$oracle_home/bin,有如下命令[root@xlserver10 ~]# cat ~/.bash_profile //用户为root,没有path信息查看路径:echo $PATH(2)直接到/opt/oracle/product/11.2.0/db_1/bin目录下执行sqlplus如果(1)、(2)均不能执行,那么用下面的方法吧:切换用户: [root@xlserver10 ~]# su – oracle //注意-后面有空格,oracle为用户名[oracle@xlserver10 ~]$ cat .bash_profile//用户为oracle,有如下语句:export PATH=$ORACLE_HOME/bin[oracle@xlserver10 ~] pwd[oracle@xlserver10 ~] cd/opt/oracle/product/11.2.0/db_1/rdbms/admin [oracle@xlserver10 admin]$ ls awr*执行过语句su – oracle,就可以执行sqlplus命令了[oracle@xlserver10 admin]$ sqlplus /nolog //此时我们在oracle_home/../admin SQL>sqlplus下删除输入的非法字符用delete键,不要用backspace退格SQL>conn /as sysdba //这一句必须执行2 Connected.3 SQL>@awrrpt.sql45Current Instance6~~~~~~~~~~~~~~~~78 DB Id DB Name Inst Num Instance9----------- ------------ -------- ------------103918594034 ORCL 1 orcl111213 Specify the Report Type14~~~~~~~~~~~~~~~~~~~~~~~15 Would you like an HTML report, or a plain text report?16 Enter 'html'for an HTML report, or'text'for plain text17 Defaults to'html'18 Enter value for report_type: html1920 Type Specified: html212223 Instances in this Workload Repository schema24~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2526 DB Id Inst Num DB Name Instance Host27------------ -------- ------------ ------------ ------------28*39185940341 ORCL orcl DCMSBDM2930 Using 3918594034for database Id31 Using 1for instance number323334 Specify the number of days of snapshots to choose from35~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~36 Entering the number of days (n) will result in the most recent37 (n) days of snapshots being listed. Pressing <return> without38 specifying a number lists all completed snapshots.394041 Enter value for num_days: 24243 Listing the last 2 days of Completed Snapshots4445 Snap46 Instance DB Name Snap Id Snap Started Level47------------ ------------ --------- ------------------ -----48 kobra KOBRA 122720 Aug 201200:00149122820 Aug 201201:00150122920 Aug 201202:00151123020 Aug 201203:00152123120 Aug 201204:00153 ...54126321 Aug 201212:00155126421 Aug 201213:00156126521 Aug 201214:00157126621 Aug 201215:001585960 Specify the Begin and End Snapshot Ids61~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~62 Enter value for begin_snap: 122763Begin Snapshot Id specified: 12276465 Enter value for end_snap: 126566End Snapshot Id specified: 1265676869 Specify the Report Name70~~~~~~~~~~~~~~~~~~~~~~~71 The default report file name is awrrpt_1_1227_1265.html. To use this name,press <return>to continue, otherwise enter an alternative.7374 Enter value for report_name:7576 Using the report name awrrpt_1_1227_1265.html7778<html><head><title>AWR Report for DB: KOBRA, Inst: kobra, Snaps:1227-1265</title>7980 ...8182End of Report83</body></html>84 Report written to awrrpt_1_1227_1265.html8586 SQL>exit11、用SSH登录系统,并把生成的报告下载到本地。

oracle生成awr报告

oracle生成awr报告

步骤1:登陆对应的数据库服务器2:在dos窗口执行sqlplus / as sysdba3.输入@?/rdbms/admin/awrrpt.sql,回车4.第一步输入类型:html第二步输入天数:天数自定义(如1,代表当天,如果2,代表今天和昨天。

)第三步输入开始值与结束值:(你可以看到上面列出的数据,snap值)这个值输入开始,与结束第四步输入导出表的名称:名称自定义回车第五步,由程序自动导完。

5.。

到d:oracle\product\10.2.0\db_1\RDBMS\Admin 目录下。

找到刚才生成的文件。

XXXX.LST文件* 在分析awr报告之前,首先要确定我们的系统是属于oltp,还是olap(数据库在安装的时候,选择的时候,会有一个选项,是选择oltp,还是olap)对于不同的系统,性能指标的侧重点是不一样的,比如,library hit和buffer hit,在olap系统中几乎可以忽略这俩个性能指标,而在oltp系统中,这俩个指标就非常关键了* 首先要看俩个时间Elapsed: 240.00 (mins) 表明采样时间是240分钟,任何数据都要通过这个时间来衡量,离开了这个采样时间,任何数据都毫无疑义DB Time: 92,537.95 (mins) 表明用户操作花费的时候,包括cpu时间喝等待时间,也许有人会觉得奇怪,为什么在采样的240分钟过程中,用户操作时间竟然有92537分钟呢,远远超过了采样时间,原因是awr报告是一个数据的集合,比如在一分钟之内,一个用户等待了30秒,那么10个用户就等待了300秒,对于cpu的话,一个cpu处理了30秒,16个cpu就是4800秒,这些时间都是以累积的方式记录在awr报告中的。

再看sessions,可以看出连接数非常多* 为了对数据库有个整体的认识,先看下面的性能指标1. Buffer Nowait 说明在从内存取数据的时候,没有经历等待的比例,期望值是100%2. Buffer Hit 说明从内存取数据的时候,buffer的命中率的比例,期望值是100%,但100%并不代表性能就好,因为这只是一个比例而已,举个例子,执行一条sql语句,# 执行计划是需要取10000个数据块,结果内存中还真有这10000个数据块,那么比例是100%,表面上看是性能最高的,还有一个执行计划是需要500 个数据块,内存中有250个,另外250个需要在物理磁盘中取,这种情况下,buffer hit是50%,结果呢,第二个执行计划性能才是最高的,所以说100%并不代表性能最好3. Library Hit 说明sql在Shared Pool的命中率,期望值是100%4. Execute to Parse 说明解析sql和执行sql之间的比例,越高越好,说明一次解析,到处执行,如果parse多,execute少的话,还会出现负数,因为计算公式是100*(1-parse/execute)5. Parse CPU to Parse Elapsd 说明在解析sql语句过程中,cpu占整个的解析时间比例,,期望值是100%,说明没有产生等待,需要说明的是,即使有硬解析,只要cpu没有出现性能问题,也是可以容忍的,比较硬解析也有它的好处的6. Redo NoWait 说明在产生日志的时候,没有产生等待,期望值是100%7. Soft Parse 说明软解析的比例,期望值是100%,有一点要说明的是,不要单方面的追求软解析的高比例,而去绑定变量,要看性能的瓶颈在哪里8. Latch Hit 说明latch的命中率,期望值是100%,latch类似锁,是一种内存锁,但只会产生等待,不会产生阻塞,和lock还是有区别的,latch是在并发的情况下产生的9. Non-Parse CPU 说明非解析cpu的比例,越高越好,用100减去这个比例,可以看出解析sql所花费的cpu,100-99.30=0.7,说明花费在解析sql上的cpu很少* 结合Time Model Statistics可以看出,在整个sql执行时间(sql execute elapsed time)时间为5552019秒中,解析时间(parse time elapsed)用了36秒,硬解析时间(hard parse elapsed time)用了34秒虽然硬解析时间占了整个解析时间的绝大部分,但解析时间是花的很少的,所以可以判断出,sql的解析没有成为性能的瓶颈,进一步推测,sql在获取数据的过程中遇到了瓶颈* 继续看Top 5 Timed Events,从这里可以看出等待时间在前五位的是什么事件,基本上就可以判断出性能瓶颈在什么地方1. buffer busy waits 说明在获取数据的过程中,频繁的产生等待事件,很有可能产生了热点块,也就是说,很多会话都去读取同样的数据块,这一事件等待了5627394次,总共等待了5322924秒,平均等待时间为946毫秒,而且频率也是最高的,有95.9%,等待类别是并发这里有一个概念:oracle操作的最小单位是块,当一个会话要修改这个块中的一条记录,会读取整个块,如果另一个会话要修改的数据也正好在这个块中,虽然这俩个2. 会话修改的记录不一样,也会产生等待direct path write temp和direct path read temp 说明用到了临时表空间,那我们再看一下Tablespace IO Stats各项指标都是非常高的,再根据上面的In-memory Sort是100%,没有产生磁盘排序,也就在排序的时候没有用到临时表空间,进一步推测,多个session,每个session 执行的sql语句中多表关联,产生了很多中间数据,pga内存中放不下,用到了临时表空间,也有可能是用到了lob字段,在用lob字段的时候,也会用到临时表* 继续看SQL Statistics根据buffer busy waits等待次数,时间,频率都是最高的,我们重点看逻辑读,物理读,和执行时间最长的sql,把排在前几位的拿出来优化优化的原则为降低物理读,逻辑读,sql语句中的子操作执行次数尽量少,在看oracle 估计出来的执行计划是看不出子操作的执行次数的,要看运行时的执行计划* 有兴趣的话还可以看一下Segment Statistics列出了用到的索引和表的使用情况,从这里也能看出索引和表的使用频率* 也可以看一下Load Profile里面列出了每秒,每个事务所产生的日志,逻辑读和物理读等指标。

生成AWR报告操作步骤

生成AWR报告操作步骤

1、通过telnet 远程连接到HP小机上2、输入用户名:oracle 密码:cssyj20113、4、执行@awrrpti.sql脚本,report_type: 处直接敲回车键。

在dbid处输入:DB Id显示的数字3249394952 后,敲回车键在inst_num处输入对应的实例号,截图oracle部署的是RAC集群,因此有2个实例,这里输入:1 ,对应第1个实例。

在num_days处输入对应的天数,表示需要统计的天数,下图所示统计最近30天,若想统计所有天数的信息,则无需输入数字,直接敲回车即可。

输入30后,敲回车会生成下图所示1长串信息。

begin_snap处输入需要统计的快照(Snap)起始ID,如下图所示21496end_snap处输入需要统计的快照(Snap)结束ID,如下图所示21504输入完上图所示信息后,直接敲回车键,在report_name:处直接敲回车键后,会开始生成awr 报告。

生成完毕会输出上图所示的Report written to awrrpt_1_21496_21504.html名称。

该AWR报告默认生成在上面执行awrrpti.sql脚本的目录下。

该机器已配置好FTP服务,直接通过FTP即可找到该文件,用户名输入:root ,密码:cssyj2011登录进去后,进入到oracle/product/10.2.0/db_1/rdbms/admin/目录下,鼠标右键排列图标,修改时间,找到刚生成的名字叫awrrpt_1_21496_21504.htm的报告。

该awr报告用浏览器直接打开进行分析。

以下是AWR各部分代表的意思说明:DB Name :数据库名字 DBid: 数据库idDB Time不包括Oracle后台进程消耗的时间。

如果DB Time远远小于Elapsed 时间,说明数据库比较空闲。

在31分钟里,数据库耗时0.1分钟,数据中显示系统有2个CPULoad ProfileLoad ProfilePer Second Per Transaction这两部分是数据库资源负载的一个明细列表,分割成每秒钟的资源负载和每个事务的资源负载情况,性能指标的含义如下:redo size: 每秒/每个事务产生的redo量 (单位字节)logical reads: 每秒/每个事务产生的逻辑读的块数block changes: 每秒/每个事务改变的数据块数physical reads: 每秒/每个事务产生的物理读physical writes: 每秒/每个事务产生的物理写的块数user calls: 每秒/每个事务用户的调用次数parses: 每秒/每个事务分析次数hard parses: 每秒/每个事务硬分析次数sorts: 每秒/每个事务排序次数logons: 每秒/每个事务登录数据库次数executes: 每秒/每个事务 SQL的执行次数rollbacks: 每秒/每个事物回滚次数transactions: 每秒的事务数Instance Efficiency Percentages (Target 100%)Buffer Nowait:表示在内存获得数据的未等待比例。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
fi
tmp1_id=${begin_id}
#echo "begin_id is: $begin_id"
#echo "tmp1_id is: $tmp1_id"
while [ ${tmp1_id} -lt ${end_id} ]
do
let tmp2_id=${tmp1_id}+1
done
}
# *******************************
# main routing
# *******************************
#read_act
define_dur
generate_awr
# *******************************
#read_act()
#{
#echo "interchange ID: "
#read user
#echo "password: "
#stty -echo
#read pswd
#stty echo
#}
# *******************************
fi
#echo $report_name
$sqlplus -s "/as sysdba">/dev/null<<EOF
set term off
define report_type=$type
define num_days=1
define begin_snap=${tmp1_id}
ret_code=$?
if [ "$ret_code" != "0" ]
then
echo "sqlplus failed with code $ret_code"
echo "program exiting..."
exit 10
fi
begin_id=$(trim ${begin_id})
function trim()
{
local result
result=`echo $1|sed 's/^ *//g' | sed 's/ *$//g'`
echo $result
}
# *******************************
# read interchange ID & passwd
set head off
set feed off
select min(SNAP_ID) from DBA_HIST_SNAPSHOT where
END_INTERVAL_TIME>=to_date($to,'yyyymmddhh24');
spool off
EOF`
# -n [tns admin]
#
# time format: 'yyyymmddhh24'.
# E.g 2011030417 means 05pm, Mar 04, 2011
#
#
# **********************
# get parameters
set feed off
select max(SNAP_ID) from DBA_HIST_SNAPSHOT where
BEGIN_INTERVAL_TIME<=to_date($from,'yyyymmddhh24');
EOF`
ret_code=$?
if [ "$ret_code" != "0" ]
define end_snap=${tmp2_id}
define report_name=${report_name}
@${oracle_home}/rdbms/admin/awrrpt.sql
exit;
EOF
tmp1_id=${tmp2_id}
# get begin and end snapshot ID
# *******************************
define_dur()
{
begin_id=`$sqlplus -s /nas sysdba
set pages 0
set head off
# Usage: dba_oracle_awr.sh -s [instance_name]
# -f [from time]
# -t [to time]
# -p [report type, html or text]
# -h [oracle home]
echo "program exiting..."
exit 1
fi
if [ "$from" = "" ]
then
echo "from time (-f} needed"
echo "program exiting..."
exit 1
fi
if [ "$to" = "" ]
generate_awr()
{
awrsql="${oracle_home}/rdbms/admin/awrrpt.sql"
if [ ! -e $awrsql ]
then
echo "awrrpt.sql does not exist, exiting..."
exit 20
end_id=$(trim ${end_id})
# echo "begin_id: $begin_id end_id: $end_id"
}
# *******************************
# generate AWR report
# *******************************
# **********************
while getopts ":s:f:t:p:h:n" opt
do
case $opt in
s) instance=$OPTARG
;;
f) from=$OPTARG
;;
t) to=$OPTARG
if [ $type = "text" ]
then
report_name="awrrpt_${instance}_${tmp1_id}_${tmp2_id}.txt"
else
report_name="awrrpt_${instance}_${tmp1_id}_${tmp2_id}.html"
exit 1
fi
sqlplus="${oracle_home}/bin/sqlplus"
echo $sqlplus
if [ "$type" = "" ]
then
type="html"
fi
# ********************
# trim function
# ********************
./autoawrrpt.sh -s TEST -f 2011072010 -t 2011072011 -p HTML -h /oracle/product/10.2.0/db_1
autoawrrpt.sh 就是下面的内容 --非原创,就是做了一点点修改
-f 2011072010 时间是 年月日小时
then
echo "sqlplus failed with code $ret_code"
echo "program exiting..."
exit 10
fi
end_id=`$sqlplus -s /nolog<<EOF
conn /as sysdba
set pages 0
;;
'?') echo "$0: invalid option -$OPTARG">&2
exit 1
;;
esac
done
if [ "$instance" = "" ]
then
echo "instance name(-s) needed"
;;
p) type=$OPTARG
type=$(echo $type|tr "[:upper:]" "[:lower:]")
;;
h) oracle_home=$OPTARG
;;
n) tns_admin=$OPTARG
then
echo "to time (-t) needed"
echo "program exiting..."
exit 1
fi
if [ ${oracle_home} ="" ]
then
echo "oracle home (-h) needed"
相关文档
最新文档