Active Session History (ASH) là một thành phần của Oracle Database nhằm thu thập thông tin về các phiên hoạt động (active sessions) tại các thời điểm cụ thể. ASH là một phần của Automatic Workload Repository (AWR) và cung cấp dữ liệu chi tiết về hoạt động của cơ sở dữ liệu, giúp DBA phân tích và khắc phục các vấn đề về hiệu suất.
Các Khái Niệm Chính Về ASH
- Phiên Hoạt Động (Active Session): Một phiên được coi là hoạt động nếu nó đang tiêu thụ tài nguyên CPU hoặc đang chờ tài nguyên (chẳng hạn như I/O, khóa, v.v.).
- Ảnh Chụp (Snapshot): ASH thu thập mẫu của các phiên hoạt động mỗi giây và lưu trữ chúng trong bộ nhớ (V$ACTIVE_SESSION_HISTORY). Một phần dữ liệu này cũng được lưu trữ lâu dài trong AWR.
Lợi Ích của ASH
- Chi Tiết: Cung cấp thông tin chi tiết về từng phiên hoạt động.
- Lịch Sử Ngắn Hạn: ASH lưu trữ dữ liệu chi tiết ngắn hạn về hoạt động của các phiên, giúp phân tích nhanh các vấn đề hiệu suất mà không cần phải xem toàn bộ dữ liệu của AWR.
- Phân Tích Chờ Đợi: Giúp xác định các sự kiện chờ đợi và nguyên nhân gốc rễ của các vấn đề hiệu suất.
Các Bảng và View Liên Quan Đến ASH
- V$ACTIVE_SESSION_HISTORY: Chứa dữ liệu ASH trong bộ nhớ.
- DBA_HIST_ACTIVE_SESS_HISTORY: Chứa dữ liệu ASH được lưu trữ lâu dài trong AWR.