生成oracle数据库awr报告所需要的权限

生成oracle数据库awr报告所需要的权限,第1张

AWR报告(的)产生技巧如下::

1,,登陆Oracle数据库::

sqlplus / as sysdba

2, 在sqlplus中,,以sys用户运行下面(的)命令,,生成第一份性能数据快照::

exec DBMS_WORKLOAD_REPOSITORYCREATE_SNAPSHOT (flush_level=>'ALL');

3,,运行您找到(的)所有或很多性能较差(的)应用或SQL,,让系统压力始终处于比较高(的)状态(如CPU或IO(的)使用),,并保持此状态达到半小时到1小时

4,,在sqlplus中,,以sys用户再次运行下面(的)命令,,生成第二份性能数据快照::

exec DBMS_WORKLOAD_REPOSITORYCREATE_SNAPSHOT (flush_level=>'ALL');

5,,在sqlplus中,,以sys用户运行下面(的)命令,,以产生性能报告::

@/rdbms/admin/awrrptsql

根据提示,,选择上面生成(的)2个性能数据快照,,最后会生成一个最终(的)AWR性能报告

你还是系统的看一下关于AWR报告的资料吧,系统默认是一小时自己创建一次快照,但是根据快照来取某个时间段的报告,则需要DBA介入。通过你提问问题的方式,建议你系统查找awr的资料,不然即使给你提供了包,你也不会用。

如何看懂Oracle数据库AWR报告

先看数据库环境,版本,压力大小等

然后分析命中率,首先你要懂命中率什么意思然后定一个阀值,达到这个阀值有可能会有哪些问题,然后向下找出证据

最后也是最重要的是 等待事件,弄清楚每个等待事件的意义,然后向下找证据

事件下面基本可以看作证据,来证明你对命中率和等待事件的分析。

所以第一:你要会分析出问题。

第二:要知道AWR都收集哪些数据,对你的分析来佐证!

RDA是Remote Diagnostic Agent 的简称,是oracle用来收集、分析数据库的工具,运行该工具不会改变系统的任何参数,RDA收集的相关数据非常全面,可以简化我们日常监控、分析数据库的工作,Oracle Support也建议我们在反馈相关问题时,提供RDA收集的数据,这样可以为快速解决问题提供一个有力的保证。

AWR是Oracle Database 10g 提供的一个新工具:(AWR:Automatic Workload Repository)。Oracle 建议用户用这个取代 Statspack。AWR 实质上是一个 Oracle 的内置工具,它采集与性能相关的统计数据,并从那些统计数据中导出性能量度,以跟踪潜在的问题。

与 Statspack 不同,快照由一个称为 MMON 的新的后台进程及其从进程自动地每小时采集一次。为了节省空间,采集的数据在 7 天后自动清除。快照频率和保留时间都可以由用户修改。它产生两种类型的输出:文本格式(类似于 Statspack 报表的文本格式但来自于 AWR 信息库)和默认的 HTML 格式(拥有到部分和子部分的所有超链接),从而提供了非常用户友好的报表。

11 获取执行计划

1 explain plan for获取;

2 set autotrace on ;

3 statistics_level=all;

4 通过dbms_xplandisplay_cursor输入sql_id参数直接获取

5 10046 trace跟踪

6 awrsqrptsql

l 如果某SQL执行很长时间才出结果戒返回不了结果,这时就只能用方法1;

l 跟踪某条SQL最简单的方法是方法1,其次就是方法2;

l 如果想观察到某条SQL有多条执行计划的情况,只能用方法4和方法6;

l 如果SQL中含有函数,函数中套有SQL等多层调用,想准确分析只能使用方法5;

l 要想确保看到真实的执行计划,不能用方法1和方法2;

l 要想获取表被访问的次数,只能使用方法3;

方法一

步骤1:explain plan for "你的SQL"

步骤2:select from table(dbms_xplandisplay());

等同于F5

方法二

步骤1:set autotrace on

步骤2:在此处执行你的SQL即可,后续自然会有结果输出

另,有如下几种方式:

set autotrace on (得到执行计划,输出运行结果)

