🧩 I. Cơ chế Checkpoint trong Oracle
1. Khi nào Checkpoint diễn ra?
Checkpoint được kích hoạt trong các tình huống sau:
-
Log switch: khi LGWR ghi đầy redo log hiện tại và chuyển sang logfile mới Oracle Documentation+8Wikipedia+8asktom.oracle.com+8.
-
Thời gian định kỳ: trường hợp incremental checkpoint xảy ra mỗi ~3 giây để giữ cache sạch hơn Oracle Forums+6asktom.oracle.com+6Oracle Forums+6.
-
Theo tham số:
fast_start_mttr_target
, cấu hình tối đa thời gian recovery Oracle Forums+15asktom.oracle.com+15VLDB+15. -
Manual:
ALTER SYSTEM CHECKPOINT
.
2. Vai trò của SCN và mối quan hệ với các thành phần:
-
SCN checkpoint được ghi vào header của redo log, control file, datafile bởi CKPT Wikipedia+15Oracle Documentation+15Wikipedia+15.
-
Signifies điểm khôi phục tối thiểu trong instance recovery.
3. Quy trình khi checkpoint xảy ra:
-
LGWR thực hiện log switch → checkpoint triggered.
-
CKPT gửi tín hiệu cho DBWR, cập nhật header file với SCN checkpoint ORACLE IN ACTION+4asktom.oracle.com+4Oracle Forums+4VLDB+11asktom.oracle.com+11Oracle Documentation+11Oracle Documentation+12Oracle Documentation+12Oracle Documentation+12.
-
DBWR (Database Writer) ghi tất cả dirty buffers trong Data Buffer Cache xuống datafile theo thứ tự RBA (redo block address) Oracle Documentation+9Oracle Forums+9Oracle Documentation+9.
-
CKPT hoàn thành checkpoint → update SCN vào headers.
-
Undo segment blocks cũng flush khi cần cho rollback nhất quán.
4. Incremental checkpoint:
-
Oracle dùng incremental checkpoints định kỳ (~3s) để xử lý buffer dirty theo khoảng thời gian nhằm giảm recovery time Velogasktom.oracle.com+1Oracle Forums+1.
-
DBWR lúc này ghi các buffer cần thiết theo RBA order từ checkpoint queue (BCQ) VLDB.
⚙️ II. Mối liên hệ các vùng nhớ và background process
1. Redo Log Buffer (trong SGA)
-
Vùng bộ nhớ circular chứa các redo entries của transaction (DML, DDL, internal): serve recovery process ORACLE IN ACTION+7Oracle Documentation+7Oracle Documentation+7.
-
LGWR ghi các redo entries từ buffer này xuống redo log files khi commit hoặc buffer đầy Oracle Forums.
2. Database Buffer Cache
-
Lưu giữ các data block đọc từ datafile; cập nhật logical operation (READ CURRENT, consistent read…) Oracle Documentation+3Oracle Documentation+3Wikipedia+3.
-
DBWR ghi các dirty buffer xuống datafile khi có lệnh checkpoint từ CKPT hoặc khi cần tạo không gian trống VLDBOracle Forums.
-
Buffer cache sử dụng checkpoint queue để quản lý dirty block theo RBA order Oracle Forums+2VLDB+2Oracle Documentation+2.
3. Shared Pool
-
Chứa SQL parse tree, library cache, dictionary cache và các execution plan. DDL không sử dụng lại nên hầu như không share SQL area; DML share query sẽ reuse cursor trong shared pool Oracle Documentation.
4. Large Pool
-
Dùng cho các allocations lớn hơn shared pool phù hợp (UGA cho shared server, parallel buffer, etc.) không ảnh hưởng trực tiếp checkpoint/log nhưng là vùng nhớ thuộc SGA Oracle Documentation.
📊 III. Tóm tắt tổng quan
Thành phần | Vai trò |
---|---|
LGWR | Ghi redo log buffer xuống redo log file |
CKPT | Ghi SCN vào datafile header, controlfile; kích DBWR |
DBWR | Ghi dirty blocks từ buffer cache xuống datafile |
Redo log buffer | Chứa redo entries tạm thời cho commit và recovery |
Data Buffer Cache | Lưu data block chỉnh sửa – dirty buffer chờ flush |
Shared Pool | Quản lý SQL, PL/SQL, metadata, execution plan |
Large Pool | Dùng cho các memory allocations lớn như UGA hoặc RMAN |
Incremental checkpoint | Xảy ra ~3s/lần để giữ dirty buffers ở mức kiểm soát |
✅ Khi checkpoint và log switch phù hợp xảy ra, Oracle giảm thời gian recovery (MTTR), đảm bảo:
-
Datafile header ghi SCN mới nhất.
-
Redo log header chứa checkpoint position.
-
Undo blocks flush nếu cần hỗ trợ rollback.
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- 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
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 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: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Đị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
=============================
AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, 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,sql tutorial, khóa học pl/sql tutorial, 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 RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty