Oracle® Enterprise Manager (OEM) 12c và 13c bao gồm nhiều công cụ phân tích hiệu suất, bao gồm một công cụ hỗ trợ, gọi là OEM Real-Time Automatic Database Diagnostic Monitor (Real-Time ADDM), dành cho Oracle DBA sử dụng để khắc phục sự cố hoặc điều chỉnh các vấn đề hiệu suất thực tế, đang diễn ra. Bài viết này chia sẻ kiến thức về việc sử dụng thực tế Real-Time ADDM để xác định và vượt qua tình huống khẩn cấp do bất kỳ loại vấn đề sức khỏe cơ sở dữ liệu nào, chẳng hạn như 100% sử dụng phiên bản, quy trình, hoặc vượt quá các giới hạn quan trọng được định nghĩa trước cho đầu vào/đầu ra (I/O), bộ nhớ hoặc giới hạn kết nối. Trong những trường hợp như vậy, Real-Time ADDM là một công cụ rất tiện dụng và cung cấp khả năng thực hiện phân tích ADDM thực tế và sâu hơn về sức khỏe cơ sở dữ liệu, vì vậy hãy so sánh RADDM với ADDM.
ADDM là gì?
ADDM là một công cụ được cung cấp bởi Oracle Database (bắt đầu từ phiên bản 10g) để phân tích dữ liệu trong Kho lưu trữ Tải công việc Tự động (AWR) để xác định các nút nghẽn hiệu suất tiềm năng. Đối với mỗi vấn đề được xác định, nó xác định nguyên nhân gốc rễ và cung cấp khuyến nghị để khắc phục vấn đề.
Real-Time ADDM là gì?
Trong Oracle Enterprise Manager (OEM) Cloud Control 12c, Oracle đã giới thiệu công cụ Real-Time ADDM, giúp phân tích và giải quyết các vấn đề trong các cơ sở dữ liệu không phản hồi hoặc bị treo (hung) mà truyền thống yêu cầu bạn phải khởi động lại cơ sở dữ liệu. Real-Time ADDM chạy qua một tập hợp các tiêu chí được định nghĩa trước để phân tích hiệu suất hiện tại của cơ sở dữ liệu. Nếu bất kỳ tiêu chí nào khớp, Real-Time ADDM giúp giải quyết các vấn đề được xác định (chẳng hạn như deadlock, treo, tranh chấp shared pool và các tình huống ngoại lệ khác) mà không cần khởi động lại cơ sở dữ liệu.
Quản trị viên cơ sở dữ liệu (DBA) có thể sử dụng Real-Time ADDM để phân tích hiệu suất cơ sở dữ liệu tự động, ví dụ, trong trường hợp bạn không thể đăng nhập vào cơ sở dữ liệu vì cơ sở dữ liệu đang ở trạng thái treo và chạy chậm do các vấn đề hiệu suất. Trong tình huống như vậy, Real-Time ADDM xác định nguồn tranh chấp SQL trên các tài nguyên toàn cục.
Real-Time ADDM cũng thực hiện tất cả phân tích thời gian cơ sở dữ liệu thực tế như ADDM. Khi bạn gọi Real-Time ADDM trên một cơ sở dữ liệu đang trải qua hoạt động cơ sở dữ liệu cao bất thường, nó có thể phát hiện các vấn đề hiệu suất hàng đầu hiện đang ảnh hưởng đến cơ sở dữ liệu và tìm bất kỳ người tiêu dùng chính nào của thời gian cơ sở dữ liệu như các phiên SQL, kết nối ứng dụng, v.v.
Sự khác biệt giữa ADDM và Real-Time ADDM
ADDM được cung cấp như công cụ chẩn đoán hiệu suất cấp độ cơ sở dữ liệu, và Real-Time ADDM là công cụ OEM phiên bản 12c trở lên. Bạn cần OEM sẵn sàng với kết nối đến cơ sở dữ liệu để sử dụng Real-Time ADDM.
Sự khác biệt chính giữa ADDM và Real-Time ADDM là Real-Time ADDM sử dụng kết nối chế độ chẩn đoán (diagnostic-mode connection) để truy cập trực tiếp dữ liệu Lịch sử Phiên hoạt động (ASH) trong Vùng Toàn cục Hệ thống (SGA) của thể hiện cơ sở dữ liệu, bỏ qua kết nối chế độ bình thường và không sử dụng bất kỳ tài nguyên toàn cục nào như latch và hàng đợi hoặc số lượng tài nguyên máy chủ quá mức.
Tại sao sử dụng Real-Time ADDM?
Danh sách sau cung cấp lý do để sử dụng Real-Time ADDM:
- Phân tích hiệu suất cơ sở dữ liệu hiện tại khi nó đang treo hoặc chạy chậm.
- Tìm nguồn tranh chấp nghiêm trọng.
- Thực hiện phân tích thời gian cơ sở dữ liệu để phát hiện các vấn đề hiệu suất hàng đầu.
- Điều hướng kết nối chẩn đoán đến SGA.
- Tránh nhu cầu HANGANALYZE của ORADEBUG (tiện ích trace cơ bản của Oracle Database) để đọc và phân tích các file trace lớn.
HANGANALYZE là gì?
HANGANALYZE là một tùy chọn trong ORADEBUG để xác định chi tiết về các phiên bị treo hoặc chặn. Bằng cách sử dụng tùy chọn HANGANALYZE, DBA có thể kết nối vào cơ sở dữ liệu bị treo và tạo file trace, mà họ có thể đọc hoặc sử dụng với các công cụ phân tích trace để xác định các vấn đề cơ sở dữ liệu bị treo.
Minh họa khắc phục sự cố với Real-Time ADDM
Giả sử bạn đã thiết lập OEM 12c với kết nối đến cơ sở dữ liệu mục tiêu, bạn có thể sử dụng các bước sau để sử dụng phân tích Real-Time ADDM khi thể hiện cơ sở dữ liệu của bạn ở trạng thái treo.
Mở một phiên terminal và thử kết nối với cơ sở dữ liệu. Lưu ý rằng phiên chưa bắt đầu. Với kết nối chưa được thiết lập, bạn không thể đăng nhập vào cơ sở dữ liệu do điều kiện treo như được hiển thị trong hình ảnh sau:
Bây giờ, đi đến OEM và dưới menu Target, chọn Databases for Troubleshooting và tìm kiếm tên cơ sở dữ liệu. Như được hiển thị trong hình ảnh sau, tôi đang tìm kiếm CAC****1P.
Nhấp vào tên cơ sở dữ liệu. Có thể mất một chút thời gian, vì vậy hãy đợi làm mới. Sau một chút, bạn thấy thông báo lỗi được đánh dấu trong hình ảnh sau:
Đối với thể hiện cơ sở dữ liệu này, đây là nơi Real-Time ADDM sẽ rất hữu ích cho quản trị viên cơ sở dữ liệu (DBA) để chẩn đoán tình huống. Hãy bắt đầu sử dụng Real-Time ADDM trên thể hiện cơ sở dữ liệu đó. Từ trang cơ sở dữ liệu, đi đến menu Performance và chọn Real-Time ADDM, điều này đưa bạn đến màn hình được hiển thị trong hình ảnh sau. Trong tình huống này, Real-Time ADDM sử dụng kết nối trực tiếp vì thể hiện đang treo.
Bạn phải sử dụng thông tin đăng nhập SYSDBA cho kết nối Real-Time ADDM trong tình huống treo, như được hiển thị trong hình ảnh sau:
(Picture5.png)
Sau khi kết nối chế độ chẩn đoán được thiết lập, bạn có thể đọc dữ liệu ASH trực tiếp trong bộ nhớ, bắt đầu từ giờ trước. Sau khi đăng nhập, bạn có thể xem hoạt động hàng đầu ở đầu chương trình hoạt động như được hiển thị trong hình ảnh sau:
Bạn có thể thấy vấn đề đang gây ra việc cơ sở dữ liệu treo. Trong ví dụ này, nó liên quan đến lớp trọng số ứng dụng (application weight class). Để đối phó với tình huống này, bạn cần bắt đầu chẩn đoán để có thêm thông tin chi tiết về vấn đề. Nhấp START để khởi động phân tích. Real-Time ADDM nhìn vào 10 phút mẫu ASH trước để xác định các vấn đề. Để dừng sau 10 phút, nhấp STOP. Sau khi hoàn tất, Real-Time ADDM hiển thị các phát hiện dựa trên ưu tiên. Hình ảnh sau chỉ ra phân tích dưới tab Findings.
Trong ví dụ này, nó hiển thị các chuỗi chờ phiên không được giải quyết, gây ra việc cơ sở dữ liệu treo. Khuyến nghị để khắc phục vấn đề được chỉ ra trong hình ảnh sau:
Trong ví dụ này, Real-Time ADDM đã khuyến nghị (như được hiển thị trong hình ảnh trước) rằng bạn kill một phiên cụ thể. Để có thêm thông tin về quy trình cần được chấm dứt, đi đến tab Hang Data, như được hiển thị trong hình ảnh sau:
Nhấp vào Final Blockers để xem tóm tắt phiên chặn. Theo khuyến nghị, kill phiên mà bạn có chi tiết phiên ở cấp độ cơ sở dữ liệu Session ID (SID), Serial #, và OS Process ID. Nếu bạn vẫn không thể đăng nhập vào cơ sở dữ liệu, tùy chọn duy nhất có sẵn là kill OS Process ID. Để làm điều đó, mở một terminal và kill phiên gây ra vấn đề như được hiển thị trong hình ảnh sau:
Sau đó, bạn có thể thấy phiên bị chặn có thể tiếp tục trong cửa sổ phân tích Real-Time ADDM. Bây giờ thử kết nối với kết nối SQL Plus từ terminal, và lần này kết nối thành công như được hiển thị trong hình ảnh sau:
Kết luận
Công cụ Real-Time ADDM từ OEM Cloud Control 12c là một trong những công cụ tốt nhất và nhanh nhất của Oracle để hỗ trợ chẩn đoán sức khỏe cơ sở dữ liệu quan trọng. Trong trường hợp cơ sở dữ liệu bị treo, Real-Time ADDM trở thành hỗ trợ xác định, hiệu quả của DBA, đặc biệt khi so sánh với việc sử dụng hạn chế của ADDM, và tiện ích trace HANGANALYZE của ORADEBUG. Bạn có thể áp dụng các bước trước đó để khắc phục các vấn đề cơ sở dữ liệu hoặc phiên bị treo của bạn để đưa cơ sở dữ liệu của bạn lên và chạy.
Sử dụng tab Feedback để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi nào.