PGA (Program Global Area) là một khu vực bộ nhớ được cấp phát riêng cho mỗi session trong Oracle Database. Nó lưu trữ dữ liệu và thông tin điều khiển cần thiết cho hoạt động của session đó, bao gồm:
- Private SQL Area: Lưu trữ các đối tượng được sử dụng bởi một session cụ thể, chẳng hạn như:
- Cấu trúc dữ liệu được tạo ra khi Oracle phân tích cú pháp một câu lệnh SQL.
- Dữ liệu được trả về bởi các truy vấn SQL.
- Biến cục bộ được sử dụng bởi các chương trình PL/SQL.
- Sort Area: Lưu trữ dữ liệu được sử dụng khi Oracle sắp xếp dữ liệu.
- Work Area: Lưu trữ dữ liệu tạm thời được sử dụng bởi Oracle.
- Other Components: PGA cũng bao gồm một số thành phần khác, chẳng hạn như:
- Execution Context: Lưu trữ thông tin về trạng thái thực thi của một tiến trình.
- Call Stack: Lưu trữ thông tin về các lời gọi thủ tục được lồng vào nhau.
- Trace Data: Lưu trữ dữ liệu theo dõi cho các hoạt động của session.
Vai trò của PGA:
- Cung cấp một khu vực bộ nhớ riêng cho mỗi session để lưu trữ dữ liệu và thông tin điều khiển.
- Giúp cải thiện hiệu suất truy cập dữ liệu cho các session.
- Giảm thiểu sự tranh chấp bộ nhớ giữa các session.
- Cung cấp khả năng bảo mật cho dữ liệu của mỗi session.
Kích thước PGA:
Kích thước PGA được điều chỉnh tự động bởi Oracle. Kích thước tối ưu của PGA phụ thuộc vào nhiều yếu tố, bao gồm:
- Khả năng sử dụng bộ nhớ của hệ thống
- Số lượng session đang hoạt động
- Loại truy vấn được thực hiện
Quản trị PGA:
Quản trị PGA thường ít cần thiết hơn quản trị SGA. Tuy nhiên, DBA có thể theo dõi hiệu suất của PGA và điều chỉnh kích thước của nó nếu cần thiết.