ORA-00845 MEMORY_TARGET not supported on this system
Lỗi ORA-00845: MEMORY_TARGET not supported on this system xuất hiện khi bạn cố gắng thiết lập tham số MEMORY_TARGET trong Oracle Database trên một hệ thống không hỗ trợ tính năng tự động quản lý bộ nhớ (Automatic Memory Management – AMM). Điều này thường xảy ra trên các hệ điều hành không hỗ trợ tệp hệ thống /dev/shm hoặc khi tệp hệ thống /dev/shm không đủ dung lượng.
CÁC BƯỚC KHẮC PHỤC
Kiểm tra dung lượng /dev/shm:
Trên hệ điều hành Linux, bạn có thể kiểm tra dung lượng của tmpfs (thường được gắn kết tại /dev/shm) bằng lệnh:
df -h /dev/shm
[oracle@localhost ~]$ df -h /dev/shm
Filesystem Size Used Avail Use% Mounted on
tmpfs 6.2G 0 6.2G 0% /dev/shm
Tăng dung lượng /dev/shm:
Nếu dung lượng /dev/shm không đủ, bạn có thể tăng dung lượng bằng cách chỉnh sửa tệp /etc/fstab. Mở tệp này và thêm hoặc sửa dòng sau:
vi /etc/fstab
## thêm vào cuối file
tmpfs /dev/shm tmpfs defaults,size=20G 0 0
Sau đó, remount tmpfs để thay đổi có hiệu lực:
mount -o remount /dev/shm
Kiểm tra lại tham số MEMORY_TARGET và MEMORY_MAX_TARGET:
Đảm bảo rằng giá trị của MEMORY_TARGET và MEMORY_MAX_TARGET không vượt quá dung lượng của /dev/shm.
show parameter MEMORY_TARGET show parameter MEMORY_MAX_TARGET
Như vậy là đã xong việc khắc phục lỗi bên trên =>> hệ thống chạy bình thường
Ngoài ra, bonus thêm về việc cấu hình bộ nhớ Memory_target
Bạn có thể kiểm tra và thiết lập lại các tham số MEMORY này trong Oracle Database như sau:
ALTER SYSTEM SET MEMORY_TARGET = 10G SCOPE=SPFILE; ALTER SYSTEM SET MEMORY_MAX_TARGET = 10G SCOPE=SPFILE;
Sử dụng tham số SGA_TARGET và PGA_AGGREGATE_TARGET thay vì MEMORY_TARGET:
Nếu hệ thống của bạn không hỗ trợ AMM, bạn có thể quản lý bộ nhớ theo cách thủ công bằng cách sử dụng các tham số SGA_TARGET và PGA_AGGREGATE_TARGET thay vì MEMORY_TARGET.
ALTER SYSTEM SET SGA_TARGET = 10G SCOPE=SPFILE; ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 6G SCOPE=SPFILE; SHUTDOWN IMMEDIATE; STARTUP;
Khởi động lại hệ thống để Apply thay đổi