zhaojingyuo 发表于 2012-6-24 12:47:43

刚刚安装的oracle11g,修改memory_target不受memory_max_target限制

刚刚创建好的数据库
SQL> startup
ORACLE 例程已经启动。

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;

系统已更改。

SQL> shutdowm immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

很奇怪,启动的时候没有受memory_max_target限制而报错,而且memory_max_target也修改了

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;

系统已更改。

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

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

这次报错了,为什么第一次修改memory_target并且超过了memory_max_target的大小但是却没有报错呢?

zhaojingyuo 发表于 2012-6-24 12:54:53

鄙视自己一下!
还原之前的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

oraunix 发表于 2012-6-26 10:30:04

哈哈,神奇的人啊,拍你一砖
页: [1]
查看完整版本: 刚刚安装的oracle11g,修改memory_target不受memory_max_target限制