因為memory_max_target的默認值就為0,即不啟動自動內存管理。
所以說直接在EM中不啟動“自動內存管理”,啟動是沒有問題的,當然,如果手動在pfile中設置為0,啟動會報錯,因為target 的不能大於max_target的數字。
就也與文檔對應。
You omit MEMORY_MAX_TARGET
Include a value for MEMORY_TARGET
The database automatically sets MEMORY_MAX_TARGET to the value of MEMORY_TARGET
如果A對,對應的C就錯了,
SQL> show parameter memory
NAME TYPE VALUE
------------------------------------ ---------------------- -----------------
hi_shared_memory_address integer 0
memory_max_target big integer 0
memory_target big integer 0
shared_memory_address integer 0
SQL>
SQL>
SQL> alter system set memory_target = 500m scope = spfile;
系统已更改。
SQL> alter system set pga_aggregate_target = 90m scope = spfile;
系统已更改。
SQL> alter system set sga_target = 270m scope = spfile;
系统已更改。
SQL> startup nomunt force;
SP2-0714: 无效的 STARTUP 选项组合
SQL> startup nomount force;
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE 例程已经启动。
Total System Global Area 521936896 bytes
Fixed Size 2282832 bytes
Variable Size 415238832 bytes
Database Buffers 96468992 bytes
Redo Buffers 7946240 bytes
SQL> show parameter memory
NAME TYPE VALUE
------------------------------------ ---------------------- -----------------
hi_shared_memory_address integer 0
memory_max_target big integer 500M
memory_target big integer 500M
shared_memory_address integer 0
SQL>
SQL> show parameter memory
NAME TYPE VALUE
------------------------------------ ---------------------- ----------------------------
hi_shared_memory_address integer 0
memory_max_target big integer 0
memory_target big integer 0
shared_memory_address integer 0
SQL>
SQL> alter system set memory_max_target = 0 scope = spfile;
系统已更改。
SQL> alter system set memory_target = 500m scope = spfile;
系统已更改。
SQL> alter system set pga_aggregate_target = 90m scope = spfile;
系统已更改。
SQL> alter system set sga_target = 270m scope = spfile;
系统已更改。
SQL> startup nomount force;
ORA-00837: Specified value of MEMORY_TARGET greater than MEMORY_MAX_TARGET
SQL>