SGA区为什么不能动态改了涅?

[复制链接]
查看11 | 回复9 | 2006-4-17 13:46:34 | 显示全部楼层 |阅读模式
使用alter system命令直接改sga区中改小db_cache_size的大小。命令执行成功。但是用show sga或者查参数都还是原来的大小,没有变哦。
俺用的是solaris8操作系统,9204的oracle。
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
SQL> show parameter db_cache
NAME
TYPEVALUE
------------------------------------ ----------- ------------------------------
db_cache_advice
stringON
db_cache_size
big integer 12582912
SQL> show sga
Total System Global Area 68229684 bytes
Fixed Size
453172 bytes
Variable Size
54525952 bytes
Database Buffers 12582912 bytes
Redo Buffers
667648 bytes
SQL> alter system set db_cache_size=8m;
系统已更改。
SQL> show sga
Total System Global Area 68229684 bytes
Fixed Size
453172 bytes
Variable Size
58720256 bytes
Database Buffers
8388608 bytes
Redo Buffers
667648 bytes
SQL> show parameter db_cache
NAME
TYPEVALUE
------------------------------------ ----------- ------------------------------
db_cache_advice
stringON
db_cache_size
big integer 8388608
SQL>
所以是有效的。
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
alter system set xxx=xxx scope=spfile,只在spfile参数文件修改,要重启数据库修改才生效
alter system set xxx=xxx scope=both,既修改当前实例,又在spfile参数文件修改.
alter system set xxx=xxx scope=memory只修改当前实例,不在spfile参数文件做修改
另外,修改静态参数,scope只能是指定spfile,否则会报错,要重启才能生效.
如果不指定scope,默认是both.
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
xuex
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
hehe,所以这正是我搞不懂的地方。我记得在其他机器上有改过是可以的。唯独在solaris上,改了却不生效了
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
你象2楼一样,操作,然后贴出来让大家看看。
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
俺改的是large_pool_size
SQL> show sga
Total System Global Area202868968 bytes
Fixed Size
731368 bytes
Variable Size
184549376 bytes
Database Buffers 16777216 bytes
Redo Buffers
811008 bytes
SQL> alter system set large_pool_size=0m;
System altered.
SQL> show sga
Total System Global Area202868968 bytes
Fixed Size
731368 bytes
Variable Size
184549376 bytes
Database Buffers 16777216 bytes
Redo Buffers
811008 bytes
SQL> show parameter large
NAME
TYPE
------------------------------------ ----------------------
VALUE
------------------------------
large_pool_size
big integer
16777216
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
有很多参数你想把它设置为0是不可能的! large_pool_size 只要在几个条件下才能为0,例如:db_io_slave为0,还有不能是shared sever等 记不清了,看oracle文档吧
类似的还有java_pool_size,设成0,没戏!
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
java_pool_size设为0好像建库都有问题!?
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
最初由 andyxu 发布
[B]java_pool_size设为0好像建库都有问题!? [/B]

第一你没有办法将它设置为0,
第二 java_pool_size太小,在进行建库的时候,建库程序本身就是一个java程序,需要一下java 池空间,太小就导致程序出错。 类似的情况,就是进行db升级,例如从9201到9206,在升级时,必须将java池设置为117M左右,然后才能保证成功(主要在最后运行编译pl/sql包的2步)。我们可以在升级成功后,在把java池改下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行