Oracle一直不停的在為Orace數據庫的自動化管理努力着,11G中的自動內存管理是Oracle數據庫中又一新的里程碑,通過新參數MEMORY_TARGET
來代替PGA和SGA的配置,ORACLE在運行過程中會自動調節PGA和SGA的大小,跟10G中SGA自動管理的方法基本一直。MEMORY_TARGET參數
可支持動態修改,同樣的MEMORY_TARGET也有一個限制最大內存分配的參數:MEMORY_MAX_TARGET,這個跟SGA_TARGET和
SGA_MAX_TARGET的關系一樣。
啟用內存自動管理
- DBCA創建數據庫的過程中可直接設置MEMORY_TARGET參數
- 數據庫創建完成后,可通過以下方式手動配置MEMORY_TARGET
ALTER SYSTEM SET MEMORY_TARGET = 256M; ALTER SYSTEM SET SGA_TARGET = 0; ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 0;
后兩步是禁用SGA和PGA的自動管理. 讓ORACLE對內存實行自動調節. 還可以設置MEMORY_MAX_TARGET參數限制Oracle可自動分配的最大
內存.該參數不能動態調整,調整后需要重新啟動數據庫.正確設置MEMORY_MAX_TARGET參數的方法:
ALTER SYSTEM SET MEMROY_MAX_TARGET=256M SCOPE=SPFILE;
查看MEMORY_TARGET內存的設置情況:
SQL> show parameter target
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ archive_lag_target integer 0 db_flashback_retention_target integer 1440 fast_start_io_target integer 0 fast_start_mttr_target integer 0 memory_max_target big integer 256M memory_target big integer 256M pga_aggregate_target big integer 0 sga_target big integer 0