Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Làm cách nào để xóa nhóm kết nối ODP.NET do lỗi kết nối?

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ví dụ về hàm Pipelined của Oracle

  2. Quá trình nâng cấp từng bước lên R12.2 Nâng cấp phần -2 (Trình điều khiển Nâng cấp Chính cho R12.2.0)

  3. Cách lặp qua phạm vi ngày trong PL / SQL

  4. Thay đổi độ chính xác của cột số trong Oracle

  5. Cách sử dụng thực thi ngay lập tức với mệnh đề INTO trong cơ sở dữ liệu Oracle