오라클은 10g 이후로 active session에 대해 history를 특별한 설정없이 기본적으로 저장합니다. ASH는 v$active_session_history, dba_hist_active_sess_history 두가지 view를 통해 조회할 수 있으며 v$active_session_history는 shared pool내의 ASH 영역에 저장되어 1초 간격의 sampling 데이터입니다.
dba_hist_active_sess_history 값은 ASH 영역의 active session 정보를 10초 간격으로 sampling 해서 disk로 저장된 정보입니다.
아래 소개하는 ashdump는 현 시점으로 부터 분 단위의 정보를 sql loader format으로 user dump directory에 저장하게 됩니다. 즉, 문제 시점의 active session 정보를 빠르게 수집할 수 있습니다.
Command would be like below: where level means minute. lets dump for 10 minutes history
1. SQL> alter session set events 'immediate trace name ashdump level 10';
or
2. SQL> alter system set events 'immediate trace name ashdump level 10';
or
3. SQL> oradebug setmypid
SQL> oradebug dump ashdump 10;
수집된 ash file은 Oracle home 밑의 rdbms/demo/ashldr.ctl 파일 통해 sql loader로 DB에 저장할 수 있습니다.
2594829169,1,161390,"07-18-2003 16:05:21.098717000",13,1,0,"",65535,0,0,2,0,0,0,4294967295,0,0,2,35,100,0,0,10
05855,0,"oracle@usunrat21 (MMNL)","","",""
참고:
10g and above Active Session History (Ash) And Analysis Of Ash Online And Offline (Doc ID 243132.1)
http://www.oracle.com/technetwork/database/manageability/ppt-active-session-history-129612.pdf
'Oracle Database' 카테고리의 다른 글
ORACLE /usr/lib/pa20_64/dld.sl: Unable to find library 'libskgxn2.sl'. (0) | 2011.05.31 |
---|---|
Oracle의 많은 Default User. 이거 삭제해도 되나? (0) | 2011.05.26 |
ORACLE CRS Resource의 상태가 UNKNOW이 되는 일반적인 이유. (0) | 2011.04.22 |
ORACLE v$sql_bind_capture에서 TIMESTAMP값이 안보이는 문제 workaround (0) | 2011.02.08 |
Oracle client program의 모듈명, Action명 정의 방법 (0) | 2011.02.08 |