Thứ Hai, 10 tháng 8, 2026

IP scan tôi dùng 1 iP và 3 IP hay 2 IP thì khác nhau?

🎯 SCAN IP: Dùng 1, 2 hay 3 địa chỉ? — Phân tích & Khuyến nghị

1️⃣ Tổng quan & Mục đích 🎯

SCAN (Single Client Access Name) là tính năng từ Oracle 11gR2 trở lên, cung cấp 1 tên DNS duy nhất cho toàn cụm RAC, phía sau ánh xạ tới N địa chỉ IP (thường 1-3 IP). Client chỉ cần biết SCAN name, không cần biết danh sách VIP của từng node → khi thêm/bớt node, không phải sửa TNS ứng dụng.

Số lượng IP Scan (1/2/3) quyết định:

  • 🎯 Số SCAN Listener chạy song song trên cụm (Oracle tự động phân bổ 1 SCAN Listener/1 SCAN IP, relocate linh hoạt qua các node)
  • 🔀 Khả năng chịu lỗi khi 1 SCAN Listener/node bị down
  • ⚖️ Mức độ phân tán tải kết nối (connection load balancing) giữa các Listener

2️⃣ Chi tiết & So sánh 📋

📊 Bảng so sánh 1 IP vs 2 IP vs 3 IP

Tiêu chí🔴 1 IP Scan🟡 2 IP Scan🟢 3 IP Scan (chuẩn Oracle)
Số SCAN Listener123
Chịu lỗi (HA)❌ Không — nếu node chạy SCAN Listener đó down/network fail, toàn bộ kết nối mới bị nghẽn cho tới khi CRS relocate xong (vài giây–vài chục giây gián đoạn)⚠️ Chịu được 1 lỗi, nhưng khi 1 SCAN Listener down thì 50% khả năng phân tải bị mất tạm thời✅ Chịu được tối đa 2/3 lỗi đồng thời, vẫn còn ít nhất 1 Listener sống phục vụ kết nối mới
Load balancing kết nối mớiKhông có (dồn hết vào 1 Listener)Phân tải 2 chiều qua DNS round-robinPhân tải 3 chiều — mượt hơn, giảm nghẽn cổ chai khi có connection storm
Tuân thủ khuyến nghị Oracle (MOS)❌ Sai chuẩn — Oracle support note (Doc ID 887522.1) yêu cầu tối thiểu 3 IP cho SCAN production⚠️ Chấp nhận được cho DR/dev/test, không khuyến nghị productionChuẩn bắt buộc Oracle khuyến nghị cho production RAC dù cụm chỉ có 2 node
Yêu cầu hạ tầng mạngĐơn giản nhấtTrung bìnhCần 3 IP cùng subnet, DNS round-robin 3 bản ghi A cho cùng 1 SCAN name
Rủi ro khi tăng node RAC sau nàyCao — nghẽn cổ chai ngay khi traffic tăngTrung bìnhThấp — vẫn dùng lại 3 SCAN IP dù cụm tăng lên 4, 8, hay N node
Trường hợp thực tế phù hợpLab/demo cá nhân, KHÔNG dùng productionHệ thống nội bộ ít quan trọng, dev/test/QAProduction, đặc biệt hệ trọng yếu như Gold/GoldCloud, Billing, Consolidate

📝 Ví dụ minh họa — vì sao 1 IP nguy hiểm

Giả sử cụm GoldCloud (RAC 2 node) chỉ cấu hình 1 SCAN IP = 192.0.23.38, và SCAN Listener đang chạy trên node1 (192.0.23.34):

[Bình thường]
Client → nslookup goldcloud-scan → 10.0.23.38
       → connect tới SCAN Listener (đang ở node1) → route tới local listener node1/node2 (load balance nội bộ OK)

[Khi node1 bị down/network fail]
Client → nslookup goldcloud-scan → 10.0.23.38 (relocate sang node2, mất vài giây)
       → TRONG lúc relocate: TOÀN BỘ kết nối mới bị timeout/reject
       → Không còn Listener dự phòng nào khác để client fallback ngay lập tức

Kết quả: Với 3 IP Scan, nếu Listener trên node1 down, 2 SCAN Listener còn lại (trên node2, hoặc relocate tới node khác) vẫn phục vụ kết nối mới ngay lập tức, ứng dụng gần như không cảm nhận gián đoạn (chỉ ứng dụng đang connect đúng lúc đó bị ảnh hưởng, retry là qua ngay).

✅ Cấu hình 3 SCAN IP đúng chuẩn (áp dụng cho GoldCloud)

