重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1361|回复: 0
打印 上一主题 下一主题

[参数设置] DB_nK_CACHE_SIZE参数设置与数据库默认块大小之间的限制

[复制链接]
跳转到指定楼层
楼主
发表于 2023-1-8 17:54:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
"DB_nK_CACHE_SIZE"参数的取值有很多种,有2k、4k、8k、16k、32k。在设置此参数时,我们需要注意的是,与数据库默认的块尺寸相同的那个参数是不能被设定的。例如,如果数据库的默认块尺寸是8k,那么当我们尝试设置“DB_8K_CACHE_SIZE"参数时便会遭遇报错(报错内容:ORA-00380: cannot specify db_8k_cache_size since 8K is the standard block size)。这是由于这个信息已经体现在“db_cache_size"参数上。

​1.查看数据库默认的块大小​

sys@ora10g> show parameter db_block_size



NAME                      TYPE                 VALUE

------------------------- -------------------- -------------

db_block_size             integer              8192



此处显示,数据库的默认块大小是8K。



​2.查看所有与cache size相关的参数​

show parameter cache_size

NAME                      TYPE                 VALUE

------------------------- -------------------- -------------

db_16k_cache_size         big integer          0

db_2k_cache_size          big integer          0

db_32k_cache_size         big integer          0

db_4k_cache_size          big integer          0

db_8k_cache_size          big integer          0

db_cache_size             big integer          0

db_keep_cache_size        big integer          0

db_recycle_cache_size     big integer          0


这里列出了2k、4k、8k、16k、32k多种可设置的参数信息。



​3.尝试调整非数据库默认块大小对应的参数​

alter system set db_16k_cache_size=1m ;

System altered.

show parameter cache_size


NAME                      TYPE                 VALUE

------------------------- -------------------- -------------

db_16k_cache_size         big integer          16M

db_2k_cache_size          big integer          0

db_32k_cache_size         big integer          0

db_4k_cache_size          big integer          0

db_8k_cache_size          big integer          0

db_cache_size             big integer          0

db_keep_cache_size        big integer          0

db_recycle_cache_size     big integer          0



调整成功,注意这里的一个现象,设置的是1M大小,系统会自动将这个数值进行调整,调整的依据是:values greater than zero are automatically modified to be either the user-specified-size rounded up to granule size or 4MB * number of CPUs * granule size, whichever is greater



​4.尝试调整数据库默认块大小对应的参数​

这里我们数据库的默认块大小是8k,因此,这里我们尝试调整“db_8k_cache_size"这个参数。

sys@ora10g> alter system set db_8k_cache_size=1m;

alter system set db_8k_cache_size=1m

*

ERROR at line 1:

ORA-32017: failure in updating SPFILE

ORA-00380: cannot specify db_8k_cache_size since 8K is the standard block size


此处便遇到了“ORA-00380"错误提示。


​5.小结​
当数据库使用非标准块表空间时,“DB_nK_CACHE_SIZE"参数将会派上用场,正所谓特殊场合特殊设置,因此在默认块尺寸下我们毋须设置与之对应的cache参数。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-25 18:47 , Processed in 0.115211 second(s), 21 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表