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 1 GB, and granule size is 16MB for larger
SGAs. Some platform dependencies arise. For example, on 32-bit Windows, the
granule size is 8 M for SGAs larger than 1 GB.
问题:db_cache_size在修改前的value是52M,执行了修改db_cache_size参数为50M后,再查看发现值还是52M未变成新值50M。
SQL> show parameter db_cache_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_cache_size big integer 52M
SQL> alter system set db_cache_size=50M;
System altered.
SQL> show parameter db_cache_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_cache_size big integer 52M
SQL>
问题分析:这是由于oracle中SGA大小是523108352 bytes=0.49G,因SGA小于1G,则db_cache_size的value需是4M的倍数,修改的db_cache_size=50M不是4M的倍数,因此修改未生效。
解决办法:修改db_cache_size的value为4M的倍数即可。
例:SQL> show parameter db_cache_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_cache_size big integer 52M
SQL> alter system set db_cache_size=56M;
System altered.
SQL> show parameter db_cache_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_cache_size big integer 56M
SQL>
转载于:https://blog.51cto.com/yunan/912564