SQL ID로 OBJECT 찾는 방법 0 2 1,344

by 1qaz2wsx [Oracle Admin] [2020.01.14 10:17:54]


안녕하세요

특정 SQL ID에 대해 어떤 OBJECT(프로시저)에서 수행됐는지 직관적으로 알수있는 방법이 있을까요 ? (USER_SOURCE로 찾는방법 제외)

V$SQL에 있는 PROGRAM ID가 있지만 어떤 건 데이터가 조회되고 어떤건 안돼서요

dba_hist_sqlstat 처럼 히스토리를 남겨놓는 특정 OBJECT가 있을까요 ?

아니면 다른 방법이 있다면 가이드 부탁드립니다

감사합니다

 

 

 

 

by chrome [2020.01.14 14:37:45]

직관적은 안되겠고,

v$active_session_history 에서 시간대 기준으로 procedure가 실행된 세션 ID를 찾아내서서

해당 세션이 procedure가 실행된 이후 내역의 SQLID를 찾아보세요.


프로시져누실행시 , 로그인 세션 정보에 해당 프로시져를 실행하는 정보를 명시하고 하면 더 좋겠내요.

기록하는 방법은 까묵었는데 userenv ?...

기억이 안나네요 킁


by 임상준 [2020.01.14 15:16:53]

v$sql 에서 sql id 가 조회 안 된다는건가요 아니면 v$sql 에 sql id 는 있는데 program_id 가 조회 안된다는건가요?

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입