- HOME
- NHẬP MÔN
- SQL,PL/SQL
- ADMIN
- FULL BÀI VIẾT
- CÂU HỎI THƯỜNG GẶP
- CÁC LỖI THƯỜNG GẶP
- CÔNG CỤ
- ORACLE DATABASE TUTORIAL CƠ BẢN
- QUY TRÌNH VẬN HÀNH ORACLE DATABASE A-Z
- CÀI ĐẶT, PATCH
- UPGRADE/MIGRATION
- KIẾN TRÚC
- QUẢN LÝ INSTANCE
- USER, ROLES, QUYỀN
- LƯU TRỮ (STORAGE)
- OBJECTS
- BACKUP
- RECOVERY
- BẢO TRÌ
- HIỆU NĂNG (PERFORMANCE)
- GIAO DỊCH PHÂN TÁN
- BẢO MẬT
- TROUBLESHOOTING
- VẬN HÀNH TỰ ĐỘNG
- TIPS
- KHO TÀI NGUYÊN
- EXADATA
- KHÁC
- TUNNING
- RAC-ASM
- 12C-21C
- DB KHÁC
- ĐỒNG BỘ
- SYSTEM
- ĐÀO TẠO
- GIẢI PHÁP
- AI
- LIÊN HỆ
Thứ Bảy, 31 tháng 5, 2025
Cơ chế rollback một batch job lớn (update/delete/insert hàng chục triệu bản ghi) trong PostgreSQL, các rủi ro có thể gặp, và biện pháp phòng ngừa an toàn
21.Tự động hóa Quản trị PostgreSQL (Backup, Kill Session, Báo Cáo, Telegram Alert, Tự Thêm Datafile)
✅ 1. Mục tiêu tự động hóa
Tác vụ | Mục tiêu |
---|---|
Backup định kỳ | Đảm bảo an toàn dữ liệu |
Kill session treo/lock | Tăng ổn định hệ thống |
Gửi cảnh báo | Phản ứng nhanh với lỗi |
Báo cáo hiệu năng | Chủ động tuning |
Tự mở rộng | Không bị full disk / tablespace |
20.Quản lý tài nguyên PostgreSQL – CPU, RAM, Swap, IO, Network, Session, Lock, Storage
✅ 1. Mục tiêu quản lý tài nguyên
Mục tiêu | Lý do |
---|---|
Giám sát sử dụng hệ thống | Phát hiện sớm quá tải, sai cấu hình |
Xử lý session treo, lock | Tối ưu concurrency |
Tối ưu RAM/CPU/WAL | Giảm tiêu hao tài nguyên |
Cân đối load | Tăng độ ổn định hệ thống |
18.Quản lý Hiệu năng Database PostgreSQL (Monitoring & Tuning)
✅ 1. Mục tiêu quản lý hiệu năng
-
Phát hiện bottleneck (CPU, RAM, IO, lock…)
-
Cảnh báo slow query, deadlock, bloat
-
Theo dõi sức khỏe hệ thống liên tục
-
Đề xuất tối ưu cấu hình & truy vấn
19.Tối ưu Truy vấn Chậm (SQL Tuning) trong PostgreSQL
✅ 1. Mục tiêu tối ưu truy vấn
Mục tiêu | Lý do |
---|---|
Rút ngắn thời gian truy vấn | Tăng trải nghiệm người dùng |
Giảm tài nguyên tiêu thụ | Giảm CPU, RAM, Disk |
Tăng thông lượng | Phục vụ nhiều session hơn |
Tránh full scan | Tận dụng chỉ mục, cache |
17.Bảo trì Database PostgreSQL (VACUUM, ANALYZE, REINDEX, FREEZE)
✅ 1. Mục tiêu bảo trì định kỳ
Mục tiêu | Tác dụng |
---|---|
Dọn dẹp dữ liệu chết (dead tuples) | Giảm bloat, tối ưu disk |
Cập nhật thống kê | Tối ưu plan truy vấn |
Tái cấu trúc index/bảng | Khôi phục hiệu năng |
Tránh wraparound transaction ID | Bảo vệ dữ liệu lâu dài |
16.Chuyển dữ liệu, Migration Database PostgreSQL
✅ 1. Mục tiêu của migration
-
Chuyển hệ thống từ DB cũ sang PostgreSQL (Oracle, MySQL, MSSQL…)
-
Di chuyển từ PostgreSQL server cũ sang server mới
-
Chuyển giữa các phiên bản PostgreSQL (nâng cấp)
-
Chia nhỏ / gộp DB giữa môi trường test – UAT – prod
14.Thực hiện Backup Database PostgreSQL (Script & Automation)
✅ 1. Mục tiêu backup tự động
-
Hàng ngày backup DB hoặc cluster
-
Ghi log đầy đủ
-
Lưu theo ngày/tháng/năm
-
Xóa bản cũ sau 7 hoặc 30 ngày
-
Thông báo khi thành công/lỗi
15.Thực hiện Recovery Database PostgreSQL (Toàn bộ, PITR, Logical)
✅ 1. Các loại Recovery trong PostgreSQL
Loại phục hồi | Mục tiêu | Công cụ | Tình huống dùng |
---|---|---|---|
Logical | Phục hồi bảng, DB | psql , pg_restore | Lỗi người dùng, sai sót nghiệp vụ |
Physical (Full) | Toàn bộ cluster | pg_basebackup , rsync | Khôi phục toàn cụm (crash, DR) |
PITR | Phục hồi về thời điểm cụ thể | WAL + base backup | Rollback lỗi logic/tấn công |
13: Cấu hình Tham số An toàn & Tối ưu cho Backup và Recovery
✅ 1. Mục tiêu cấu hình
Cấu hình tham số giúp:
-
Đảm bảo dữ liệu được backup chính xác
-
Cho phép khôi phục linh hoạt theo thời gian (PITR)
-
Giảm rủi ro mất WAL
-
Tối ưu dung lượng, tốc độ ghi WAL và backup
12.Nguyên lý Backup và Recovery trong PostgreSQL
✅ 1. Tổng quan các loại backup
PostgreSQL hỗ trợ hai loại chính:
Loại | Mục tiêu | Dạng dữ liệu | Công cụ |
---|---|---|---|
Logical Backup | CSDL, bảng cụ thể | Câu lệnh SQL | pg_dump , pg_dumpall |
Physical Backup | Toàn bộ cluster | Dữ liệu nhị phân gốc | pg_basebackup , rsync , pgBackRest |
11.Triển khai Audit và Bảo mật Database PostgreSQL
✅ 1. Tổng quan về Bảo mật trong PostgreSQL
PostgreSQL cung cấp bảo mật theo 4 lớp chính:
Lớp | Mục đích |
---|---|
1. Xác thực kết nối | Dùng pg_hba.conf để kiểm soát IP, user, phương thức |
2. Phân quyền Role/User | Dùng GRANT/REVOKE và ROLE |
3. Bảo mật nâng cao | SSL, RLS, mã hóa, schema isolation |
4. Audit | Ghi log truy cập, truy vấn, thao tác hệ thống |
10.Quản trị giao dịch đồng thời cho Database lớn (Concurrency Control)
✅ 1. Tổng quan cơ chế Concurrency trong PostgreSQL
PostgreSQL sử dụng MVCC (Multi-Version Concurrency Control):
-
Cho phép nhiều transaction đọc/ghi cùng lúc mà không khóa lẫn nhau
-
Mỗi transaction thấy dữ liệu ở phiên bản (snapshot) riêng
-
Khi có update: PostgreSQL ghi bản mới, bản cũ đánh dấu là "dead"
9.Quản trị UNDO, WAL Log và Control File trong PostgreSQL
✅ 1. Tổng quan kiến trúc ghi & phục hồi
Cơ chế | Oracle | PostgreSQL |
---|---|---|
UNDO | Có file UNDO riêng | Không dùng UNDO riêng – dùng MVCC |
REDO | Redo log file | WAL (Write-Ahead Log) |
Control File | Có controlfile riêng | Không có controlfile – dùng các file meta khác (pg_control) |
8.Quản trị không gian lưu trữ & Object trong PostgreSQL
📌 Tạo bảng:
sqlCREATE TABLE customer (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL,
created_at TIMESTAMP DEFAULT now()
);
7.Quản trị Lưu trữ (Tablespace) trong PostgreSQL
✅ 1. Tablespace là gì?
-
Tablespace trong PostgreSQL là một thư mục vật lý được quản lý bởi PostgreSQL, dùng để lưu table, index, hoặc toàn bộ database thay vì lưu trong
pg_default
(mặc định). -
Mỗi tablespace là 1 symbolic link đến 1 thư mục trong hệ điều hành.
✅ Tablespace giúp:
-
Tách dữ liệu theo ổ cứng / phân vùng
-
Tối ưu I/O
-
Phân vùng dữ liệu theo ứng dụng / độ ưu tiên / người dùng
6.Quản trị User, Role và Phân quyền trong PostgreSQL
✅ 1. Khái niệm Role và User
-
PostgreSQL không phân biệt “user” và “role” — tất cả đều là “roles”.
-
Một role có thể:
-
Có hoặc không có quyền LOGIN
-
Là superuser hoặc không
-
Được cấp quyền cho schema, bảng, hoặc role khác
-
5.Cấu hình mạng để kết nối đến PostgreSQL Database
✅ 1. Tổng quan
PostgreSQL mặc định chỉ cho phép kết nối local (trên localhost).
Muốn client hoặc ứng dụng kết nối từ xa qua TCP/IP, bạn phải:
-
Bật lắng nghe kết nối qua mạng (
listen_addresses
) -
Cho phép user/IP cụ thể truy cập qua
pg_hba.conf
-
Mở port trên firewall (nếu có)
4.Quản lý, Cài đặt, Patch và Tham số Cấu hình Instance PostgreSQL
✅ 1. Tổng quan Instance PostgreSQL
-
Instance PostgreSQL = 1 tiến trình
postmaster
+ thư mục dữ liệu ($PGDATA
) -
Có thể chạy nhiều instance trên 1 server (khác port + thư mục)
-
Cài đặt PostgreSQL thường kèm theo:
-
File nhị phân (
bin/
) -
File cấu hình (
postgresql.conf
,pg_hba.conf
,pg_ident.conf
) -
Thư mục dữ liệu (
data/
) -
Log, WAL, tablespace…
-
3.Các công cụ quản lý Database PostgreSQL
PostgreSQL có hệ sinh thái công cụ rất phong phú, hỗ trợ từ:
-
Kết nối & truy vấn
-
Quản lý GUI
-
Giám sát
-
Backup & Recovery
-
Replication, HA/Failover
-
Tối ưu truy vấn & tự động hóa
2.Kiến trúc Database PostgreSQL
✅ 1. Tổng quan kiến trúc
PostgreSQL sử dụng mô hình client-server với kiến trúc xử lý theo dạng multi-process (mỗi kết nối là một process độc lập).
1.Giới thiệu PostgreSQL Database (CSDL)
🔰 1. Giới thiệu PostgreSQL Database (CSDL)
✅ Tổng quan
PostgreSQL là một hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở (Open Source RDBMS) mạnh mẽ, được phát triển từ năm 1986 tại Đại học California Berkeley. PostgreSQL hỗ trợ SQL chuẩn, các tính năng NoSQL, JSON/XML, ACID, MVCC, phân quyền bảo mật và khả năng mở rộng mạnh mẽ.
Tutorial Quản trị database PostgreSQL
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
ĐỌC NHIỀU
-
Giới thiệu phần mềm: VanDyke SecureCRT and SecureFX là một ứng dụng chuyển tập tin an toàn, linh hoạt với giao diện trực quan cung cấp tr...
-
Giới thiệu Bắt đầu với PL/SQL cần những gì? Tổng quan về PL/SQL Các lệnh PL/SQL cơ bản Lệnh If-elsif-else Vòng lặp không định trước (LOOP) V...
-
Bài viết này mô tả việc cài đặt Oracle Database 19c 64-bit trên Oracle Linux 7 (OL7) 64-bit bằng giao diện GUI hoặc bằng silent mode
-
Ở bài trước bạn đã hiểu cách tạo database rồi, vậy thì trong bài này mình sẽ nói đến một thành phần khá hay trong SQL Server đó là schema. N...