AWR报告生成步骤 ORACLE
- 格式:docx
- 大小:333.09 KB
- 文档页数:10
1.进入cmd,
最后报告文件存在;
2.输入命令 sqlplus / as sysdba,然后回车
3.进入sqlplus操作
4.输入命令 @?/rdbms/admin/awrrpt;
(手敲,不要复制)回车
4.1输入文件格式:html
4.2输入天数:1
5.输入 开始时间点id回车,
6.输入 结束时间点id,回车,
回车
7.回车生成报告
直接回车,等待直到下图完成
。
1.进入cmd,
最后报告文件存在;
2.输入命令 sqlplus / as sysdba,然后回车
3.进入sqlplus操作
4.输入命令 @?/rdbms/admin/awrrpt;
(手敲,不要复制)回车
4.1输入文件格式:html
4.2输入天数:1
5.输入 开始时间点id回车,
6.输入 结束时间点id,回车,
回车
7.回车生成报告
直接回车,等待直到下图完成
。
中显示系统有8个逻辑CPU(4个物理CPU),平均每个CPU耗时1.4分钟,CPU利用率只有大约2%(1.4/79)。
说明系统压力非常小。
可是对于批量系统,数据库的工作负载总是集中在一段时间内。
如果快照周期不在这一段时间内,或者快照周期跨度太长而包含了大量的数据库空闲时间,所得出的分析结果是没有意义的。
这也说明选择分析时间段很关键,要选择能够代表性能问题的时间段。
Cache Sizes值比较。
shared pool主要包括library cache和dictionary cache。
library cache用来存储最近解析(或编译)后SQL、PL/SQL和Java classes等。
library cache用来存储最近引用的数据字典。
发生在library cache或dictionary cache的cache miss代价要比发生在buffer cache的代价高得多。
因此shared pool的设置要确保最近使用的数据都能被cache。
Load Profile事务的负载变化不大,说明应用运行比较稳定。
单个的报告数据只说明应用的负载情况,绝大多数据并没有一个所谓“正确”的值,然而Logons大于每秒1~2个、Hard parses大于每秒100、全部parses超过每秒300表明可能有争用问题。
Redo size:每秒/每事务产生的redo大小(单位字节),可标志数据库任务的繁重程序。
Logical reads:每秒/每事务逻辑读的块数Block changes:每秒/每事务修改的块数Physical reads:每秒/每事务物理读的块数Physical writes:每秒/每事务物理写的块数User calls:每秒/每事务用户call次数Parses:SQL解析的次数Hard parses:其中硬解析的次数,硬解析太多,说明SQL重用率不高。
Sorts:每秒/每事务的排序次数Logons:每秒/每事务登录的次数Executes:每秒/每事务SQL执行次数Transactions:每秒事务数Blocks changed per Read:表示逻辑读用于修改数据块的比例Recursive Call:递归调用占所有操作的比率Rollback per transaction:每事务的回滚率Rows per Sort:每次排序的行数注:Oracle的硬解析和软解析提到软解析(soft parse)和硬解析(hard parse),就不能不说一下Oracle对sql 的处理过程。
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报告详细分析AWR 是 Oracle 10g 版本推出的新特性,全称叫Automatic Workload Repository-自动负载信息库, AWR 是通过对比两次快,照(snapshot)收集到的统计信息,来生成报表数据,生成的报表包括多个部分。
WORKLOAD REPOSITORY report forDB Name DB Id Instance Inst num Release RAC HostICCI 1314098396 ICCI1 1 10.2.0.3.0 YES HPGICCI1Snap Id Snap Time Sessions Cursors/SessionBegin Snap: 2678 25-Dec-08 14:04:50 24 1.5End Snap: 2680 25-Dec-08 15:23:37 26 1.5Elapsed: 78.79 (mins)DB Time: 11.05 (mins)Elapsed 时间,说明数据库比较空闲。
db time= cpu time + wait time(不包含空闲等待)(非后台进程)说白了就是db time就是记录的服务器花在数据库运算(非后台进程)和等待(非空闲等待)上的时间DB time = cpu time + all of nonidle wait event time在79分钟里(其间收集了3次快照数据),数据库耗时11分钟,RDA数据中显示系统有8个逻辑CPU(4个物理CPU),平均每个CPU耗时1.4分钟,CPU利用率只有大约2%(1.4/79)。
说明系统压力非常小。
列出下面这两个来做解释:Report A:Snap Id Snap Time Sessions Curs/Sess--------- ------------------- -------- ---------Begin Snap: 4610 24-Jul-08 22:00:54 68 19.1End Snap: 4612 24-Jul-08 23:00:25 17 1.7Elapsed: 59.51 (mins)DB Time: 466.37 (mins)Report B:Snap Id Snap Time Sessions Curs/Sess--------- ------------------- -------- ---------Begin Snap: 3098 13-Nov-07 21:00:37 39 13.6End Snap: 3102 13-Nov-07 22:00:15 40 16.4Elapsed: 59.63 (mins)DB Time: 19.49 (mins)服务器是AIX的系统,4个双核cpu,共8个核:/sbin> bindprocessor -qThe available processors are: 0 1 2 3 4 5 6 7先说Report A,在snapshot间隔中,总共约60分钟,cpu就共有60*8=480分钟,DB time 为466.37分钟,则:cpu花费了466.37分钟在处理Oralce非空闲等待和运算上(比方逻辑读)也就是说cpu有466.37/480*100% 花费在处理Oracle的操作上,这还不包括后台进程看Report B,总共约60分钟,cpu有19.49/480*100% 花费在处理Oracle的操作上很显然,2中服务器的平均负载很低。
oracle sql 跟踪方法Oracle SQL是一种强大的关系型数据库管理系统,它提供了一套丰富的工具和功能来跟踪和分析SQL语句的执行过程。
在开发和调试过程中,跟踪SQL语句的执行可以帮助我们快速定位问题并进行优化。
本文将介绍几种常用的Oracle SQL跟踪方法。
一、使用SQL Trace跟踪方法SQL Trace是Oracle提供的一种跟踪SQL语句执行过程的方法。
通过在会话级别启用SQL Trace,我们可以收集SQL语句的执行计划、消耗的资源以及其他相关信息。
启用SQL Trace的方法如下:1. 使用ALTER SESSION语句启用SQL Trace:ALTER SESSION SET SQL_TRACE = TRUE;2. 使用DBMS_SESSION包启用SQL Trace:EXEC DBMS_SESSION.SET_SQL_TRACE(TRUE);启用SQL Trace后,Oracle将会将跟踪信息写入跟踪文件中。
我们可以使用以下方法查找跟踪文件的位置:1. 查询V$DIAG_INFO视图获取跟踪文件的位置:SELECT VALUE FROM V$DIAG_INFO WHERE NAME = 'Default Trace File';2. 查询USER_DUMP_DEST或BACKGROUND_DUMP_DEST参数获取跟踪文件的位置:SELECT VALUE FROM V$PARAMETER WHERE NAME = 'user_dump_dest';跟踪文件的命名方式为ORA_SID_PID.trc,其中SID为会话ID,PID为进程ID。
二、使用10046事件跟踪方法除了SQL Trace,Oracle还提供了10046事件跟踪方法。
通过在会话级别启用10046事件跟踪,我们可以获得比SQL Trace更详细的跟踪信息。
启用10046事件跟踪的方法如下:1. 使用ALTER SESSION语句启用10046事件跟踪:ALTER SESSION SET EVENTS '10046 TRACE NAME CONTEXT FOREVER, LEVEL 12';2. 使用DBMS_SYSTEM包启用10046事件跟踪:EXEC DBMS_SYSTEM.SET_EV(12345, 10046, 12, '');启用10046事件跟踪后,Oracle将会将跟踪信息写入跟踪文件中,跟踪文件的位置和命名方式与SQL Trace相同。