由db_cache_size引发的性能问题

测试环境有两个db, TEST01(10gR2),TEST02(11gR2)
TEST02是基本上复用了TEST01的参数设置,但是TEST02却报了很多问题,比如查询性能低下。数据库连接不能很快的释放。
今天无意中看到TEST02的sga大小,让我大吃一惊。同样的设置,buffer_cache竟然查了将近20倍。
àTEST01
SQL> show sga
 
Total System Global Area 6442450944 bytes
Fixed Size                  2099752 bytes
Variable Size            3456107992 bytes
Database Buffers         2952790016 bytes
Redo Buffers               31453184 bytes
 
àTEST02
SQL> show sga
 
Total System Global Area 6413680640 bytes
Fixed Size                  2230768 bytes
Variable Size            6207571472 bytes
Database Buffers          167772160 bytes
Redo Buffers               36106240 bytes 

在两个库中db_cache_size都是0,参数都是从10g环境拿过来的。
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_cache_advice                      string      ON
db_cache_size                        big integer 0
查看advice,也都是开的。
最后手动设置了db_cache_size,和原来的buffer cache基本一致。
关于buffer_cache的advice可以使用如下的sql 来参考。
select size_for_estimate,buffers_for_estimate,estd_physical_read_factor,estd_physical_reads
from v$db_cache_advice
where name='DEFAULT'
AND block_size=(select value from v$parameter where name='db_block_size')
AND advice_status='ON';


上一篇:HDU 1506 Largest Rectangle in a Histogram(单调栈)


下一篇:PCIe物理层逻辑部分基础