java_pool和参数设置不一样?

[复制链接]
查看11 | 回复6 | 2010-6-1 00:01:32 | 显示全部楼层 |阅读模式
SQL> select pool, sum(bytes)/1024/1024 Mbytes from v$sgastat group by pool;
POOL
MBYTES
----------- ----------
java pool 16
large pool
16
shared pool176

515.949295

参数里面是是 *.java_pool_size=15829120 (15M)
数据库版本是
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.5.0 - 64bit Production
PL/SQL Release 9.2.0.5.0 - Production
CORE9.2.0.6.0 Production
TNS for Solaris: Version 9.2.0.5.0 - Production
NLSRTL Version 9.2.0.5.0 - Production
[ 本帖最后由 xin2v 于 2009-10-21 16:43 编辑 ]
回复

使用道具 举报

千问 | 2010-6-1 00:01:32 | 显示全部楼层
至少一个granule大小。
Granule size is determined by total SGA size. On most platforms, the size of a granule is 4 MB if the total SGA size is less than 128 MB, and it is 16 MB for larger SGAs. There may be some platform dependency, for example, on 32-bit Windows NT, the granule size is 8 MB for SGAs larger than 128 MB.
回复

使用道具 举报

千问 | 2010-6-1 00:01:32 | 显示全部楼层
那么如何查看granule大小 如果我的平台是
# cat /etc/release

Solaris 8 2/04 s28s_hw4wos_05a SPARC
Copyright 2004 Sun Microsystems, Inc.All Rights Reserved.

Assembled 08 January 200
还有 如果 是因为 granule 让他们大小相错1M
那么large pool 显示的大小 和其参数*.large_pool_size=16777216 (16M)是一样的 又为什么?
9i share pool真正的大小=shared_pool_size+overhead
所以上面查看到shared pool是176M 真正系统参数设置是*.shared_pool_size=134217728big
在oracle10g以前的版本中,当我们分配share_pool_size时,实际上在数据库启动时还会额外加上sga内部使用的内存开销。也就是说如果你设置shared_pool_size为64M,内部sga开销为12M,则shared pool实际占用内存空间为76M(虽然仍然显示是64M)
SQL> select pool, sum(bytes)/1024/1024 Mbytes from v$sgastat group by pool;
POOL
MBYTES
----------- ----------
java pool 16
large pool
16
shared pool176
其参数设置为 *.shared_pool_size=134217728big 相错可不止1M ??????!!!!
[ 本帖最后由 xin2v 于 2009-10-21 16:26 编辑 ]
回复

使用道具 举报

千问 | 2010-6-1 00:01:32 | 显示全部楼层
问题二
*.db_32k_cache_size=102400000 -----参数里面设置是
查看
SQL>show parameter size;
NAME
TYPEVALUE
------------------------------------ ----------- ------------------------------
bitmap_merge_area_size
integer 1048576
create_bitmap_area_size
integer 8388608
db_16k_cache_size
big integer 0
db_2k_cache_size
big integer 0
db_32k_cache_size
big integer 117440512
db_4k_cache_size
big integer 0
db_8k_cache_size
big integer 0
db_block_size
integer 8192
db_cache_size
big integer 419430400
db_keep_cache_size
big integer 0
db_recycle_cache_size
big integer 0
这个是否也是同理?
[ 本帖最后由 xin2v 于 2009-10-21 16:21 编辑 ]
回复

使用道具 举报

千问 | 2010-6-1 00:01:32 | 显示全部楼层
说了以granule为单位,至少一个granule大小,也就是至少16MB,其余是16的倍数。你large_pool设置为16m,还会怎么改?
SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describ
FROM SYS.x$ksppi x, SYS.x$ksppcv y
WHERE x.inst_id = USERENV ('Instance')
AND y.inst_id = USERENV ('Instance')
AND x.indx = y.indx
AND x.ksppinm LIKE '%_ksmg_granule_size%'
/
回复

使用道具 举报

千问 | 2010-6-1 00:01:32 | 显示全部楼层
tam509非常感谢
你的话让我忽然想起 eagle的书 深入浅出oracle 关于SGA一章 上写的东西 我去找找
[ 本帖最后由 xin2v 于 2009-10-21 16:42 编辑 ]
回复

使用道具 举报

千问 | 2010-6-1 00:01:32 | 显示全部楼层



我也是从那本书上学的这个知识。
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行