내맘대로긍정이 알려주는
Oracle 23ai 신기능
무료 세미나 발표자료
다운로드
trending_flat
OS환경 : Oracle Linux 7.6 (64bit)
DB 환경 : Oracle Database 19.10.0.0
방법 : 오라클 19c v$sql이나 dba_hist_active_sess_history에 있는 sql이 dba_hist_sqlstat에 없는 이유
운영 업무를 하다 보면 아래 예시처럼
v$sql이나 dba_hist_active_sess_history 에는 존재하는, 존재했던 sql이 awr 데이터에는 없는 경우가 종종 있음
1
2
3
4
5
6
7
8
|
SQL>
select count(*) from dba_hist_active_sess_history
where sql_id = '3bdsu2dqcgdhw';
=> 1502 row
select count(*) from dba_hist_sqlstat
where sql_id = '3bdsu2dqcgdhw';
=> 0 row
|
이렇게 되는 이유는 1424839.1에 잘설명되어 있는데
V$SQL에서 DBA_HIST_SQLSTAT로의 데이터 수집은 특정 시점, 즉 AWR 스냅샷 중에 수행됨
기본적으로 오라클은 매시간 새 AWR 스냅샷을 생성함(스냅샷 주기는 조정가능)
해당 시간 동안 SQL 문이 무효화되었거나 shared pool에서 에이징 아웃된 경우 AWR 스냅샷에 저장되지 못함
그리고 그 다음 AWR 스냅샷을 캡처할 때 V$SQL 내에 SQL 문이 없는 경우 AWR 스냅샷에 저장되지 못함
참조 : Top SQL Statement Missing from DBA_HIST_SQLSTAT View (Doc ID 1424839.1)
'ORACLE > Admin' 카테고리의 다른 글
오라클 19c 파티션 테이블 통계정보 이관, 복제 (0) | 2022.07.17 |
---|---|
오라클 19c 파티션 테이블 생성, 파티션 add, split (0) | 2022.07.17 |
오라클 19c awr 데이터 export 방법 (0) | 2022.07.04 |
오라클 19c lob 테이블 allocate extent 시 lock 여부 확인 테스트 (0) | 2022.07.01 |
오라클 19c 일반테이블 및 lob테이블 컬럼 수동 extent 추가 (0) | 2022.07.01 |