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

Làm thế nào để xử lý sự cố cơ sở dữ liệu (Glassfish / MySQL)?

A) Đảm bảo bạn định cấu hình Nhóm kết nối Glassfish để khôi phục / kết nối lại tự động

Trong cấu hình nhóm kết nối Glassfish JDBC, hãy đặt các giá trị cho:

  • Các thuộc tính:is-connection-validation-required, validate-atmost-once-period-in-seconds, connection-creation-retry-attempts, connection-validation-method, connection-creation-retry-interval-in-seconds, ping

Cấu hình Glassfish jdbc-connection thuộc tính -pool
Glassfish Quản trị viên - lệnh phụ create-jdbc-connection-pool

Các bước:

  1. Giả sử Glassfish đang chạy (ví dụ:khởi động máy chủ trong Tab Dịch vụ Netbeans, bằng cách mở Máy chủ và nhấp chuột phải vào Glassfish), thì bạn sẽ có Máy chủ quản trị miền đang chạy
  2. Mở Bảng Điều khiển dành cho Quản trị viên trong trình duyệt web:http://localhost:4848 (hoặc sử dụng bất kỳ cổng nào bạn đã chỉ định trong khi cài đặt.
  3. Ở bên trái, trong menu Nhiệm vụ chung, mở Tài nguyên -> JDBC và nhấp vào Bể chứa kết nối JDBC
  4. Nhấp vào nhóm kết nối của bạn TÊN POOL (hoặc tạo một nhóm mới bằng cách nhấp vào nút Mới)
  5. Chọn Tab Nâng cao và Enter:
  6. Xác thực nhiều nhất một lần:(ví dụ:60) sau vài giây
  7. Các nỗ lực thử lại quá trình tạo:(ví dụ:3)
  8. Khoảng thời gian thử lại:(ví dụ:10) sau vài giây
  9. Xác thực kết nối:(Đánh dấu) Bắt buộc
  10. Phương pháp xác thực:(ví dụ:tự động cam kết)
  11. Các thuộc tính nâng cao khác như mong muốn
  12. Chọn Tab Chung và Nhập:
  13. Ping (Đánh dấu)
  14. Các thuộc tính chung khác như mong muốn

B) Triển khai Xử lý lỗi ứng dụng / Giám sát và cảnh báo DB

  1. Bắt buộc:bẫy lỗi người dùng nghiêm trọng "cấp độ cơ sở hạ tầng" và cảnh báo cho nhân viên hỗ trợ.

    Tạo một lớp JMX đơn giản để gửi thông báo và gọi phương thức của nó khi xảy ra lỗi nghiêm trọng JMX MBean Class gửi thông báo . Bạn có thể sử dụng bảng điều khiển giám sát JMX để quan sát trạng thái của các máy chủ - một số bảng điều khiển này gửi cảnh báo qua email (ví dụ:JManage và RHQ) và có các cầu nối để truy cập từ HTTP / AJax hoặc các ngôn ngữ khác (ví dụ: Jolokia có thể sử dụng API javascript / perl / java để truy cập thông báo JMX).

    Sử dụng API Lịch Google để gửi tin nhắn báo lỗi tới lịch google của nhân viên hỗ trợ (1 hoặc 2 phút trong tương lai). Sau đó, cấu hình lịch google để gửi thông báo email / sms - sẽ đưa ra cảnh báo lỗi trực tiếp cho nhân viên hỗ trợ trong thời gian gần thực tế. Điều này tuân theo các hạn chế sử dụng của Google (giới hạn miễn phí là 10.000 truy vấn mỗi ngày, vì vậy hãy đảm bảo ứng dụng của bạn không quá lỗi và sử dụng logic để giới hạn số lượng tin nhắn được gửi trong một giờ / ngày / tuần)

  2. Mong muốn:giám sát DB (&có thể là máy chủ ứng dụng) và cảnh báo nhân viên hỗ trợ về sự cố mất điện

    • Mã nguồn mở Zabbix có tính năng giám sát và cảnh báo mySQL có sẵn - dung lượng nhẹ nhưng yêu cầu thiết lập và cấu hình
    • Mã nguồn mở Hyperic có các plugin mở rộng để giám sát mySQL và cảnh báo có sẵn - có dung lượng nặng, có thể phức tạp để thiết lập và cấu hình
    • Mã nguồn mở Nago là mặc định cho * nix OSes - có dung lượng nặng, có thể phức tạp để thiết lập và cấu hình

    Trong mọi trường hợp, việc thiết lập sẽ không diễn ra ngay lập tức - tốt nhất nên triển khai như một dự án nhỏ riêng biệt và thực hiện đúng - tốt nhất nên có nhân viên hỗ trợ tham gia vào việc này.

    Nếu đây là "ngoài phạm vi", hãy tạo màn hình đơn giản của riêng bạn:

    • Bộ đếm thời gian EJB để chạy truy vấn kiểm tra đơn giản đã lên lịch đối với DB của bạn - nếu nó không thành công, hãy gửi cảnh báo (qua JMX / Lịch Google / Java Mail / API cổng SMS). Hoặc sử dụng bộ lập lịch mã nguồn mở Quartz để thực hiện công việc tương tự


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để lấy id tự động tăng thêm khi tôi chèn bản ghi vào bảng qua jdbctemplate

  2. Tải hình ảnh lên Máy chủ Từ xa, iPhone

  3. MySQL:Xem với Truy vấn con trong Giới hạn Mệnh đề FROM

  4. Kết nối các ứng dụng ODBC với MySQL

  5. Mysql chọn đệ quy nhận tất cả con với nhiều cấp độ