平台人生
作者平台人生·2017-10-31 09:34
软件开发工程师·平台人生

Oracle数据库隐含参数介绍

字数 1251阅读 4883评论 0赞 1

作者:胡淮杨


隐含参数是数据库参数名中前缀为“_”的参数,在未作明确设定值的情况下,无法通过简单的show parameter/spparameter查询到设定值。其有如下几个使用原则:
1、隐含参数并不能覆盖所有问题,也不能解决所有问题;
2、只是解决某一特定场景的workaround;
3、必须在测试环境测试验证后才能在生产环境中使用;
4、受应用自身特点,非共性问题,不建议推广;
5、建议经过oracle原厂工程师确认后再使用;

与隐含参数相关的基表,可以通过10046跟踪的方法找到:
微信图片_20171031093005.jpg

微信图片_20171031093005.jpg

微信图片_20171031093010.jpg
微信图片_20171031093010.jpg

如上图可以看到有两张x$开头的基表,分别为x$ksppi(Kernel Service Parameter Parameter Information)和x$ksppcv(Kernel Service Parameter Parameter Current Value),两张基表基本包含了所有的数据库隐含参数。
两张基表的描述分别如下:
微信图片_20171031093041.jpg

微信图片_20171031093041.jpg

微信图片_20171031093044.jpg
微信图片_20171031093044.jpg

获取隐含参数的方法(变量在&name中自行输入):
select a.ksppinm name,b.ksppstdf default_on,b.ksppstvl value,a.ksppdesc description from x$ksppi a,x$ksppcv b where a.indx=b.indx and substr(a.ksppinm,1,1)='_' and a.ksppinm like '%&name%' order by a.ksppinm;
在11.2.0.4.8的数据库版本中,一共包含2500多个隐含参数,且每个数据库版本的隐含参数数量可能会有变化,甚至某些隐含参数在不同版本中的缺省值不同,这是需要特别注意的地方。
以参数中有ADG字样的举例,通过SQL查询,大致判断与ADG相关的隐含参数如下:
微信图片_20171031093130.jpg

微信图片_20171031093130.jpg

隐含参数的用途分类,大致有如下几方面:
协助问题分析
微信图片_20171031093152.jpg
微信图片_20171031093152.jpg

功能特性控制开关
微信图片_20171031093225.jpg
微信图片_20171031093225.jpg

阀值大小设置调整
微信图片_20171031093249.jpg
微信图片_20171031093249.jpg

应急处理及手工控制
微信图片_20171031093316.jpg
微信图片_20171031093316.jpg

根据数据库最优设计及长期运维经验,部分推荐设置的隐含参数如下:
微信图片_20171031093340.jpg
微信图片_20171031093340.jpg

修改隐含参数的设置时,需要用双引号将参数名在等号左边括起来,并使用alter语句进行更改,或者直接在pfile参数文件中进行修改。

综上对隐含参数的描述,总结如下:
1、能用简单方法解决问题就不要把问题复杂化;
2、应谨慎设置任何的隐含参数;
3、需充分了解隐含参数的特性再使用;
4、对于新功能启用,建议评估相关隐含参数的特性机制

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

本文隶属于专栏

作者其他文章

相关文章

相关问题

相关资料

X社区推广