본문 바로가기

oracle

query history session info

SELECT ANY TABLE 시스템 권한이 있는 User라면
(DBA라면 당연히 그렇겠지만), V$SQLTEXT라는 View를 통해서
현재 shared pool에 있는 SQL문을 모두 조회할 수 있습니다.

shared pool에는 DBMS를 startup한 이후의 모든 SQL문이 보관되는
것은 아니고, pool size가 허용하는 만큼의 최근에 사용된 SQL만이
보관됩니다. 따라서, 사용한 지 오래되는 SQL은 제거될 수도 있습니다.

SELECT hash_value, piece, sql_text
FROM V$SQLTEXT
ORDER BY hash_value, piece;

이렇게 하면 모든 SQL문을 볼 수가 있구요.
V$SESSION이라는 View의 SQL_HASH_VALUE column과
V$SQLTEXT.HASH_VALUE 를 join하면 해당 SQL의 세션정보를
얻을 수도 있습니다.

'oracle' 카테고리의 다른 글

view  (0) 2016.09.30
synonym  (0) 2016.09.30
integer vs number  (0) 2016.06.30
merge into  (0) 2015.07.03
오라클 translate  (0) 2015.03.02