cat awr.sql ######EXEC P_AWR_REPORT('201604251000', '201604251100', 'D_OUTPUT', '', FALSE); FALSE为rac生成awr

EXEC P_AWR_REPORT('201604251000', '201604251100', 'D_OUTPUT', '', FALSE);
CREATE DIRECTORY D_OUTPUT AS '/oracle/products/11.2/db/scripts/mon/log';
CREATE DIRECTORY D_OUTPUT AS '/oracle/db/scripts/mon/log';
############sqlplus下新建DIRECTORY后在sqlplus下执行一下存储过程执行完毕后执行EXEC P_AWR_REPORT('201604251000', '201604251100', 'D_OUTPUT', '', FALSE);测试####################
CREATE OR REPLACE PROCEDURE P_AWR_REPORT (
P_BEGIN IN VARCHAR2,
P_END IN VARCHAR2,
P_DIR IN VARCHAR2,
P_DBNAME IN VARCHAR2 DEFAULT '',
P_PERINTERVAL IN BOOLEAN DEFAULT FALSE) AS
TYPE T_VARCHAR IS TABLE OF VARCHAR2(1500 CHAR) INDEX BY BINARY_INTEGER;
V_REPORT T_VARCHAR;
V_FILE UTL_FILE.FILE_TYPE;
TYPE T_NUM IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
TYPE T_DATE IS TABLE OF DATE INDEX BY BINARY_INTEGER;
V_INSTANCE T_NUM;
V_SNAP_BEG T_NUM;
V_SNAP_END T_NUM;
V_BEGIN_DATE T_DATE;
V_END_DATE T_DATE;
V_BEGIN NUMBER;
V_END NUMBER;
V_DBID NUMBER;
V_DBNAME V$DATABASE.NAME%TYPE;
BEGIN

IF P_DBNAME IS NOT NULL THEN
SELECT DISTINCT DBID, DB_NAME
INTO V_DBID, V_DBNAME
FROM DBA_HIST_DATABASE_INSTANCE
WHERE DB_NAME = P_DBNAME;
ELSE
SELECT DBID, NAME
INTO V_DBID, V_DBNAME
FROM V$DATABASE;
END IF;

SELECT DISTINCT INSTANCE_NUMBER,
FIRST_VALUE(SNAP_ID) OVER(PARTITION BY INSTANCE_NUMBER ORDER BY ABS(CAST (END_INTERVAL_TIME AS DATE) - TO_DATE(P_BEGIN, 'YYYYMMDDHH24MISS'))),
FIRST_VALUE(END_INTERVAL_TIME) OVER(PARTITION BY INSTANCE_NUMBER ORDER BY ABS(CAST (END_INTERVAL_TIME AS DATE) - TO_DATE(P_BEGIN, 'YYYYMMDDHH24MISS')))
BULK COLLECT INTO V_INSTANCE, V_SNAP_BEG, V_BEGIN_DATE
FROM DBA_HIST_SNAPSHOT
WHERE DBID = V_DBID
ORDER BY INSTANCE_NUMBER;

FOR I IN V_INSTANCE.FIRST..V_INSTANCE.LAST LOOP
BEGIN
SELECT DISTINCT FIRST_VALUE(SNAP_ID) OVER(ORDER BY ABS(CAST (END_INTERVAL_TIME AS DATE) - TO_DATE(P_END, 'YYYYMMDDHH24MISS'))),
FIRST_VALUE(END_INTERVAL_TIME) OVER(ORDER BY ABS(CAST (END_INTERVAL_TIME AS DATE) - TO_DATE(P_END, 'YYYYMMDDHH24MISS')))
INTO V_SNAP_END(I), V_END_DATE(I)
FROM DBA_HIST_SNAPSHOT
WHERE SNAP_ID > V_SNAP_BEG(I)
AND DBID = V_DBID
AND INSTANCE_NUMBER = V_INSTANCE(I);
EXCEPTION
WHEN NO_DATA_FOUND THEN
V_INSTANCE.DELETE(I);
END;
END LOOP;

