Nếu bạn có thể sử dụng odac (odp) 11g , bạn đã cài đặt Xác thực Kết nối cho nhóm của mình. Nó có thể xác nhận kết nối trước khi bạn sử dụng.
Xác thực kết nối thuộc tính xác nhận các kết nối đến từ nhóm. Thuộc tính này chỉ nên được sử dụng khi thực sự cần thiết, vì nó khiến cơ sở dữ liệu quay vòng để xác thực từng kết nối ngay lập tức trước khi nó được cung cấp cho ứng dụng. Nếu các kết nối không hợp lệ là không phổ biến, các nhà phát triển có thể tạo trình xử lý sự kiện của riêng họ để truy xuất và xác thực một kết nối mới, thay vì sử dụng thuộc tính Validate Connection. Điều này thường mang lại hiệu suất tốt hơn.
Nếu nó không đủ tốt - bạn có thể thử tài liệu này từ oracle.
Quản lý nhóm kết nối
Quản lý nhóm kết nối ODP.NET cung cấp kiểm soát nhóm kết nối rõ ràng cho các ứng dụng ODP.NET. Các ứng dụng có thể xóa rõ ràng các kết nối trong một nhóm kết nối.
Sử dụng quản lý nhóm kết nối, các ứng dụng có thể thực hiện những việc sau:
Lưu ý:Các API này không được hỗ trợ trong quy trình lưu trữ .NET. Xóa kết nối khỏi nhóm kết nối bằng ClearPool phương pháp.
Xóa các kết nối trong tất cả các nhóm kết nối trong một phần mềm ứng dụng, bằng cách sử dụng ClearAllPools phương pháp.
Khi các kết nối bị xóa khỏi một nhóm, ODP.NET sẽ sao chép lại nhóm bằng các kết nối mới có ít nhất số lượng kết nối được đặt theo Kích thước nhóm tối thiểu trong chuỗi kết nối. Các kết nối mới không nhất thiết có nghĩa là pool sẽ có các kết nối hợp lệ. Ví dụ:nếu máy chủ cơ sở dữ liệu gặp sự cố khi ClearPool hoặc ClearAllPools được gọi, ODP.NET sẽ tạo các kết nối mới, nhưng các kết nối này vẫn không hợp lệ vì chúng không thể kết nối với cơ sở dữ liệu, ngay cả khi cơ sở dữ liệu xuất hiện muộn hơn.
Chúng tôi khuyến nghị không nên gọi ClearPool và ClearAllPools cho đến khi ứng dụng có thể tạo kết nối hợp lệ trở lại cơ sở dữ liệu..Nhà phát triển NET có thể phát triển mã liên tục kiểm tra xem có thể tạo hay không kết nối cơ sở dữ liệu hợp lệ hay không và gọi ClearPool hoặcClearAllPools khi điều này là đúng.
Ngoài ra, có thể bài đăng này sẽ giúp ích cho bạn.
Cập nhật :Như được chỉ ra bởi @MPelletier, đối với oracle 12, liên kết là khác.