set autotrace traceonly (得到执行计划,不输出运行结果)

set autotrace traceonly explain (得到执行计划,不输出运行结果和统计信息部分,仅展现执行计划部分)

set autotrace traceonl statistics(不输出运行结果和执行计划部分,仅展现统计信息部分)

方法三

步骤1:alter session set statistics_level=all ;

步骤2:在此处执行你的SQL

步骤3:select from table(dbms_xplandisplay_cursor(null,null,'allstats last'));

另注:

1 如果你用 /+ gather_plan_statistics /的方法,可以省略步骤1,直接步骤2,3。

2 关键字解读(其中OMem、1Mem和User-Mem在后续的课程中会陆续见到):

Starts为该sql执行的次数。

E-Rows为执行计划预计的行数。

A-Rows为实际返回的行数。A-Rows跟E-Rows做比较,就可以确定哪一步执行计划出了问题。

A-Time为每一步实际执行的时间(HH:MM:SSFF),根据这一行可以知道该sql耗时在了哪个地方。

Buffers为每一步实际执行的逻辑读或一致性读。

Reads为物理读。

OMem:当前 *** 作完成所有内存工作区(Work Aera) *** 作所总共使用私有内存(PGA)中工作区的大小,

这个数据是由优化器统计数据以及前一次执行的性能数据估算得出的

1Mem:当工作区大小无法满足 *** 作所需的大小时,需要将部分数据写入临时磁盘空间中(如果仅需要写入一次就可以完成 *** 作,

就称一次通过,One-Pass;否则为多次通过,Multi_Pass)该列数据为语句最后一次执行中,单次写磁盘所需要的内存

大小,这个由优化器统计数据以及前一次执行的性能数据估算得出的

User-Mem:语句最后一次执行中,当前 *** 作所使用的内存工作区大小,括号里面为(发生磁盘交换的次数,1次即为One-Pass,

大于1次则为Multi_Pass,如果没有使用磁盘,则显示OPTIMAL)

OMem、1Mem为执行所需的内存评估值,0Mem为最优执行模式所需内存的评估值,1Mem为one-pass模式所需内存的评估值。

0/1/M 为最优/one-pass/multipass执行的次数。Used-Mem耗的内存

方法四

select sql_id,child_number from v$sql where sql_text like '%……%';

步骤1: select from table(dbms_xplandisplay_cursor('&sq_id')); (该方法是从共享池里得到)

注:

1 还有一个方法,select from table(dbms_xplandisplay_awr('&sq_id'));(这是awr性能视图里获取到的)

2 如果有多执行计划,可以用类似方法查出

select from table(dbms_xplandisplay_cursor('cyzznbykb509s',0));

select from table(dbms_xplandisplay_cursor('cyzznbykb509s',1));

方法五

步骤1:alter session set events '10046 trace name context forever,level 12'; (开启跟踪)

步骤2:执行你的语句

步骤3:alter session set events '10046 trace name context off'; (关闭跟踪)

步骤4:找到跟踪后产生的文件

步骤5:tkprof trc文件 目标文件 sys=no sort=prsela,exeela,fchela (格式化命令)

方法六

步骤1:@/rdbms/admin/awrsqrptsql

步骤2:选择你要的断点(begin snap 和end snap)

步骤3:输入你的sql_id

SQL> @/rdbms/admin/awrrpt

//注意输入的@/rdbms/admin/awrrpt 中间没有任何空格,需要在数据库服务器上Oracle用户登陆,sqlplus / as sysdba 进入SQL> 下执行

Current Instance

~~~~~~~~~~~~~~~~

DB Id DB Name Inst Num Instance

----------- ------------ -------- ------------

857123342 JY 1 jy1

Specify 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'

Enter value for report_type:

//注意这里直接回车即可,默认就是html格式的

Type Specified: html

Instances in this Workload Repository schema

以上就是关于生成oracle数据库awr报告所需要的权限全部的内容,包括:生成oracle数据库awr报告所需要的权限、oracle 停止的那个小时怎么导出awr、如何看懂Oracle数据库AWR报告等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9503570.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存