bash
# DNS zone file - 3 bản ghi A cùng tên, khác IP (round-robin)
goldcloud-scan.vietdba.vn.  IN  A  192.0.23.38
goldcloud-scan.vietdba.vn.  IN  A  192.0.23.39
goldcloud-scan.vietdba
.vn. IN A 192.0.23.40
sql
-- TNS chuẩn dùng SCAN name (khuyến nghị)
GOLD =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = goldcloud-scan.vietdba.vn)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = goldcloud) ) )
bash
# Kiểm tra sức khỏe 3 SCAN Listener trên cluster
srvctl status scan_listener
srvctl status scan
srvctl config scan

Kết quả mong đợi: Cả 3 SCAN LISTENER SCAN1/2/3 đều is running, phân bổ trên các node khác nhau (Oracle Clusterware tự chọn, không cố định).


3️⃣ Khuyến nghị an toàn cho bạn 🛡️

🟢 KHUYẾN NGHỊ: Dùng đủ 3 IP Scan cho tất cả hệ thống production (DB1, DB2, DB3...)

Lý do cụ thể theo bối cảnh của bạn:

  1. Đã có sẵn 3 IP Scan trong inventory (10.0.23.38/39/40 cho GoldCloud) — chỉ cần cấu hình DNS + đăng ký service, không tốn thêm chi phí hạ tầng
  2. Sự cố CSS eviction/split-brain 27/07 vừa qua cho thấy hệ Gold rất nhạy với lỗi tầng network/listener — 3 SCAN Listener giúp giảm thiểu điểm lỗi đơn (single point of failure) ở tầng kết nối
  3. Chuẩn bị cho Sáng kiến Gold Cloud RAC 2026 (scale-out) — dùng 3 SCAN từ đầu để không phải sửa lại khi mở rộng node
  4. Đúng chuẩn Oracle MOS Doc ID 887522.1 và Oracle RAC Administration Guide — quan trọng khi làm việc với Oracle Support (MOS SR) sau này, tránh bị yêu cầu sửa cấu hình trước khi được hỗ trợ

4️⃣ Mind Map tóm tắt 🗺️

                        SCAN IP Configuration
                                │
        ┌───────────────────────┼───────────────────────┐
        │                       │                       │
    🔴 1 IP                 🟡 2 IP                 🟢 3 IP (khuyến nghị)
        │                       │                       │
  Không HA tầng           HA một phần            HA đầy đủ + load balance
  Listener                (chịu 1 lỗi)           tốt nhất (chịu 2 lỗi)
        │                       │                       │
  ❌ Không dùng          ⚠️ Chỉ Dev/Test          ✅ Production (Gold,
     production                                   GoldCloud, Billing...)

5️⃣ Thực hành 📚

❓ Câu hỏi 1: Cụm RAC chỉ có 2 node vật lý — vậy có cần tới 3 SCAN Listener không, hay 2 là đủ (khớp số node)?

✅ Lời giải: Vẫn cần 3 SCAN IP dù cụm chỉ 2 node. Vì SCAN Listener không bắt buộc chạy 1-1 theo node — Oracle Clusterware có thể chạy 2 SCAN Listener trên cùng 1 node vật lý nếu cần (relocate linh hoạt), số lượng SCAN IP là con số cố định theo khuyến nghị Oracle (3), độc lập với số node RAC hiện tại. Điều này cũng giúp khi scale-out lên 3, 4 node sau này (như Sáng kiến Gold Cloud RAC), không cần đổi lại cấu hình SCAN.

❓ Câu hỏi 2: Bạn phát hiện srvctl status scan_listener chỉ báo 2/3 Listener running, 1 cái ở trạng thái OFFLINE. Ảnh hưởng thực tế là gì và cách xử lý nhanh?

✅ Lời giải: Ảnh hưởng: hệ thống vẫn hoạt động (2 Listener còn lại vẫn phục vụ kết nối mới), nhưng giảm khả năng chịu lỗi — nếu 1 trong 2 Listener còn lại tiếp tục down, sẽ chỉ còn 1 Listener duy nhất (rơi về tình trạng như cấu hình 1 IP, rủi ro cao). Xử lý: kiểm tra log CRS ($GRID_HOME/log/<node>/scan_listener/) tìm nguyên nhân (thường do IP conflict, DNS resolve sai, hoặc node đó bị đầy tài nguyên), sau đó srvctl start scan_listener -i <id> để khởi động lại — theo đúng runbook Phụ lục 06 (khắc phục lỗi cơ bản Oracle RAC) mà Đài đang áp dụng.


=============================
TƯ VẤN: Click Here hoặc Hotline/Zalo 090.29.12.888
=============================
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

=============================
cơ sở dữ liệu, cơ sở dữ liệu quốc gia, database, 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/21c/23c/23ai, 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, docker, k8s, micro service, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master