Files
oracle-jump-query-public/references/sys-functions/henlo_awr_export.sql
T

24 lines
989 B
SQL

-- HENLO_AWR_EXPORT v1.1
-- DBA only. Requires Diagnostics Pack authorization.
CREATE OR REPLACE FUNCTION SYS.HENLO_AWR_EXPORT(
P_BEGIN_SNAP NUMBER, P_END_SNAP NUMBER, P_DBID NUMBER DEFAULT NULL, P_INSTANCE NUMBER DEFAULT NULL
) RETURN CLOB AUTHID DEFINER IS
L_DBID NUMBER := P_DBID;
L_INSTANCE NUMBER := P_INSTANCE;
L_HTML CLOB;
BEGIN
IF L_DBID IS NULL THEN SELECT DBID INTO L_DBID FROM V$DATABASE; END IF;
IF L_INSTANCE IS NULL THEN SELECT INSTANCE_NUMBER INTO L_INSTANCE FROM V$INSTANCE; END IF;
DBMS_LOB.CREATETEMPORARY(L_HTML, TRUE);
FOR R IN (SELECT OUTPUT FROM TABLE(DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML(L_DBID, L_INSTANCE, P_BEGIN_SNAP, P_END_SNAP))) LOOP
IF R.OUTPUT IS NOT NULL THEN
DBMS_LOB.WRITEAPPEND(L_HTML, LENGTH(R.OUTPUT), R.OUTPUT);
END IF;
DBMS_LOB.WRITEAPPEND(L_HTML, 1, CHR(10));
END LOOP;
RETURN L_HTML;
END;
/
GRANT EXECUTE ON SYS.HENLO_AWR_EXPORT TO <AGENT_SCHEMA>;
GRANT SELECT ON SYS.DBA_HIST_SNAPSHOT TO <AGENT_SCHEMA>;