IF V_INSTANCE.COUNT = 1
THEN
V_BEGIN := V_SNAP_BEG(1);
IF P_PERINTERVAL = FALSE
THEN
V_END := V_SNAP_END(1);
ELSE
V_END := V_SNAP_BEG(1) + 1;
SELECT END_INTERVAL_TIME
INTO V_END_DATE(1)
FROM DBA_HIST_SNAPSHOT
WHERE DBID = V_DBID
AND INSTANCE_NUMBER = 1
AND SNAP_ID = V_END;
END IF;
WHILE(V_END <= V_SNAP_END(1)) LOOP
V_FILE := UTL_FILE.FOPEN(
P_DIR,
'awrrpt_' || V_DBNAME || '_' || V_INSTANCE(1) || '_'
|| TO_CHAR(V_BEGIN_DATE(1), 'YYYYMMDDHH24MI') || '_'
|| TO_CHAR(V_END_DATE(1), 'YYYYMMDDHH24MI') || '.html',
'w',
32767);

SELECT OUTPUT
BULK COLLECT INTO V_REPORT
FROM TABLE(
DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML(
V_DBID,
V_INSTANCE(1),
V_BEGIN,
V_END,
0));
FOR I IN 1..V_REPORT.COUNT LOOP
UTL_FILE.PUT_LINE(V_FILE, V_REPORT(I));
END LOOP;
UTL_FILE.FCLOSE(V_FILE);
V_BEGIN := V_BEGIN + 1;
V_END := V_END + 1;
V_BEGIN_DATE(1) := V_END_DATE(1);
SELECT END_INTERVAL_TIME
INTO V_END_DATE(1)
FROM DBA_HIST_SNAPSHOT
WHERE DBID = V_DBID
AND INSTANCE_NUMBER = 1
AND SNAP_ID = V_END;
END LOOP;
ELSE
FOR I IN V_INSTANCE.FIRST..V_INSTANCE.LAST LOOP
V_BEGIN := V_SNAP_BEG(I);
IF P_PERINTERVAL = FALSE
THEN
V_END := V_SNAP_END(I);
ELSE
V_END := V_SNAP_BEG(I) + 1;
SELECT END_INTERVAL_TIME
INTO V_END_DATE(I)
FROM DBA_HIST_SNAPSHOT
WHERE DBID = V_DBID
AND INSTANCE_NUMBER = V_INSTANCE(I)
AND SNAP_ID = V_END;
END IF;
WHILE(V_END <= V_SNAP_END(I)) LOOP
V_FILE := UTL_FILE.FOPEN(
P_DIR,
'awrrpt_' || V_DBNAME || '_' || V_INSTANCE(I) || '_'
|| TO_CHAR(V_BEGIN_DATE(I), 'YYYYMMDDHH24MI') || '_'
|| TO_CHAR(V_END_DATE(I), 'YYYYMMDDHH24MI') || '.html',
'w',
32767);

SELECT OUTPUT
BULK COLLECT INTO V_REPORT
FROM TABLE(
DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML(
V_DBID,
V_INSTANCE(I),
V_BEGIN,
V_END,
0));
FOR I IN 1..V_REPORT.COUNT LOOP
UTL_FILE.PUT_LINE(V_FILE, V_REPORT(I));
END LOOP;
UTL_FILE.FCLOSE(V_FILE);
V_BEGIN := V_BEGIN + 1;
V_END := V_END + 1;
V_BEGIN_DATE(I) := V_END_DATE(I);
SELECT END_INTERVAL_TIME
INTO V_END_DATE(I)
FROM DBA_HIST_SNAPSHOT
WHERE DBID = V_DBID
AND INSTANCE_NUMBER = V_INSTANCE(I)
AND SNAP_ID = V_END;
END LOOP;
END LOOP;
END IF;
END;
/

cat awr.sh#!/usr/bin/ksh

