Thứ Bảy, 6 tháng 9, 2025

Phân biệt VIP và SCAN trong Oracle RAC

VIP (Virtual IP) và SCAN (Single Client Access Name) là hai khái niệm quan trọng trong Oracle RAC, tuy nhiên chúng có những điểm khác biệt sau:

Sem cabeça Suponha Demônio oracle rac load balancing not working Tend  mangueira Arado

Mục đích:

  • VIP: Dùng để cân bằng tải và cung cấp khả năng sẵn sàng cao cho truy cập vào dịch vụ database (database service).
  • SCAN: Dùng để đơn giản hóa việc truy cập vào cụm RAC (cluster access) cho người dùng.

Cách thức hoạt động:

  • VIP:
    • Cấu hình trên thiết bị mạng (router hoặc load balancer).
    • Khi truy cập vào VIP, thiết bị mạng sẽ chuyển hướng lưu lượng truy cập đến một trong các server trong cụm dựa trên thuật toán cân bằng tải.
    • Server nhận được yêu cầu sẽ xử lý và trả về kết quả cho người dùng.
  • SCAN:
    • Cấu hình trên một hoặc nhiều thiết bị mạng (router hoặc load balancer).
    • Khi truy cập vào SCAN, thiết bị mạng sẽ chuyển hướng lưu lượng truy cập đến một trong các server trong cụm dựa trên thuật toán cân bằng tải.
    • Server nhận được yêu cầu sẽ xử lý và chuyển tiếp yêu cầu đến server có chứa database mà người dùng muốn truy cập.

Lợi ích:

  • VIP:
    • Cân bằng tải giữa các server trong cụm.
    • Nâng cao tính sẵn sàng cao cho dịch vụ database.
    • Giúp đơn giản hóa việc quản lý truy cập vào dịch vụ database.
  • SCAN:
    • Đơn giản hóa việc truy cập cho người dùng (chỉ cần sử dụng một tên duy nhất để truy cập vào tất cả các server trong cụm).
    • Nâng cao tính sẵn sàng cao cho việc truy cập vào cụm (nếu một server gặp sự cố, SCAN sẽ tự động chuyển hướng lưu lượng truy cập đến các server còn lại).

Cấu hình:

  • VIP:
    • Cấu hình trên thiết bị mạng.
    • Cấu hình DNS để trỏ VIP đến địa chỉ IP của thiết bị mạng.
    • Cấu hình Oracle Clusterware để sử dụng VIP.
  • SCAN:
    • Cấu hình trên thiết bị mạng.
    • Cấu hình DNS để trỏ SCAN đến địa chỉ IP của thiết bị mạng.
    • Cấu hình Oracle Clusterware để sử dụng SCAN.

Bảng tóm tắt:

Tính năngVIPSCAN
Mục đíchCân bằng tải, sẵn sàng cao cho dịch vụ databaseĐơn giản hóa truy cập vào cụm
Cách thức hoạt độngChuyển hướng truy cập đến server có databaseChuyển hướng truy cập đến server có database mà người dùng muốn truy cập
Lợi íchCân bằng tải, sẵn sàng cao, đơn giản hóa quản lýĐơn giản hóa truy cập, sẵn sàng cao
Cấu hìnhCấu hình trên thiết bị mạng, DNS, Oracle ClusterwareCấu hình trên thiết bị mạng, DNS, Oracle Clusterware

Lưu ý:

  • Cả VIP và SCAN đều có thể được sử dụng cùng lúc để tối ưu hóa hiệu quả và khả năng truy cập cho cụm Oracle RAC.
  • Việc sử dụng VIP và SCAN có thể giúp nâng cao tính sẵn sàng cao, hiệu quả và bảo mật cho hệ thống database.

Ví dụ:

Giả sử bạn có một cụm RAC với 2 server: RAC1 và RAC2. Bạn muốn cấu hình VIP và SCAN để người dùng có thể truy cập vào database bằng tên ORCL.

Cấu hình VIP:

  • Router:
ip route 192.168.1.100 255.255.255.0 192.168.1.1

interface virtual 1

ip address 192.168.1.100 255.255.255.0
  • DNS:
A ORCL 192.168.1.100
  • Oracle Clusterware:
crsctl set vip_name ORCL

Cấu hình SCAN:

  • Router:
ip route 192.168.1.101 255.255.255.0 192.16

MÔ HÌNH KẾT NỐI TRONG THỰC TẾ:

Khi một client kết nối đế database => nếu kết nối thẳng vào IP của server nếu server down => hệ thống sẽ trả về là Not connect và sẽ không có dữ liệu nào được load ra => như thế hệ thống sẽ là down

VIP IP:

VIP IP không được cấu hình cho card mạng cụ thể nào mà nó được thả nổi trong cụm, khi một máy chủ down nó sẽ tiến hành bỏ qua máy chủ đó mà tập trung vào phần còn lại (các node còn lại trong cụm)

SCAN IP:

Giả sử ban đầu bạn có 4 node => sau đó doanh nghiệp của bạn cần giảm xuống thành 2 node do 4 là thừa thãi => chúng ta cần loại bỏ 2 node ra khỏi cụm => vì vậy chúng ta đang có thông tin thừa của 2 node này trong tnsnames của APP => điều này dẫn đến định tuyến mất thời gian => Và chúng ta phải sửa lại file tnsname trong APP kết nối, và như vậy sẽ mất thời gian và có thể dẫn tới sai xót trong quá trình thao tác, tương tự trong trường hợp chúng ta thêm mới node vào trong cụm

=> SCAN (single client access name) xuất hiện để giải quyết vấn đề trên (11G) => nó cho phép client sử dụng duy nhất tên 1 hostname để kết nối vào database.

TNSNAMES.ORA sử dụng VIP:

net_service_name

=

(DESCRIPTION=

(LOAD_BALANCE=on)

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=tcp)(HOST=sales1-vip1)(PORT=1521))

(ADDRESS=(PROTOCOL=tcp)(HOST=sales2-vip2)(PORT=1521)))

(ADDRESS=(PROTOCOL=tcp)(HOST=sales3-vip3)(PORT=1521)))

(CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))

## nếu load_balance được khai báo => Mọi kết nối đến sẽ theo tuần tự từ host1 tới hết các node trong cụm

## nếu load_balance ko được khai báo => Mọi kết nối đến sẽ kết nối vào host1

TNSNAMES.ORA sử dụng SCAN:

net_service_name

=

(DESCRIPTION=

(LOAD_BALANCE=on)

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=tcp)(HOST=scan-host.com)(PORT=1521))

(CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))

=> như vậy nếu sử dụng SCAN khi chúng ta remove hoặc thêm mới node vào cụm thì thông tin trong tnsname cũng không cần thay đổi gì cả vì nó chỉ sử dụng 1 định danh duy nhất cho kết nối để đại diện cho toàn bộ cụm

Các lệnh kiểm tra và thao tác RAC

## check thông tin rac VIP

crsctl status res ora.rac1.vip -p

## thông tin tất cả res

crsctl status res -t

EZconnet sqlplus system/manager@sales1-scan:1521/oltp

JDBC connect jdbc:oracle:thin:@sales1-scan:1521/oltp

=============================
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