DATABASE Log off 를 사용 하여 Oacle 대기 이벤트 정 보 를 수집 합 니 다.
기본 표 만 들 기:
create table sys.sesstat_history tablespace EOL as
SELECT c.username,
c.osuser,
a.sid,
c.serial#,
c.paddr,
c.process,
c.logon_time,
a.statistic#,
b.name,
a.value,
SYSDATE AS logoff_timestamp
FROM v$sesstat a, v$statname b, v$session c
WHERE 1 = 2
create table sys.session_event_history tablespace EOL
as SELECT b.sid,
b.SERIAL#,
b.username,
b.osuser,
b.paddr,
b.process,
b.logon_time,
b.type,
a.event,
a.total_waits,
a.total_timeouts,
a.time_waited,
a.average_wait,
a.max_wait,
SYSDATE AS logoff_timestamp
FROM v$session_event a, v$session b
WHERE 1 = 2
트리거 생 성:
CREATE OR REPLACE TRIGGER sys.logoff_trig
BEFORE logoff ON DATABASE
DECLARE
logoff_sid PLS_INTEGER;
logoff_time DATE := SYSDATE;
BEGIN
SELECT sid INTO logoff_sid FROM v$mystat WHERE rownum < 2;
INSERT INTO sys.session_event_history
(sid,
serial#,
username,
osuser,
paddr,
process,
logon_time,
TYPE,
event,
total_waits,
total_timeouts,
time_waited,
average_wait,
max_wait,
logoff_timestamp)
SELECT b.sid,
b.serial#,
b.username,
b.osuser,
b.paddr,
b.process,
b.logon_time,
b.type,
a.event,
a.total_waits,
a.total_timeouts,
a.time_waited,
a.average_wait,
a.max_wait,
SYSDATE AS logoff_timestamp
FROM v$session_event a, v$session b
WHERE a.sid = b.sid
AND b.username = login_user
AND b.sid = logoff_sid;
INSERT INTO sys.sesstat_history
(username,
osuser,
sid,
serial#,
paddr,
process,
logon_time,
statistic#,
NAME,
VALUE,
logoff_timestamp)
SELECT c.username,
c.osuser,
a.sid,
c.serial#,
c.paddr,
c.process,
c.logon_time,
a.statistic#,
b.name,
a.value,
logoff_time
FROM v$sesstat a, v$statname b, v$session c
WHERE a.statistic# = b.statistic#
AND a.sid = c.sid
AND b.name IN ('CPU used where call started',
'CPU used by this session',
'recursive cpu usage',
'parse time cpu')
AND c.sid = logoff_sid
AND c.username = login_user;
END;
CPU 소모 대기 이벤트 순위 조회:
SQL> SELECT *
FROM (SELECT a.sid, a.serial#, a.event, a.total_waits
FROM session_event_history a
ORDER BY a.time_waited DESC)
WHERE rownum < 100;
2 3 4 5
SID SERIAL# EVENT TOTAL_WAITS
---------- ---------- ------------------------------------------------------------ -----------
1858 8391 SQL*Net message from client 147692
1437 52565 SQL*Net message from client 34305
584 52801 SQL*Net message from client 85105
585 40229 SQL*Net message from client 163331
874 3263 SQL*Net message from client 77519
1285 21797 SQL*Net message from client 19041
861 25015 SQL*Net message from client 194
726 9275 SQL*Net message from client 66724
1717 1935 SQL*Net message from client 92394
1014 883 SQL*Net message from client 34455
21 10841 SQL*Net message from client 28685
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 작업 은 Clob 또는 NClob 데이터 형식의 저장 프로 세 스 인 스 턴 스 를 포함 합 니 다.텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.