一個自動生成awr報告的shell指令碼
最近在學習shell程式設計,搞一點點小工具自動完成awr報告的收集工作,方便系統出現問題時問題排查。
指令碼內容如下,系統收集每天開始時間6點結束時間20點的awr報告並儲存在/u01/shell_t/awr/目錄下
#! /bin/sh
export ORACLE_SID=PROD1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
m=(`sqlplus -S "/ as sysdba" << EOF
set pagesize 0 feedback off verify off heading off echo off
select max(snap_id) from dba_hist_snapshot where begin_interval_time>to_date(to_char(sysdate,'YYYY-MM-DD')||' 06
','YYYY-MM-DD HH24') and end_interval_time<=to_date(to_char(sysdate,'YYYY-MM-DD')||' 20','YYYY-MM-DD HH24');
EOF`)
n=(`sqlplus -S "/ as sysdba" << EOF
set pagesize 0 feedback off verify off heading off echo off
select min(snap_id) from dba_hist_snapshot where begin_interval_time>to_date(to_char(sysdate,'YYYY-MM-DD')||' 06
','YYYY-MM-DD HH24') and end_interval_time<=to_date(to_char(sysdate,'YYYY-MM-DD')||' 20','YYYY-MM-DD HH24');
EOF`)
name=(`sqlplus -S "/ as sysdba" << EOF
set pagesize 0 feedback off verify off heading off echo off
select instance_name from v\\\$instance;
EOF`)
date=(`sqlplus -S "/ as sysdba" << EOF
set pagesize 0 feedback off verify off heading off echo off
select to_char(sysdate,'yyyymmddhh24') from dual;
EOF`)
sqlplus -S "/ as sysdba" <<eof
@/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/admin/awrrpt.sql;
html
1
$n
$m
/u01/shell_t/awr/awrrpt_1_${name}_${date}.html
EOF
指令碼內容如下,系統收集每天開始時間6點結束時間20點的awr報告並儲存在/u01/shell_t/awr/目錄下
#! /bin/sh
export ORACLE_SID=PROD1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
m=(`sqlplus -S "/ as sysdba" << EOF
set pagesize 0 feedback off verify off heading off echo off
select max(snap_id) from dba_hist_snapshot where begin_interval_time>to_date(to_char(sysdate,'YYYY-MM-DD')||' 06
','YYYY-MM-DD HH24') and end_interval_time<=to_date(to_char(sysdate,'YYYY-MM-DD')||' 20','YYYY-MM-DD HH24');
EOF`)
n=(`sqlplus -S "/ as sysdba" << EOF
set pagesize 0 feedback off verify off heading off echo off
select min(snap_id) from dba_hist_snapshot where begin_interval_time>to_date(to_char(sysdate,'YYYY-MM-DD')||' 06
','YYYY-MM-DD HH24') and end_interval_time<=to_date(to_char(sysdate,'YYYY-MM-DD')||' 20','YYYY-MM-DD HH24');
EOF`)
name=(`sqlplus -S "/ as sysdba" << EOF
set pagesize 0 feedback off verify off heading off echo off
select instance_name from v\\\$instance;
EOF`)
date=(`sqlplus -S "/ as sysdba" << EOF
set pagesize 0 feedback off verify off heading off echo off
select to_char(sysdate,'yyyymmddhh24') from dual;
EOF`)
sqlplus -S "/ as sysdba" <<eof
@/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/admin/awrrpt.sql;
html
1
$n
$m
/u01/shell_t/awr/awrrpt_1_${name}_${date}.html
EOF
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29135257/viewspace-2130163/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- shell指令碼實現自動生成awr報告指令碼
- AWR報告自動生成指令碼指令碼
- 自動生成awr報告指令碼指令碼
- 【AWR】自動生成AWR報告指令碼以及用法指令碼
- awr報告每天自動生成指令碼指令碼
- Oracle10g 自動生成AWR報告的指令碼Oracle指令碼
- 生成awr報告的指令碼指令碼
- Oracle10g自動生成AWR分析報告的指令碼Oracle指令碼
- 【AWR】Oracle批量生成awr報告指令碼Oracle指令碼
- 自動生成AWR HTML報告HTML
- 指令碼:定時生成awr報告指令碼
- 自動生成ASH報告指令碼指令碼
- 定時自動生成awr報告
- 轉貼:批量生成awr報告指令碼指令碼
- 使用shell自動傳送Oracle AWR報告Oracle
- AWR Report 自動生成指令碼 [final]指令碼
- 通過shell指令碼抓取awr報告中的問題sql指令碼SQL
- 透過shell指令碼抓取awr報告中的問題sql指令碼SQL
- 一個自動生成oracle job的指令碼Oracle指令碼
- awr自動收集指令碼指令碼
- 使用shell生成orabbix自動化配置指令碼指令碼
- 自動生成AWR報告並以郵件附件傳送
- 【效能優化】sqlplus中使用指令碼生成awr報告優化SQL指令碼
- 透過shell指令碼定位效能sql和生成報告指令碼SQL
- 通過shell指令碼定位效能sql和生成報告指令碼SQL
- Oracle生成awr報告Oracle
- Oracle 生成awr報告Oracle
- 幾個shell自動化指令碼(轉)指令碼
- 手工生成AWR分析報告
- [Shell] 自動生成oracle awr report並mail出來OracleAI
- 自動生成Statspack的指令碼指令碼
- 使用shell定製awr指令碼指令碼
- [Shell] Shell 生成 HTML指令碼HTML指令碼
- 利用shell指令碼生成動態sql指令碼SQL
- 自動ftp,生成control file,sql*load的shell指令碼FTPSQL指令碼
- 自動重建失效index的shell指令碼Index指令碼
- 巧用shell指令碼生成快捷指令碼指令碼
- 一個自動ftp的指令碼(轉)FTP指令碼