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 11.2.0.3.0中執行awrrpt.sql生成awr報告報ora-06502錯誤OracleSQL
- oracle rac 單個例項不能生成awr報告的問題Oracle
- ash報告中無sql_id的情況SQL
- awr報告每天自動生成指令碼指令碼
- Oracle 12.2 physical standby備庫收集AWR報告Oracle
- 本機生成遠端資料庫AWR報告資料庫
- 【效能調優】Oracle AWR報告指標全解析Oracle指標
- AWR報告基礎操作
- 如何在12.2版本ADG備庫生成AWR報告
- 達夢資料庫如何來配置並生成AWR報告資料庫
- Oracle11g生成手動的快照報告報錯Oracle
- awr-----一份經典的負載很高的awr報告負載
- 12.2 如何單為PDB建立AWR報告
- 進度報告9
- [轉]Oracle資料庫ASH和AWR的簡單介紹Oracle資料庫
- 宜信資料庫實踐|解讀Oracle AWR效能分析報告,更快定位效能瓶頸資料庫Oracle
- 報表工具如何生成 word 報告?
- statspack、awr、addm,ash影片分享
- IAB報告:視訊觀眾的一天
- LLM應用實戰: AI資訊的自動聚合及報告生成AI
- 達夢資料庫AWR報告日常管理方法資料庫
- [20230220][20230110]生成相關備庫的awr報表
- Oracle Hospitality:2025酒店業報告Oracle
- Oracle 客戶端生成AWR方法Oracle客戶端
- 報表生成器Stimulsoft分層報告教程
- Flutter試用報告Flutter
- allure生成測試報告 0 NAN%測試報告NaN
- Activate:2021年需求生成報告
- FTP實驗報告FTP
- 實驗報告4
- 實驗報告5
- CNNIC:生成式人工智慧應用發展報告(2024)CNN人工智慧
- Nielsen:2021年9月播客報告
- 9. Oracle常用分析診斷工具——9.2. ASHOracle
- AWR TOP SQL實現SQL