여차저차해서 만들어본 쿼리.
100% 맞는지에 대한 확신은 없으나... --;;;;;;
그래도 만들었으니...
보관과 공유 차원에서 올린다. ^^;;
혹시 누구라도 이 쿼리를 보시고서 문제가 되는 부분을 알려주시면 정말 감사하겠습니다. ^^
SELECT
DISTINCT A.SID
, A.USERNAME
, C.MODULE
, C.LAST_ACTIVE_TIME
, C.LAST_LOAD_TIME
, C.SQL_TEXT
FROM V$SESSION A, V$ACCESS B, V$SQL C
WHERE A.SERVICE_NAME = C.SERVICE
AND A.SID = B.SID
AND A.PREV_SQL_ID = C.SQL_ID
AND C.SERVICE = A.SERVICE_NAME
AND C.MODULE = 'w3wp.exe' -- 이것은 웹프로세스이다. 즉, 이것이 없을 경우에는 다른 툴에서 돌리는 것도 모두 보인다.
.................................................................
세 개의 Dictionary를 이용해서 만든 것.
V$SQL Dictionary는 실행된 SQL문에 대한 다양한 정보를 갖고 있다. 쿼리부터 그것이 Optimizer에서 사용한 값과 각종 Cost들의 정보를 볼 수 있고, SQL_ID라는 것으로 다른 Dictionary와 Join하여 값을 찾았다.
V$SESSION은 현재 살아있는 세션 정보를 갖고 있으며, SID라는 값으로 C$ACCESS와 Join했다.
V$ACCESS는 특정 사용자가 엑세스하는 테이블을 보여주기 때문에 같이 사용하였다.


