728x90
SELECT * FROM DBA_TAB_MODIFICATIONS WHERE TABLE_OWNER NOT IN ('SYS');
- DBA_TAB_MODIFICATON
dba_tab_modifications dictionary 를 확인하면 Insert, Update, Delete 가 얼마나 발생했는지를 가늠해 볼 수 있다.
단, 주의할 점은, 이게 원래 감사(Audit) 기능 차원에서 만들어진 게 아니라는 점이다.
그래서 데이터가 완전히 정확하지는 않다.
주로 통계수집 후에 해당 딕셔너리를 확인해서INSERT , UPDATE , DELETE 건수를 보고 다시 돌릴지 말지 를 고를 때 이용한다.
결론 :
통계정보가 최종적으로 갱신된 후에 그동안얼마나변화가 있었는지를 Optimizer가 가늠하기 위해 존재하는 뷰 이지만 데이터가 완전히 정확하지는 않음
핵심
-- DML 후에 ROLLBACK을 하는 경우에도 카운트
--해당 테이블에 통계정보를 다시 만드는 순간 데이터는 모두 초기화
--사용자가 DML 을 수행할 때마다 매번 여기에 기록되지도 않는다. 성능상의 이유로 3시간에 한번씩만 기록되도록 설계
수동으로 기록되도록 즉시 딕셔너리에 반영되는 SQL >
SQL> EXECUTE DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO;
'DATABASE > TUNNING' 카테고리의 다른 글
Parsing (0) | 2024.05.10 |
---|---|
audit 파일 삭제 (0) | 2024.04.02 |
사전파티션 통계정보 (0) | 2023.04.12 |
통계정보 UNLOCK SQL (0) | 2023.04.12 |
import 시 자동통계수집 안하는법 (0) | 2023.04.12 |
댓글