--This script is to be referenced by the Post:
Automatically Terminate old MWA sessions using PL/SQL and DBMS scheduler
**Note: Special thanks to Justin Hartman. He made this procedure for other issues, but let me use and alter it for our MWA purposes.
CREATE OR REPLACE PROCEDURE XXX.XXX_MWA_STALE_SESSION_KILL
AS
V_DB VARCHAR2 (10);
V_SQLERR VARCHAR2 (255);
BEGIN
SELECT NAME INTO V_DB FROM V$DATABASE;
DECLARE
CURSOR GET_MWA_SESSIONS_CUR
IS
SELECT A.SCHEMANAME,
A.INST_ID,
A.SID,
A.SERIAL#,
A.LOGON_TIME,
ROUND (A.last_call_et / 3600) "HOURS_INACTIVE",
A.MODULE,
LTRIM (A.ACTION, 'IDLE_LAST') "ACTION",
A.SQL_ID,
'ALTER SYSTEM DISCONNECT SESSION '
|| ''''
|| A.SID
|| ', '
|| A.SERIAL#
|| ',@'
|| A.INST_ID
|| ''''
|| ' IMMEDIATE'
KILL
FROM GV$SESSION A
WHERE status = 'INACTIVE'
AND module = 'MWAJDBC'
AND action NOT LIKE '%GENERIC%'
AND last_call_et > (3600 * 12) ----INACTIVE FOR GREATER THAN 24 HOURS
ORDER BY last_call_et DESC;
BEGIN
FOR X IN GET_MWA_SESSIONS_CUR
LOOP
UTL_MAIL.SEND (
SENDER => 'ABC@XYZ.com',
RECIPIENTS => 'ABC@XYZ.com',
SUBJECT => 'Stale MWA session was killed on ' || V_DB,
MESSAGE => 'The Following MWA session was killed due to being idle longer than 24 hours:'
|| CHR (13)
|| CHR (13)
|| CHR (10)
|| CHR (13)
|| CHR (10)
|| 'Logon Time: '
|| TO_CHAR (X.LOGON_TIME,
'DD-MON-YYYY HH24:MI:SS')
|| CHR (13)
|| CHR (10)
|| 'Module: '
|| X.MODULE
|| CHR (13)
|| CHR (10)
|| 'REPORT: '
|| X.ACTION
|| CHR (13)
|| CHR (10)
|| 'SQL ID: '
|| X.SQL_ID);
DBMS_OUTPUT.PUT_LINE ('EMAIL SENT');
END LOOP;
BEGIN
FOR I IN GET_MWA_SESSIONS_CUR
LOOP
INSERT INTO XXX.XXX_KILLED_MWA_USER_SESSIONS
VALUES (I.SCHEMANAME,
I.INST_ID,
I.SID,
I.SERIAL#,
I.LOGON_TIME,
I.HOURS_INACTIVE,
I.MODULE,
I.ACTION,
SYSDATE,
I.SQL_ID);
COMMIT;
EXECUTE IMMEDIATE I.KILL;
DBMS_OUTPUT.put_line ('# of rows inserted: ' || SQL%ROWCOUNT);
END LOOP;
END;
END;
EXCEPTION
WHEN OTHERS
THEN
V_SQLERR := SQLERRM;
BEGIN
UTL_MAIL.SEND (SENDER => 'ABC@XYZ.com',
RECIPIENTS => 'ABC@XYZ.com',
SUBJECT => 'MWA_USER check error ' || V_DB,
MESSAGE => V_SQLERR);
EXCEPTION
WHEN OTHERS
THEN
RAISE;
END;
END XXX_MWA_STALE_SESSION_KILL;
/
SHOW ERRORS;
Harrah's Casino Hotel & Spa Las Vegas, NV - Mapyro
ReplyDeleteFind all information and best deals of Harrah's Casino Hotel 포천 출장안마 & 경상북도 출장안마 Spa, Las Vegas in Las Vegas, NV. 이천 출장안마 Hotel, profile 여수 출장샵 picture. 대전광역 출장마사지 Find the reviews and ratings to know better.