#. ~/.profile #AIX小机使用 linux下注释掉即可
#DATE=`date +'%Y%m%d'`
TZ=BEIST-8
DATE=`TZ=$TZ+12;date +%Y%m%d`
#一下脚本没半个小时生成一次,awr ash addm
sqlplus / as sysdba<<eof
purge dba_recyclebin;
set serveroutput on
set timing on
set time on
begin
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'0000', to_char(sysdate-1,'YYYYMMDD')||'0030', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'0030', to_char(sysdate-1,'YYYYMMDD')||'0100', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'0100', to_char(sysdate-1,'YYYYMMDD')||'0130', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'0130', to_char(sysdate-1,'YYYYMMDD')||'0200', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'0200', to_char(sysdate-1,'YYYYMMDD')||'0230', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'0230', to_char(sysdate-1,'YYYYMMDD')||'0300', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'0300', to_char(sysdate-1,'YYYYMMDD')||'0330', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'0330', to_char(sysdate-1,'YYYYMMDD')||'0400', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'0400', to_char(sysdate-1,'YYYYMMDD')||'0430', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'0430', to_char(sysdate-1,'YYYYMMDD')||'0500', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'0500', to_char(sysdate-1,'YYYYMMDD')||'0530', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'0530', to_char(sysdate-1,'YYYYMMDD')||'0600', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'0600', to_char(sysdate-1,'YYYYMMDD')||'0630', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'0630', to_char(sysdate-1,'YYYYMMDD')||'0700', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'0700', to_char(sysdate-1,'YYYYMMDD')||'0730', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'0730', to_char(sysdate-1,'YYYYMMDD')||'0800', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'0800', to_char(sysdate-1,'YYYYMMDD')||'0830', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'0830', to_char(sysdate-1,'YYYYMMDD')||'0900', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'0900', to_char(sysdate-1,'YYYYMMDD')||'0930', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'0930', to_char(sysdate-1,'YYYYMMDD')||'1000', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'1000', to_char(sysdate-1,'YYYYMMDD')||'1030', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'1030', to_char(sysdate-1,'YYYYMMDD')||'1100', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'1100', to_char(sysdate-1,'YYYYMMDD')||'1130', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'1130', to_char(sysdate-1,'YYYYMMDD')||'1200', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'1200', to_char(sysdate-1,'YYYYMMDD')||'1230', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'1230', to_char(sysdate-1,'YYYYMMDD')||'1300', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'1300', to_char(sysdate-1,'YYYYMMDD')||'1330', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'1330', to_char(sysdate-1,'YYYYMMDD')||'1400', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'1400', to_char(sysdate-1,'YYYYMMDD')||'1430', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'1430', to_char(sysdate-1,'YYYYMMDD')||'1500', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'1500', to_char(sysdate-1,'YYYYMMDD')||'1530', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'1530', to_char(sysdate-1,'YYYYMMDD')||'1600', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'1600', to_char(sysdate-1,'YYYYMMDD')||'1630', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'1630', to_char(sysdate-1,'YYYYMMDD')||'1700', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'1700', to_char(sysdate-1,'YYYYMMDD')||'1730', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'1730', to_char(sysdate-1,'YYYYMMDD')||'1800', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'1800', to_char(sysdate-1,'YYYYMMDD')||'1830', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'1830', to_char(sysdate-1,'YYYYMMDD')||'1900', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'1900', to_char(sysdate-1,'YYYYMMDD')||'1930', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'1930', to_char(sysdate-1,'YYYYMMDD')||'2000', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'2000', to_char(sysdate-1,'YYYYMMDD')||'2030', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'2030', to_char(sysdate-1,'YYYYMMDD')||'2100', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'2100', to_char(sysdate-1,'YYYYMMDD')||'2130', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'2130', to_char(sysdate-1,'YYYYMMDD')||'2200', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'2200', to_char(sysdate-1,'YYYYMMDD')||'2230', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'2230', to_char(sysdate-1,'YYYYMMDD')||'2300', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'2300', to_char(sysdate-1,'YYYYMMDD')||'2330', 'D_OUTPUT', '', false);
p_awr_report(to_char(sysdate-1,'YYYYMMDD')||'2330', to_char(sysdate-1,'YYYYMMDD')||'0000', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'0000', to_char(sysdate-1,'YYYYMMDD')||'0030', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'0030', to_char(sysdate-1,'YYYYMMDD')||'0100', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'0100', to_char(sysdate-1,'YYYYMMDD')||'0130', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'0130', to_char(sysdate-1,'YYYYMMDD')||'0200', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'0200', to_char(sysdate-1,'YYYYMMDD')||'0230', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'0230', to_char(sysdate-1,'YYYYMMDD')||'0300', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'0300', to_char(sysdate-1,'YYYYMMDD')||'0330', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'0330', to_char(sysdate-1,'YYYYMMDD')||'0400', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'0400', to_char(sysdate-1,'YYYYMMDD')||'0430', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'0430', to_char(sysdate-1,'YYYYMMDD')||'0500', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'0500', to_char(sysdate-1,'YYYYMMDD')||'0530', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'0530', to_char(sysdate-1,'YYYYMMDD')||'0600', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'0600', to_char(sysdate-1,'YYYYMMDD')||'0630', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'0630', to_char(sysdate-1,'YYYYMMDD')||'0700', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'0700', to_char(sysdate-1,'YYYYMMDD')||'0730', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'0730', to_char(sysdate-1,'YYYYMMDD')||'0800', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'0800', to_char(sysdate-1,'YYYYMMDD')||'0830', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'0830', to_char(sysdate-1,'YYYYMMDD')||'0900', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'0900', to_char(sysdate-1,'YYYYMMDD')||'0930', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'0930', to_char(sysdate-1,'YYYYMMDD')||'1000', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'1000', to_char(sysdate-1,'YYYYMMDD')||'1030', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'1030', to_char(sysdate-1,'YYYYMMDD')||'1100', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'1100', to_char(sysdate-1,'YYYYMMDD')||'1130', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'1130', to_char(sysdate-1,'YYYYMMDD')||'1200', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'1200', to_char(sysdate-1,'YYYYMMDD')||'1230', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'1230', to_char(sysdate-1,'YYYYMMDD')||'1300', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'1300', to_char(sysdate-1,'YYYYMMDD')||'1330', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'1330', to_char(sysdate-1,'YYYYMMDD')||'1400', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'1400', to_char(sysdate-1,'YYYYMMDD')||'1430', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'1430', to_char(sysdate-1,'YYYYMMDD')||'1500', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'1500', to_char(sysdate-1,'YYYYMMDD')||'1530', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'1530', to_char(sysdate-1,'YYYYMMDD')||'1600', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'1600', to_char(sysdate-1,'YYYYMMDD')||'1630', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'1630', to_char(sysdate-1,'YYYYMMDD')||'1700', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'1700', to_char(sysdate-1,'YYYYMMDD')||'1730', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'1730', to_char(sysdate-1,'YYYYMMDD')||'1800', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'1800', to_char(sysdate-1,'YYYYMMDD')||'1830', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'1830', to_char(sysdate-1,'YYYYMMDD')||'1900', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'1900', to_char(sysdate-1,'YYYYMMDD')||'1930', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'1930', to_char(sysdate-1,'YYYYMMDD')||'2000', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'2000', to_char(sysdate-1,'YYYYMMDD')||'2030', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'2030', to_char(sysdate-1,'YYYYMMDD')||'2100', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'2100', to_char(sysdate-1,'YYYYMMDD')||'2130', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'2130', to_char(sysdate-1,'YYYYMMDD')||'2200', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'2200', to_char(sysdate-1,'YYYYMMDD')||'2230', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'2230', to_char(sysdate-1,'YYYYMMDD')||'2300', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'2300', to_char(sysdate-1,'YYYYMMDD')||'2330', 'D_OUTPUT', '', false);
p_ash_report(to_char(sysdate-1,'YYYYMMDD')||'2330', to_char(sysdate-1,'YYYYMMDD')||'0000', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'0000', to_char(sysdate-1,'YYYYMMDD')||'0030', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'0030', to_char(sysdate-1,'YYYYMMDD')||'0100', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'0100', to_char(sysdate-1,'YYYYMMDD')||'0130', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'0130', to_char(sysdate-1,'YYYYMMDD')||'0200', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'0200', to_char(sysdate-1,'YYYYMMDD')||'0230', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'0230', to_char(sysdate-1,'YYYYMMDD')||'0300', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'0300', to_char(sysdate-1,'YYYYMMDD')||'0330', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'0330', to_char(sysdate-1,'YYYYMMDD')||'0400', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'0400', to_char(sysdate-1,'YYYYMMDD')||'0430', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'0430', to_char(sysdate-1,'YYYYMMDD')||'0500', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'0500', to_char(sysdate-1,'YYYYMMDD')||'0530', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'0530', to_char(sysdate-1,'YYYYMMDD')||'0600', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'0600', to_char(sysdate-1,'YYYYMMDD')||'0630', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'0630', to_char(sysdate-1,'YYYYMMDD')||'0700', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'0700', to_char(sysdate-1,'YYYYMMDD')||'0730', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'0730', to_char(sysdate-1,'YYYYMMDD')||'0800', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'0800', to_char(sysdate-1,'YYYYMMDD')||'0830', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'0830', to_char(sysdate-1,'YYYYMMDD')||'0900', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'0900', to_char(sysdate-1,'YYYYMMDD')||'0930', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'0930', to_char(sysdate-1,'YYYYMMDD')||'1000', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'1000', to_char(sysdate-1,'YYYYMMDD')||'1030', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'1030', to_char(sysdate-1,'YYYYMMDD')||'1100', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'1100', to_char(sysdate-1,'YYYYMMDD')||'1130', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'1130', to_char(sysdate-1,'YYYYMMDD')||'1200', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'1200', to_char(sysdate-1,'YYYYMMDD')||'1230', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'1230', to_char(sysdate-1,'YYYYMMDD')||'1300', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'1300', to_char(sysdate-1,'YYYYMMDD')||'1330', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'1330', to_char(sysdate-1,'YYYYMMDD')||'1400', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'1400', to_char(sysdate-1,'YYYYMMDD')||'1430', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'1430', to_char(sysdate-1,'YYYYMMDD')||'1500', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'1500', to_char(sysdate-1,'YYYYMMDD')||'1530', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'1530', to_char(sysdate-1,'YYYYMMDD')||'1600', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'1600', to_char(sysdate-1,'YYYYMMDD')||'1630', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'1630', to_char(sysdate-1,'YYYYMMDD')||'1700', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'1700', to_char(sysdate-1,'YYYYMMDD')||'1730', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'1730', to_char(sysdate-1,'YYYYMMDD')||'1800', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'1800', to_char(sysdate-1,'YYYYMMDD')||'1830', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'1830', to_char(sysdate-1,'YYYYMMDD')||'1900', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'1900', to_char(sysdate-1,'YYYYMMDD')||'1930', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'1930', to_char(sysdate-1,'YYYYMMDD')||'2000', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'2000', to_char(sysdate-1,'YYYYMMDD')||'2030', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'2030', to_char(sysdate-1,'YYYYMMDD')||'2100', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'2100', to_char(sysdate-1,'YYYYMMDD')||'2130', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'2130', to_char(sysdate-1,'YYYYMMDD')||'2200', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'2200', to_char(sysdate-1,'YYYYMMDD')||'2230', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'2230', to_char(sysdate-1,'YYYYMMDD')||'2300', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'2300', to_char(sysdate-1,'YYYYMMDD')||'2330', 'D_OUTPUT', '', false);
p_addm_report(to_char(sysdate-1,'YYYYMMDD')||'2330', to_char(sysdate-1,'YYYYMMDD')||'0000', 'D_OUTPUT', '', false);
end;
/
exit;
eof

