Từ phiên bản 10g, mặc định các table trong database Oracle đều được monitor các thông tin DML tự động bởi hệ thống. Ta có thể kiểm tra thuộc tính monitoring trong view _TABLES

 

 

Thông tin monitor được tính từ lần analyze gần nhất của table. Do đó nếu table mới được analyze thì ta kiểm tra có thể sẽ không có thông tin gì.

 

Để cập nhật thông tin monitor mới nhất, ta có thể tự flush thông tin xuống mà không chờ hệ thống flush định kỳ

 

 

Để có thể biết được thông tin về các thao tác DML trên table, ta có thể query trong các view *_TAB_MODIFICATIONS

 

 

Từ kết quả trên, ta có thể biết được số lần inserts/updates/deletes trên table, thời gian thực hiện câu lệnh DML mới nhất, và table có bị truncate không, có partition/subpartition segment nào bị drop không, tất nhiên là tính từ mốc analyze gần nhất chứ không phải từ khi table được tạo ra.

 

Tất nhiên là table có thể có thao tác DML liên tục, cho nên thông tin trong các view _TAB_MODIFICATIONS cũng chỉ mang tính tương đối xấp xỉ nhất định cho chúng ta tham khảo.

 

Một cách khác, chúng ta có thể sử dụng giá trị ora_rowscn. Tuy nhiên cũng chỉ là giá trị tương đối chứ không hoàn toàn tuyệt đối chính xác.