Oracle
無法關閉自動記憶體管理 (AMM)
我在 Red Hat linux 6 上執行 oracle 11.2.0.4 SE RAC,數據庫使用 ASM 進行數據文件管理
我一直在嘗試打開 AMM 並設置以下參數
alter system set pga_aggregate_target='0' scope=spfile sid='*'; alter system set sga_target='0' scope=spfile sid='*'; alter system set memory_max_target='8G' scope=spfile sid='*'; alter system set memory_target='8G' scope=spfile sid='*';
但現在我想關閉實例和數據庫上的 AMM,但是當我進行所需的更改時
alter system set pga_aggregate_target=2G scope=spfile sid='*'; alter system set sga_target=6G scope=spfile sid='*'; alter system set memory_max_target=0 scope=spfile sid='*'; alter system set memory_target=0 scope=spfile sid='*';
我在啟動實例時收到此錯誤
SQL> startup pfile='?/dbs/initdev12.ora'; ORA-00843: Parameter not taking MEMORY_MAX_TARGET into account ORA-00849: SGA_TARGET 6442450944 cannot be set to more than MEMORY_MAX_TARGET 0. ORA-01078: failure in processing system parameters
如果我將 MEMORY_MAX_TARGET 設置回 8G,我可以啟動數據庫,但我的參數現在看起來像這樣
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ lock_sga boolean FALSE pre_page_sga boolean FALSE sga_max_size big integer 6G sga_target big integer 6G SQL> show parameter memory NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ hi_shared_memory_address integer 0 memory_max_target big integer 8208M memory_target big integer 0 shared_memory_address integer 0 SQL> show parameter pga NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ pga_aggregate_target big integer 2G
任何想法我做錯了什麼?
乾杯戴夫
如果不想使用 AMM
MEMORY_MAX_TARGET
設置,則根本不需要設置:alter system reset memory_target; alter system reset memory_max_target;
請注意,您正在嘗試從(使用)啟動數據庫,您在使用命令
pfile
時更改了值:spfile
- 您可以編輯
pfile
並將以下參數設置為0
memory_target
memory max target
- 然後設置以下值
sga_max_size
sga_target
pga_aggregate_target
- 關閉所有實例並使用
pfile
- 創建一個新的
spfile
:create spfile from pfile;
- 啟動所有實例