cd $ORACLE_HOME/scripts/mon/log
find . -name "*rpt_ORCLDB_*$DATE*" -print|xargs tar -cvf $ORACLE_HOME/scripts/report/report_ORCLDB_${DATE}.tar
find . -name "*rpt_ORCLDB_*$DATE*" -print|xargs rm -f
gzip -f $ORACLE_HOME/scripts/report/report_ORCLDB_${DATE}.tar

HOST_IP=xxxxx
USRNM="ftp"
PWD="xxxx"
LOCAL_DIR=$ORACLE_HOME/scripts/report
REMOTE_DIR=/sys_xj/ftp

ftp -inv $HOST_IP<<!
user ${USRNM} ${PWD}
bin
prompt
lcd ${LOCAL_DIR}
cd ${REMOTE_DIR}
mput report_ORCLDB_${DATE}.tar.gz
bye
!
exit

oracle rac自动生成awr的更多相关文章

  1. Oracle 每天自动生成AWR报告

    经验丰富的老员工希望能够每天为数据库生成1个AWR报告,以便于后期分析数据库的性能变化,手动生成太麻烦,查了一下资料,发现可以自动生成,过程如下. 数据库环境:11gR2 RAC(双节点) AWR报告 ...

  2. SHELL脚本学习-自动生成AWR报告

    自动生成AWR报告,每个小时生成一次. #编辑脚本:vim awr_auto.sh #oracle用户下执行 #!/bin/bash # 每个小时执行一次,自动生成AWR报告 source ~/.ba ...

  3. 自动生成AWR报告

    --自动生成AWR报告 -------------------2013/09/23   脚本代码:   #!/bin/bash   AWR_FORMAT=html NUM_DAYS=1   MAX_S ...

  4. oracle中如何生成awr报告

    oracle中如何生成awr报告   1.进入数据库 sqlplus / as sysdba 2.查看用户 show parameter db_name 3.开始压测后执行 exec DBMS_WOR ...

  5. Oracle 函数 “自动生成订单号”

    create or replace function get_request_code return varchar2 AS --函数的作用:自动生成订单号 v_mca_no mcode_apply_ ...

  6. 一个自动生成awr报告的shell脚本

    最近在学习shell编程,搞一点点小工具自动完成awr报告的收集工作,方便系统出现问题时问题排查.脚本内容如下,系统收集每天开始时间6点结束时间20点的awr报告并存储在/u01/shell_t/aw ...

  7. oracle中如何生成awr【性能调优】报告

    1.进入数据库 sqlplus / as sysdba 2.查看用户 show parameter db_name 3.开始压测后执行 exec DBMS_WORKLOAD_REPOSITORY.CR ...

  8. oracle数据库自动生成数据库表结构文档(亲测有效)

    import java.awt.Color; import java.io.FileOutputStream; import java.sql.Connection; import java.sql. ...

  9. 转: Oracle AWR 报告 每天自动生成并发送邮箱

    原贴地址:http://www.cnblogs.com/vigarbuaa/archive/2012/09/05/2671794.html Oracle AWR 介绍http://blog.csdn. ...

