自動生成Statspack的指令碼
以下為Oracle資料庫,自動生成Statspack的指令碼。
可以設定在每天的23點許,一次性生成當天的資料庫Statspack Report,時間範圍為9:00~18:00的工作時間,抓取週期為1小時一次。
以下為sql的指令碼,shell部分可以根據具體OS環境確定,筆者環境為Windows 2003 Server。
[@more@]set serveroutput on
set feedback off
set trims on
spool sp_temp.sql
declare
cursor cursnap(sdate varchar2) is
select a.snap_id beginid,
b.snap_id endid,
'Z:dbashellmonitordba_logspcas_' || substr(sdate,5) || '_' || a.snap_time || b.snap_time ||
'.log' repname
from (select rownum r, snap_id, to_char(snap_time, 'hh24') snap_time
from perfstat.stats$snapshot
where snap_time between to_date(sdate||'0830', 'yyyymmddhh24mi') and
to_date(sdate||'1730', 'yyyymmddhh24mi')
order by 2) a,
(select rownum r, snap_id, to_char(snap_time, 'hh24') snap_time
from perfstat.stats$snapshot
where snap_time between to_date(sdate||'0930', 'yyyymmddhh24mi') and
to_date(sdate||'1830', 'yyyymmddhh24mi')
order by 2) b
where a.r = b.r;
rs cursnap%rowtype;
s_date varchar2(8);
d_date number;
begin
select to_char(sysdate,'yyyymmdd') into s_date from dual;
--s_date:='20080119';
select to_char(to_date(s_date,'yyyymmdd')-1,'d') into d_date from dual;
if d_date<=5 then
open cursnap(s_date);
loop
fetch cursnap into rs;
exit when cursnap%notfound;
dbms_output.put_line('define begin_snap='||rs.beginid);
dbms_output.put_line('define end_snap='||rs.endid);
dbms_output.put_line('define report_name='||rs.repname);
dbms_output.put_line();
dbms_output.put_line('undefine begin_snap');
dbms_output.put_line('undefine end_snap');
dbms_output.put_line('undefine report_name');
end loop;
close cursnap;
end if;
dbms_output.put_line('exit');
end;
/
spool off;
exit;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7319461/viewspace-998365/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- awr報告每天自動生成指令碼指令碼
- SQL Server映象自動生成指令碼方法SQLServer指令碼
- 用bat指令碼自動生成安裝包InnosetupBAT指令碼
- 「懶惰的美德」我用 python 寫了個自動生成給文件生成索引的指令碼Python索引指令碼
- 自動刪除過期的statspack統計資料
- specjvm自動化指令碼JVM指令碼
- 自動備份指令碼指令碼
- Ubuntu自動啟動配置指令碼Ubuntu指令碼
- MySQL8.0的自動部署指令碼MySql指令碼
- Python——自動簽到指令碼Python指令碼
- Dockerfile---指令碼自動化Docker指令碼
- vue自動化部署指令碼Vue指令碼
- redolog生成指令碼指令碼
- centos 自動啟動指令碼和自啟動服務CentOS指令碼
- 自動化指令碼安裝mysql shell指令碼範例指令碼MySql
- chagpt自動生成PPT程式碼GPT
- Android JNI 程式碼自動生成Android
- 程式碼自動生成外掛:
- Mac生成APP圖示和啟動圖的指令碼MacAPP指令碼
- iOS —— 兩套自動打包指令碼iOS指令碼
- mydumper自動化安裝指令碼指令碼
- oracle自動冷備份指令碼Oracle指令碼
- 實現指令碼自動部署docker指令碼Docker
- Shell指令碼實現生成SSL自簽署證書指令碼
- 最簡單的mybatis自動程式碼生成MyBatis
- MySQL自動備份指令碼30天自動刪除MySql指令碼
- sqoop指令碼批量生成OOP指令碼
- beego 程式碼自動生成器Go
- iOS使用指令碼跟隨工程程式碼動態生成FrameworkiOS指令碼Framework
- Linux 新增指令碼開機自啟動Linux指令碼
- Python 指令碼自動視窗截圖Python指令碼
- golang一鍵自動安裝指令碼Golang指令碼
- python實現自動搶課指令碼Python指令碼
- 開機自動執行python指令碼Python指令碼
- Oracle ADG 自動切換指令碼分享Oracle指令碼
- 前端專案nodejs自動部署指令碼前端NodeJS指令碼
- JMeter 介面自動化測試(手工轉自動化指令碼)JMeter指令碼
- Mybatis自動程式碼生成器的實現MyBatis
- 基於 AST 的程式碼自動生成方案AST