본문 바로가기
DATABASE/TUNNING

마지막 튜닝 시각 조회

by YUNZZANG 2023. 4. 10.
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

댓글