Thứ Tư, 22 tháng 7, 2020

Cấu hình SGA, PGA theo khuyến cáo của Oracle

1. Khuyến nghị

Theo khuyến nghị của Oracle dành 80% bộ nhớ trên hệ thống cho Oracle Instance, 20% tổng bộ nhớ vật lý cho hệ điều hành và các ứng dụng không phải của Oracle khác

2. Chia bộ nhớ còn lại giữa SGA và PGA:
○ Đối với các hệ thống OLTP, bộ nhớ PGA thường chiếm một phần nhỏ bộ nhớ khả dụng, phần lớn bộ nhớ còn lại cho SGA. 

Oracle khuyến nghị ban đầu dành 20% bộ nhớ khả dụng cho PGA và 80% cho SGA. Do đó, giá trị ban đầu của tham số SGA_TARGET, SGA_MAX_SIZE, PGA_AGGREGATE_TARGET cho hệ thống OLTP có thể được tính như sau:

SGA_TARGET= ( total_mem* 0.8) * 0.8 trong đó total_mem là tổng số lượng bộ nhớ vật lý có sẵn trên hệ thống.

SGA_MAX_SIZE >= SGA_TARGET (tôi thường đặt bằng nhau)

PGA_AGGREGATE_TARGET= ( total_mem* 0.8) * 0.2 trong đó total_mem là tổng số lượng bộ nhớ vật lý có sẵn trên hệ thống.

Ví dụ: Máy chủ có 100 GB RAM (là tham số total_mem) thì 80GB (tương đương 80%) cho bộ nhớ (memory), SGA = 80%*80GB = 64GB, PGA = 20%*80GB=16GB

○ Đối với các hệ thống DSS/DWH chạy các truy vấn lớn, chiếm nhiều bộ nhớ, bộ nhớ PGA thường có thể sử dụng tới 70% bộ nhớ khả dụng. 

Oracle khuyến nghị ban đầu dành 50% bộ nhớ khả dụng cho PGA và 50% cho SGA. Do đó, giá trị ban đầu của tham số PGA_AGGREGATE_TARGET cho hệ thống DSS/DWH có thể được tính như sau:

SGA_TARGET= ( total_mem* 0.8) * 0.5 trong đó total_mem là tổng số lượng bộ nhớ vật lý có sẵn trên hệ thống.

SGA_MAX_SIZE >= SGA_TARGET (tôi thường đặt bằng nhau)

PGA_AGGREGATE_TARGET= ( total_mem* 0.8) * 0.5 trong đó total_memtổng số lượng bộ nhớ vật lý có sẵn trên hệ thống.

Ví dụ: Máy chủ có 100 GB RAM (là tham số total_mem) thì 80GB (tương đương 80%) cho bộ nhớ (memory), SGA = 50%*80GB = 40GB, PGA = 50%*80GB=40GB


3. LƯU Ý

Trong quá trình chạy thực tế nhiều ứng dụng chạy vừa OLTP vừa chạy DSS/DWH/Report nên theo dõi để điều chỉnh cho phù hợp với thực tế. Sử dụng AWR để theo dõi để tối ưu tham số hiệu quả

4. THAM KHẢO:



@ Trần Văn Bình - Founder of "Oracle DBA Việt Nam" #OracleTutorial #OracleDBA #OracleDatabaseAdministration #học oracle database #oca #ocp #oce #ocm

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master