Mục đích: Monitor index xem index có được sử dụng hay không nếu index không sử dụng, tạo thừa thì chúng ta sẽ xóa đi. Việc xóa index nhỏ thì đơn giản nhưng index lớn của bảng to.
Index nếu tạo ra không sư dụng sẽ gây ra:
- Lãng phí dung lượng
- Các câu lệnh DML (update, insert, delete) dễ bị nghẽn, lock (overhead)
GIÁM SÁT INDEX
ALTER INDEX my_index MONITORING USAGE;
ALTER INDEX my_index NOMONITORING USAGE;
Lưu ý: Với bảng lớn cần dừng ứng dụng tác động vào bảng đó thì mới bật/tắt được moniroting vì bắn ra lỗi "ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired"
-- Script bật Monitor nhiều user
set pages 999;
set heading off;
spool run_monitor.sql
select
'alter index '||owner||'.'||index_name||' monitoring usage;'
from
dba_indexes
where
owner not in ('SYS','SYSTEM','USER1')
;
spool off;
@run_monitor
(hoặc lấy script ra để chạy bên ngoài)
KIỂM TRA XEM INDEX ĐÃ ĐƯỢC MONITOR CHƯA
Kiểm tra:
select do.owner,t.name table_name, io.name index_name,decode(bitand(i.flags, 65536), 0, 'NO', 'YES') monitoring,decode(bitand(ou.flags, 1), 0, 'NO', 'YES') used,ou.start_monitoring,ou.end_monitoring
from sys.obj$ io, sys.obj$ t, sys.ind$ i, sys.object_usage ou,dba_objects do
where i.obj# = ou.obj# and io.obj# = ou.obj# and t.obj# = i.bo# and i.obj# = do.object_id
order by 1, 2, 3;
Hoặc kiểm tra ở view
v$object_usage
select
index_name
mon,
used
from
v$object_usage;
Sau đó ta được kết quả như này:
INDEX_NAME MON USED--------------- --- ----CUSTOMER_LAST_NAME_IDX YES NO
Ở đây index CUSTOMER_LAST_NAME_IDX được bật monitor (trường MON=YES), trường USED=NO tức là index này không được dùng, có thể xóa.
Nhưng chú ý nên bật trong 3-7 ngày hoặc 1 chu kỳ của nghiệp vụ để biết chính xác nhé rồi hãy xóa index, còn chót xóa nhầm với index to thì tạo lại theo link ở đây, index nhỏ thì đơn giản rồi (lấy thủ tục backup script trước khi drop tạo lại).
Hy vọng hữu ích với anh/em.
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, oracle oca, oracle ocp, oracle ocm