随机推荐

  1. ORA-00942:table or view does not exist

    好好的表都建成功了,在PL/SQL中编辑数据时给我来这个提示,起的我没办法了.查到如下: oracle建表时有一个严重的问题,在此写出来,提醒大家注意: 先简单写一下错误内容,如各位已经发现过此问题并 ...

  2. eclipse 配置c++

    安装mingw一直安装不成功 用TDM-GCC方便多了 附链接http://tdm-gcc.tdragon.net/

  3. linux的压缩命令

    gzip: Linux压缩保留源文件的方法: gzip –c filename > filename.gz Linux解压缩保留源文件的方法: gunzip –c filename.gz > ...

  4. linux文件系统节点详解

    linux文件系统有两层结构,逻辑结构和物理结构.也就是inode和block. 每个文件都有一个inode, 记录文件属性:权限,时间还有最重要的block号码. block是实际存放文件内容的地方 ...

  5. 安装dubbo-admin遇到的问题和解决之道

    这里不多说dubbo的相关知识.简单提示dubbo-admin所需的环境.java的jdk和jre,dubbo-admin.war,tomcat. 今天只是把在win7环境下安装了dubbo-admi ...

  6. [BZOJ 3123]森林

    这题和 COT1 一定有 JQ 喵~ 线段树的启发式合并,每次要连接两个点时就对比较小的那棵树暴力 DFS 一边 然后均摊时间依旧是 logn 的,均摊真是世界上最邪恶的东西了…… 然后这题的数据是要 ...

  7. css3 animation实现风车转动

    项目中经常有用到动画效果,比如Loading.风车转动等等.最简单的办法是使用gif,但是gif在半透明背景下有白边,体验不友好,好在现在可以使用css3的anmiation来实现动画效果,极大的提升 ...

  8. [IOS8兼容性]IOS8上收不到通知

    应用中用到了通知功能,同时有远程通知和本地通知. 测试报告应用在iphone6 plus上,收不到本地通知. 因为所有的第三方闹钟应用采用的都是本地通知方式,所以第一时间随机下载了5款不同的闹钟应用. ...

  9. IOS 制作启动画面

    启动方式简述 IOS 8 及之前: Launch Images Source方式, IOS8 及之后:    1, Launch Images Source方式 : 2 , LaunchScreen. ...

  10. .NET 框架(转自wiki)

    .NET Framework (pronounced dot net) is a software framework developed by Microsoft that runs primari ...