阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

如何根据v$parameter查询Oracle隐含参数

121次阅读
没有评论

共计 1458 个字符,预计需要花费 4 分钟才能阅读完成。

Oracle 的隐含参数在 Oracle 的官方文档中是不会出现的,这些参数主要是 Oracle 内部用于控制某些功能的开关,或者就像今天 eygle 讲的,Oracle 牛逼之处就是可能几年前开发的一个功能就放到当时的版本中,让你“试用”,但你却不知道,如果碰巧因为遇见了这个问题的 bug,Oracle 会告诉你可以使用这个参数关掉,等用户“试用”了几年之后,相对来说稳定了,Oracle 发布新版本,说推出了一个新功能,且稳定运行了 N 年…

那么如何知道某个隐含参数是何含义、全称是什么、默认值是什么?这里至少有两种方法是之前 eygle 和 secooler 大师在书中或课堂上介绍过的,记录于此,便于查询。

方法一:通过 vfixedviewdefinition 视图得到视图定义。我们知道查询常规参数可以使用 select?fromvparameter,那么 v$parameter 是如何定义的?
如何根据 v$parameter 查询 Oracle 隐含参数

看到其来自于这个 GV$PARAMETER 视图,继续查:
如何根据 v$parameter 查询 Oracle 隐含参数

可以看出其来自于两个 X 内部表 XKSPPI 和 X$KSPPCV 的查询结果,网上搜了一些介绍:
引自 http://blog.csdn.net/cupid1102/article/details/50427308

X$KSPPCV 用以记录当前的设置的值,及是否使用了缺省值等信息 
ADDR RAW(4) –内存地址 
INDX NUMBER –序号,从 0 开始 
INST_ID NUMBER 
KSPPINM VARCHAR2(64) –参数名称 
KSPPITY NUMBER 
KSPPDESC VARCHAR2(64) –描述

X$KSPPI 则是一个基础表,用于记录参数名、参数说明等简单的信息。
ADDR RAW(4) –内存地址 
INDX NUMBER –序号,从 0 开始 
INST_ID NUMBER –instance number 
KSPPSTVL VARCHAR2(512) –当前值 
KSPPSTDF VARCHAR2(9) –缺省值 
KSPPSTVF NUMBER –标志字段,用来说明(‘Modified’or‘System Modified’or 
is_adjusted) 
KSPPSTCMNT VARCHAR2(255) –comment

根据需求,可以调整下上述 SQL 语句,检索隐含参数名称、当前值、描述等几个关键信息,可以用 like 查询精确找出某个特殊的隐含参数,例如这输入了_partition 开头的隐含参数名称:
如何根据 v$parameter 查询 Oracle 隐含参数

查询结果如下,有两个_partition 开头的隐含参数:
如何根据 v$parameter 查询 Oracle 隐含参数

方法二:使用 trace 查看执行计划。
首先设置 set autot trace,然后执行:
如何根据 v$parameter 查询 Oracle 隐含参数

可以看见这条 SQL 底层是使用了两个 X$ 内部表的全表扫描,这两个表就是上述方法一种介绍的内部表。再看谓词部分,有一些过滤查询条件,是使用 NOT LIKE 过滤了”_”开头的 ksppinm 参数名称,即过滤了隐含参数,根据方法一中介绍的表字段定义,可以拼接出自己想要的查询语句,查询出隐含参数和非隐含参数。

网上还有人通过改造,可以让 show parameter 命令显示出隐含参数,原理基本都是这些,有些技巧性的东西如果有兴趣找时间可以学习一下。

总结
对于视图等封装结构,可以通过执行计划,找出其基表,为探究其深入的原理提供了手段方法。

更多 Oracle 相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-05/131840.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1458字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中