[인터돌™] 공부 해보자!! 열심히~~~

반응형
출처 지식iN > 컴퓨터, 통신 > 프로그래밍 > SQL
질문: 오라클에서 실행했던 쿼리 리스트를 조회해볼 수 있나요? namwhis / 2005-01-13 10:28
웹사이트를 관리중인데 최근 원인모르게 데이터들이 삭제가 됩니다.
삭제 처리를 하는 소스에 로그를 남기게 해서 살펴봐도 도통 꼬리가 잡히지 않네요. DB차원에서 실행했던 쿼리들을 살펴보고 싶은데. 오라클에서 어떻게 하면 그런것들을 조회 할 수 있는지 모르겠습니다.
오라클을 잘 아시는 분들 도움을 부탁드립니다.
답변: re: 오라클에서 실행했던 쿼리 리스트를 조회해볼 수 있나요? tzschanbo / 2005-01-13 05:16
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의 세션정보를
얻을 수도 있습니다.



원문 출처 : http://kin.naver.com/detail/detail.php?d1id=1&dir_id=10110&docid=964572

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band