일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 이솝우화
- 왕좌의게임
- 체스-TD
- 오큘러스
- Mobile Legends
- 영어 유머
- 임바 오토체스
- 관광
- 독해연습
- English Joke
- 영어공부
- 골든게이트
- Chess-TD
- 여행
- 심플한 게임
- 영어독해
- 가볼만한곳
- Imba Auto Chess
- 게임기
- java program
- MLBB
- english study
- 게임
- 롤
- 오라클
- OGGMA
- Python
- 영어유머
- 모바일레전드
- oracle
- Today
- Total
Almost-Native
오라클 최근 테이블 사용내역(접근내역) 확인 - DBA_TAB_MODIFICATIONS 본문
오라클 최근 테이블 사용내역(접근내역) 확인 - DBA_TAB_MODIFICATIONS
2021. 2. 5. 13:51Oracle DB에서 특정 테이블/파티션의 최근 사용내역을 확인할 필요가 있는 경우가 있습니다.
최근에 테이블 Insert, Update, Delete 한 적이 있는지, Truncate, Drop 한 적이 있는지를 확인할 수 있는 딕셔너리뷰가 오라클 DB에서 제공됩니다.
dba_tab_modifications
all_tab_modifications
user_tab_modifications
이게 원래는 "alter table 테이블명 monitoring;" 커맨드를 실행했을때 정보가 쌓였던 것이었는데,
11g 부터 변경되어 굳이 alter table ~ monitoring 커맨드를 실행하지 않아도 자동으로 정보가 기록됩니다.
insert, update, delete 된 레코드 건수까지 나오고, 이벤트가 발생한 시간까지 나옵니다.
Historical 하게 데이터가 나오는 것은 아니고, insert, update, delete 의 경우는 누적 건수값이 나옵니다.
그전에 10건 삭제하고, 다시 5건 삭제하게 되면, 최종적으로 deletes 항목에 15 라고 나옵니다.
그리고, commit 이 안되었어도 값이 반영됩니다.
update 나 delete 커맨드를 수행했지만, 나중에 rollback 한 경우에도 그냥 update, delete 한 것으로 누적기록됩니다.
sys 유저에서 전체 조회시에는 dba_ 테이블에서 조회하고, 특정 유저에서 자기꺼만 조회할 때는 user_tab_modifications 에서 조회하면 되겠습니다.
1
2
3
4
5
6
|
select *
from dba_tab_modifications
where table_owner not in ('SYS', 'SYSTEM')
order by 1,2,3;
|
아쉽게도 select 에 대한 정보는 없습니다.
select 에 대한 정보는 Oracle 12c 신기능인 Heatmap 기능으로 가능합니다.