Oracle AWR\ASH report related operations

WeChat public account : IT Bond
Insert picture description here
1 manual sampling data
exec dbms_workload_repository.create_snapshot;

常用脚本
@?/rdbms/admin/awrrpt   --生成AWR报告
@?/rdbms/admin/awrddrpt  --AWR比对报告(2个时间区间对比)
@?/rdbms/admin/awrsqrpt --生成SQL报告
@?/rdbms/admin/awrsqrpi 生成其他实例SQL报告  --对比其他地方迁移过来的AWR

Create an AWR baseline

exec dbms_workload_repository.create_baseline(start_snap_ id,end_snap_id ,baseline_name);

2 View the current AWR saving strategy

select * from dba_hist_wr_control;

DBID SNAP_INTERVAL                           RETENTION                                TOPNSQL
---------- ---------------------------------------  --------------------------------------- ----------
1564637639 +00000 01:00:00.0                       +00007  00:00:00.0                       DEFAULT
注:以上结果表示,每小时产生一个SNAPSHOT,保留7天

3 Adjust AWR related parameters

exec  dbms_workload_repository.modify_snapshot_settings(retention=>10*24*60);  --收集间隔时间改为保留10天时间
exec dbms_workload_repository.modify_snapshot_settings(interval=>30);  --集间隔时间改为30 分钟一次

4 Steps to generate AWR report
4.1 Linux system

sqlplus / as sysdba
SQL> @$ORACLE_HOME/rdbms/admin/awrrpt.sql
输入 report_type 的值:html     (注:确定报告的格式)
输入 num_days 的值:7 (注:选择快照的天数)
输入 begin_snap 的值:425       (注:起始快照)
输入 end_snap 的值:427          (注:结束快照)
输入 report_name 的值:/home/oracle/scr/awr_report/awr-2020-01-18.html
注:sqlplus sys/[email protected]/PEDBDB as sysdba  可以远程生成AWR报告   
--其中 PEDBDB为service_names

4.2 windows system

1.运行cmd,然后进入到 oracle的安装目录
例: E:\app\Administrator\product\11.2.0\dbhome_1\
2.再进入到下面的目录 RDBMS\ADMIN,确ADMIN下面有 awrrpt.sql这个文件
3.输入 sqlplus ,然后以管理员身份登录。
4.输入命名:@awrrpt
5.输入 report_type 的值:html  --可以选择text或html类型
6.输入 num_days 的值:7 --选择快照的天数
输入1,则表示要生成今天0点开始到现在之内的某个时间段的报告,以此类推,缺省记录最近7天
7.输入 begin_snap 的值:425  --起始快照
8.输入 end_snap 的值:427    --结束快照
9.输入 report_name 的值  --D:\awr.html(指定位置)
注:生成的oracle报告的位置若不指定默认位置在: $ORACLE_HOME\RDBMS\ADMIN 下

5 Steps to generate ASH report

ASH (Active SessionHistory)
   ASH以V$SESSION为基础,每秒采样一次,记录活动会话等待的事件。
不活动的会话不会采样,采样工作由新引入的后台进程MMNL来完成,v$active_session_history视图提供了在实例级别抽取会话活动信息
一般在线上实时诊断数据库性能问题,特别是负载高,CPU 100%,这个时候用ASH实时出日志报告,就能很大程度上准确定位问题所在。
sqlplus / as sysdba
SQL> @?/rdbms/admin/ashrpt.sql    --?代表环境变量$ORACLE_HOME
输入 report_type 的值:html     --确定报告的格式
Enter value for begin_time    --输入ASH 开始的时间,时间格式上面的示例有说明
Enter value for duration:             
--输入ASH 结束时间,默认是SYSDATE - begin_time,一般输入的分析统计的总时间,一般默认是秒,
比如这里7200就是2个小时,拿出2个小时的ash分析日志来。
Enter value for report_name:/home/oracle/scr/ash_report/ash-2020-12-13.html  --指定位置

Guess you like

Origin blog.csdn.net/weixin_41645135/article/details/115273133