oracle實用sql(9)--批量生成一天的ash報告或awr報告
工作中可能需要某一天各個時間段的ash報告或awr報告,手動一個一個生成太費力了.利用dbms_workload_repository包再配合sqlplus的spool
可以使這件事情簡單一些.
以下示例:
一.批量生成一天的ash報告
1.生成查詢語句
#此處是按照15分鐘的間隔時間,生成前一天所有的ash報告 的查詢語句
select
'spool ash_'||db_unique_name||'_'||inst_id||'_'||to_char(trunc(sysdate-1)+level/96,'yyyymmddhh24mi')||'.html'
||chr(10)||
'select output from table(dbms_workload_repository.ash_report_html
('||dbid||', '||inst_id||',trunc(sysdate-1)+'||(level-1)||'/96,trunc(sysdate-1)+'|| level ||'/96));'
||chr(10)||
'spool off'
from gv$database a
connect by level <=96;
2.產生報告
ORACLE_SID=ct6601sb
sqlplus -s / as sysdba
set linesize 1000;
set echo off;
set heading off;
貼上步驟1生成的語句執行即可.
一.批量生成一天的awr報告
1.生成查詢語句
#此處是按照預設的快照間隔時間,生成前一天所有的awr報告 的查詢語句
select
'spool awr_'||dbid||'_'||instance_number||'_'||b_snap_id||'_'||e_snap_id||'.html'
||chr(10)||
'select output from table(dbms_workload_repository.awr_report_html('||dbid||', '||instance_number||','||b_snap_id||','||e_snap_id||'));'
||chr(10)||
'spool off'
from
(select dbid,instance_number,snap_id b_snap_id,lead(snap_id,1,0) over(partition by instance_number order by snap_id) e_snap_id
from dba_hist_snapshot
where begin_interval_time>=trunc(sysdate-1)
and begin_interval_time<=trunc(sysdate))
where e_snap_id!=0;
2.產生報告
ORACLE_SID=ct6601sb
sqlplus -s / as sysdba
set linesize 1000;
set echo off;
set heading off;
貼上步驟1生成的語句執行即可.
可以使這件事情簡單一些.
以下示例:
一.批量生成一天的ash報告
1.生成查詢語句
#此處是按照15分鐘的間隔時間,生成前一天所有的ash報告 的查詢語句
select
'spool ash_'||db_unique_name||'_'||inst_id||'_'||to_char(trunc(sysdate-1)+level/96,'yyyymmddhh24mi')||'.html'
||chr(10)||
'select output from table(dbms_workload_repository.ash_report_html
('||dbid||', '||inst_id||',trunc(sysdate-1)+'||(level-1)||'/96,trunc(sysdate-1)+'|| level ||'/96));'
||chr(10)||
'spool off'
from gv$database a
connect by level <=96;
2.產生報告
ORACLE_SID=ct6601sb
sqlplus -s / as sysdba
set linesize 1000;
set echo off;
set heading off;
貼上步驟1生成的語句執行即可.
一.批量生成一天的awr報告
1.生成查詢語句
#此處是按照預設的快照間隔時間,生成前一天所有的awr報告 的查詢語句
select
'spool awr_'||dbid||'_'||instance_number||'_'||b_snap_id||'_'||e_snap_id||'.html'
||chr(10)||
'select output from table(dbms_workload_repository.awr_report_html('||dbid||', '||instance_number||','||b_snap_id||','||e_snap_id||'));'
||chr(10)||
'spool off'
from
(select dbid,instance_number,snap_id b_snap_id,lead(snap_id,1,0) over(partition by instance_number order by snap_id) e_snap_id
from dba_hist_snapshot
where begin_interval_time>=trunc(sysdate-1)
and begin_interval_time<=trunc(sysdate))
where e_snap_id!=0;
2.產生報告
ORACLE_SID=ct6601sb
sqlplus -s / as sysdba
set linesize 1000;
set echo off;
set heading off;
貼上步驟1生成的語句執行即可.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28539951/viewspace-2122761/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【AWR】Oracle批量生成awr報告指令碼Oracle指令碼
- ASH可以生成指定的session或sql_id的報告,ASH和AWR的區別SessionSQL
- ORACLE AWR效能報告和ASH效能報告的解讀Oracle
- Oracle生成awr報告Oracle
- Oracle 生成awr報告Oracle
- Oracle AWR與ASH效能報告深入解析Oracle
- 學用ORACLE AWR和ASH特性(8)-生成ASH報表Oracle
- 轉貼:批量生成awr報告指令碼指令碼
- ORACLE 11G生成AWR報告Oracle
- 學用ORACLE AWR和ASH特性(4)-生成指定SQL的統計報表OracleSQL
- Oracle 11g ASH報告的生成方法Oracle
- Oracle AWR報告分析之–SQL ordered byOracleSQL
- 生成awr報告的指令碼指令碼
- 手工生成AWR分析報告
- 轉載詳細的Oracle ASH/AWR介紹及報告分析Oracle
- oracle效能awr報告Oracle
- 自動生成ASH報告指令碼指令碼
- Oracle 11g RAC 如何生成AWR報告?Oracle
- Oracle 11g RAC生成 AWR 報告方法Oracle
- 自動生成AWR HTML報告HTML
- Oracle AWR報告大綱Oracle
- oracle 產生awr 報告Oracle
- oracle AWR報告提取分析Oracle
- oracle ash效能報告的使用方法Oracle
- 定時自動生成awr報告
- 指令碼:定時生成awr報告指令碼
- AWR報告自動生成指令碼指令碼
- 自動生成awr報告指令碼指令碼
- shell指令碼實現自動生成awr報告指令碼
- 【AWR】自動生成AWR報告指令碼以及用法指令碼
- Oracle10g 自動生成AWR報告的指令碼Oracle指令碼
- ORACLE AWR報告詳細分析Oracle
- oracle特性之AWR報告2Oracle
- ash報告中無sql_id的情況SQL
- Oracle 11g 手工跑ASH報告Oracle
- awr報告每天自動生成指令碼指令碼
- oracle rac 單個例項不能生成awr報告的問題Oracle
- Oracle10g自動生成AWR分析報告的指令碼Oracle指令碼