Oracle 批量產生AWR報告

來源:互聯網
上載者:User

Oracle 批量產生AWR報告

在日常的工作中需要每天監控AWR報告,消除隱患,下面是自動營運指令碼。Oracle的ADDM也會給出部分最佳化建議,ADDM報告自動產生指令碼參見:Oracle下批量產生ADDM報告 (見)。

使用方法: 在E盤下面建立AWR的目錄,將三個檔案放入到其中awr.cmd、awr.sql、myawr.sql. 通過window的任務計劃建立定時任務觸發awr.cmd.

前提連上的使用者需要被賦予兩個許可權。

grant select any dictionary to user;-----user為生產資料庫帳號

grant execute on dbms_workload_repository to user;-------user為生產資料庫帳號

Oracle AWR報告產生與查看

在CentOS 6.4下安裝Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虛擬機器中安裝步驟

Debian 下 安裝 Oracle 11g XE R2

Oracle AWR報告產生步驟

1. 檔案名稱: awr.cmd       

 內容:  cmd.exe /c sqlplus username/password@servername @awr.sql

2. 檔案名稱: awr.sql

 內容:

@@E:\AWR\myawr.sql 0 8
@@E:\AWR\myawr.sql 8 12
@@E:\AWR\myawr.sql 12 14
@@E:\AWR\myawr.sql 14 18
@@E:\AWR\myawr.sql 18 24
exit

3. 檔案名稱: myawr.sql

內容:

set echo off;
set veri off;
set feedback off;
set termout on;
set heading off;
set linesize 1500;

variable dbid number;
variable inst_num number;
variable bid number;
variable eid number;
variable bhour        number;
variable ehour        number;
begin
  :bhour      :=  &1;
  :ehour      :=  &2;
end;
/
begin
select min(t.snap_id) + :bhour - 1 into :bid from sys.dba_hist_snapshot t  where to_char(t.begin_interval_time,'yyyy-mm-dd') = to_char(sysdate-1,'yyyy-mm-dd');
select min(t.snap_id) + :ehour - 1 into :eid from sys.dba_hist_snapshot t  where to_char(t.begin_interval_time,'yyyy-mm-dd') = to_char(sysdate-1,'yyyy-mm-dd');
select dbid into :dbid from v$database;
select instance_number into :inst_num from v$instance;
end;
/
set termout off;
column report_name new_value report_name noprint;
select 'awrrpt_'||to_char(sysdate-1,'yyyymmdd')||'_'||:bhour||'-'||:ehour||'.html' report_name from dual;
set termout on;
spool &report_name;
select output from table(dbms_workload_repository.awr_report_html(:dbid,:inst_num,:bid,:eid,0 ));
spool off;

set termout on;
clear columns sql;
ttitle off;
btitle off;
repfooter off;
undefine report_name

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.