Total System Global Area 2137886720 bytes
Fixed Size 2177456 bytes
Variable Size 1241515600 bytes
Database Buffers 889192448 bytes
Redo Buffers 5001216 bytes
数据库装载完毕。
数据库已经打开。
SQL> show parameter memory
NAME TYPE VALUE
------------------------------------ ----------- ---------
hi_shared_memory_address integer 0
memory_max_target big integer 2G
memory_target big integer 2G
shared_memory_address integer 0
SQL> alter system set memory_target=2100m scope=spfile;
Total System Global Area 2204696576 bytes
Fixed Size 2177616 bytes
Variable Size 1308624304 bytes
Database Buffers 889192448 bytes
Redo Buffers 4702208 bytes
数据库装载完毕。
数据库已经打开。
SQL> show parameter memory
NAME TYPE VALUE
------------------------------------ ----------- ---------
hi_shared_memory_address integer 0
memory_max_target big integer 2112M
memory_target big integer 2112M
shared_memory_address integer 0
修改memory_max_target参数
SQL> alter system set memory_max_target=2200m scope=spfile;
Total System Global Area 2304909312 bytes
Fixed Size 2177856 bytes
Variable Size 1409287360 bytes
Database Buffers 872415232 bytes
Redo Buffers 21028864 bytes
数据库装载完毕。
数据库已经打开。
SQL> show parameter memory
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address integer 0
memory_max_target big integer 2208M
memory_target big integer 2112M
shared_memory_address integer 0
SQL> alter system set memory_target=2230m scope=spfile;
系统已更改。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORA-00837: Specified value of MEMORY_TARGET greater than MEMORY_MAX_TARGET
鄙视自己一下!
还原之前的spfile之后,也就是数据库刚刚建立时的spfile,查询v$spparameter发现memory_max_target这个值暂时没有值,这应该也是修改memory_target不受控制的原因吧。
SQL> col value for a30
SQL> col name for a30
SQL> select name,value from v$spparameter where name like '%memory_%';
NAME VALUE
------------------------------ ------------------------------
shared_memory_address
hi_shared_memory_address
memory_target 2147483648
memory_max_target