728x90

1. USER_SNAPSHOT_LOGS란?
USER_SNAPSHOT_LOGS는 Oracle 데이터베이스에서 DBMS_STATS 패키지를 통해 수집된 통계 정보의 히스토리를 저장하는 뷰입니다. 이는 특히 DBA나 데이터 분석 담당자에게, 데이터 수집 작업이 언제 수행되었고 어떤 테이블에 영향을 주었는지에 대한 추적이 가능하도록 도와줍니다. 이 뷰는 USER_ 접두사가 붙은 뷰이므로, 현재 접속한 사용자 소유의 객체만을 보여주며, 시스템 전체의 정보를 보기 위해선 DBA_SNAPSHOT_LOGS나 ALL_SNAPSHOT_LOGS를 사용할 수 있습니다.
2. 주요 컬럼 설명
| 컬럼명 | 설명 |
|---|---|
| TABLE_NAME | 통계 정보가 수집된 대상 테이블 이름 |
| START_TIME | 수집 작업 시작 시각 |
| END_TIME | 수집 작업 종료 시각 |
| STATUS | 성공 여부 (e.g., COMPLETED, FAILED) |
| NUM_ROWS | 수집 시점의 행 수 |
3. USER_SNAPSHOT_LOGS의 실전 활용
- 통계 수집 스케줄 점검: 자동 수집이 정상적으로 실행되고 있는지 확인 가능
- 성능 저하 원인 추적: 특정 시점의 통계 정보 변경이 쿼리 계획에 영향을 주었는지 파악
- 수집 실패 파악: STATUS 컬럼을 통해 오류 로그를 감지하여 재처리 가능
4. AWR과 USER_SNAPSHOT_LOGS 비교
| 항목 | AWR (Automatic Workload Repository) | USER_SNAPSHOT_LOGS |
|---|---|---|
| 주요 목적 | 성능 진단 및 워크로드 분석 | 통계 수집 이력 추적 |
| 사용 주체 | 시스템 전반 (DBA) | 개별 사용자 또는 개발자 |
| 데이터 유지 주기 | 보통 7일~30일 | DBMS_STATS 실행 이력 |
| 자동 수집 여부 | 자동 (기본 설정) | 반자동 또는 수동 |
5. 실전 예제: 최근 5일간 수집된 통계 로그 확인
SELECT TABLE_NAME, START_TIME, END_TIME, STATUS
FROM USER_SNAPSHOT_LOGS
WHERE START_TIME >= SYSDATE - 5
ORDER BY START_TIME DESC;
위 쿼리는 최근 5일 이내에 실행된 통계 수집 작업의 로그를 확인할 수 있는 실용적인 예시입니다.
6. USER_SNAPSHOT_LOGS 사용 시 주의점
- USER 뷰이므로, 자신의 스키마 외의 정보는 확인 불가
- DBMS_STATS가 아닌 수동 통계 수집의 경우 일부 로그 누락 가능
- 데이터 양이 많을 경우 주기적 정리 필요 (성능 저하 방지)
7. 전문가 팁: 사용자 정의 스케줄링과의 연동
많은 기업들은 DBMS_SCHEDULER 또는 Crontab을 이용해 통계 수집 스케줄을 커스터마이징하고 있습니다. 이와 연계하여 USER_SNAPSHOT_LOGS를 분석하면, 각 테이블에 대한 최신 통계의 유지 상태를 실시간으로 검증할 수 있습니다.
8. 결론
USER_SNAPSHOT_LOGS는 Oracle 내부에서 종종 간과되기 쉬운 뷰이지만, 성능 분석과 통계 최적화 전략 수립에 있어 중요한 단서를 제공합니다. 특히 AWR이나 TKPROF 같은 고급 도구와 병행하여 활용할 경우, 더욱 정교한 분석이 가능합니다.
출처 및 참고 자료
- Oracle® Database Performance Tuning Guide 21c
- Oracle Help Center: https://docs.oracle.com/en/
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] USER_SOURCE 뷰 완전 해부와 실전 활용 전략 (0) | 2025.08.07 |
|---|---|
| [ORACLE] USER_SNAPSHOT_REFRESH_TIMES 뷰 완전 해부 및 활용법 (0) | 2025.08.07 |
| [ORACLE] USER_SNAPSHOTS 완전 해설 : 사용자 스냅샷(MView) 정보와 동기화 분석 (0) | 2025.08.06 |
| [ORACLE] USER_SEQUENCES 완전 해설 : 시퀀스 속성과 자동 증가 키 관리의 핵심 (0) | 2025.08.06 |
| [ORACLE] USER_SEGMENTS 완전 해설 : 사용자 객체의 스토리지 공간 정보 조회와 활용법 (0) | 2025.08.06 |