Để cấu hình tính năng TAF (Transparent Application Failover) kết hợp với Weblogic Server và HikariCP (bạn đang viết nhầm thành harika pool) thông qua chuỗi kết nối JDBC Thin URL, chúng ta cần làm rõ một điểm mấu chốt về mặt kiến trúc:
⚠️ Lưu ý quan trọng về kiến trúc: Chuỗi kết nối JDBC mỏng (Thin driver) chạy thuần Java không hỗ trợ đầy đủ các tính năng của TAF truyền thống (nhưfailover_mode = selectđể giữ nguyên trạng thái câu lệnh SELECT đang chạy). TAF truyền thống yêu cầu Driver OCI (thick driver).Tuy nhiên, đối với ứng dụng Java/Weblogic sử dụng JDBC Thin, Oracle cung cấp giải pháp thay thế tối ưu và mạnh mẽ hơn là FCF (Fast Connection Failover) kết hợp với ONS (Oracle Notification Service), hoặc sử dụng cấu hình chuỗi kết nối JDBC thông minh để tự động kết nối lại (Connect-time Failover).
Dưới đây là 2 cách cấu hình tốt nhất cho bài toán của bạn:
Cách 1: Cấu hình chuỗi JDBC Thin URL thông minh (Đơn giản nhất)
Cách này áp dụng trực tiếp vào cấu hình Datasource của Weblogic hoặc file cấu hình HikariCP. Nó sử dụng cơ chế
FAILOVER=on ở tầng kết nối.Chuỗi Connection String (URL) tối ưu cho SCAN IP:
text
jdbc:oracle:thin:@(DESCRIPTION=
(ADDRESS_LIST=
(LOAD_BALANCE=on)
(FAILOVER=on)
(ADDRESS=(PROTOCOL=TCP)(HOST=://domain.com)(PORT=1521))
)
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=your_rac_service_name)
)
)
Hãy thận trọng khi sử dụng mã.
Cấu hình bổ sung cho HikariCP để bổ trợ Failover:
Vì JDBC Thin chỉ thực hiện failover khi tạo mới kết nối, bạn cần cấu hình HikariCP để nó chủ động kiểm tra và dọn dẹp các kết nối "chết" khi một Node RAC bị sập:
Vì JDBC Thin chỉ thực hiện failover khi tạo mới kết nối, bạn cần cấu hình HikariCP để nó chủ động kiểm tra và dọn dẹp các kết nối "chết" khi một Node RAC bị sập:
properties
# Câu lệnh kiểm tra kết nối sống/chết trước khi cho ứng dụng mượn
hikari.connectionTestQuery=SELECT 1 FROM DUAL
# Thời gian tối đa chờ đợi kết nối từ pool kiểm tra thành công (ms)
hikari.validationTimeout=3000
# Thời gian tối đa để cố gắng kết nối lại (ms)
hikari.connectionTimeout=10000
# Thời gian tối đa một kết nối được sống trong pool, giúp xoay vòng kết nối để nhận SCAN IP mới
hikari.maxLifetime=1800000
Hãy thận trọng khi sử dụng mã.
Cách 2: Cấu hình Weblogic Active GridLink (Khuyên dùng cho Weblogic)
Nếu bạn đang dùng Weblogic bản Enterprise, thay vì dùng Generic Datasource + HikariCP, hãy chuyển sang dùng Weblogic Active GridLink Datasource. Đây là tính năng "đo ni đóng giày" cho Oracle RAC.
Các bước cấu hình trên Weblogic Console:
- Vào Services > Data Sources > Chọn New > Active GridLink Data Source.
- Đặt tên và điền JNDI Name.
- Phần Chính sách chọn Single Instance (Load Balancing): Tích chọn.
- Tại bước cấu hình Connection URL, nhập chuỗi SCAN tương tự như Cách 1.
- Kích hoạt ONS (Oracle Notification Service):
- Đây là bước cốt lõi. Bạn điền danh sách các IP thật (hoặc VIP) của các Node RAC và Port ONS (mặc định là
6200). - Ví dụ:
node1-vip:6200,node2-vip:6200
- Đây là bước cốt lõi. Bạn điền danh sách các IP thật (hoặc VIP) của các Node RAC và Port ONS (mặc định là
Nguyên lý hoạt động của GridLink (Thay thế TAF):
- Khi một Node RAC bị sập, ONS lập tức bắn một thông báo tới Weblogic.
- Weblogic Datasource ngay lập tức tiêu hủy (destroy) toàn bộ các kết nối trong Pool đang trỏ tới Node sập đó mà không đợi kết nối tự timeout.
- Các yêu cầu mới từ ứng dụng sẽ tự động được điều hướng sang các Node còn sống mà ứng dụng không hề bị treo hay báo lỗi 500.
Tóm tắt khuyến nghị cho hệ thống của bạn
- Nếu chạy độc lập ứng dụng Spring Boot/Java dùng HikariCP: Sử dụng chuỗi URL ở Cách 1 và bắt buộc phải cấu hình
connectionTestQueryđể Hikari tự phục hồi kết nối. - Nếu deploy ứng dụng inside Weblogic Server: Hãy tận dụng Active GridLink Datasource vì nó mang lại trải nghiệm Failover mượt mà nhất cho Oracle RAC gần tương đương với TAF.
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