Oracle如何查看隐含参数_绿色软件之家

绿色软件之家:您身边最放心的安全下载站! 最新更新|软件分类|软件专题|手机版|论坛转贴|软件发布

您当前所在位置: 首页数据库Oracle → Oracle如何查看隐含参数

Oracle如何查看隐含参数

时间:2015-06-28 00:00:00 来源:绿色软件之家 作者:网管联盟 我要评论(2)

  我们每次从v$parameter视图中查询参数的时候其实都是通过x$ksppi和x$ksppcv这两个内部视图中得到的。

  这个我们可以通过查看select * from v$parameter的查询计划得以验证:

  SQL> set autot traceonly;

  SQL> select * from v$parameter;

  已选择288行。

  执行计划

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

  Plan hash value: 1128103955

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

  | Id? | Operation?? | Name???? | Rows? | Bytes | Cost (%CPU)| Time???? |

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

  |?? 0 | SELECT STATEMENT? |??? |???? 1 |? 4414 |???? 1 (100)| 00:00:01 |

  |*? 1 |? HASH JOIN? |??? |???? 1 |? 4414 |???? 1 (100)| 00:00:01 |

  |*? 2 |?? FIXED TABLE FULL| X$KSPPI? |???? 1 |?? 249 |???? 0?? (0)| 00:00:01 |

  |?? 3 |?? FIXED TABLE FULL| X$KSPPCV |?? 100 |?? 406K|???? 0?? (0)| 00:00:01 |

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

  这两个Fixed Table的各个字段的解释:

  SQL> desc x$ksppi

  名称?? 是否为空? 类型

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

  ADDR????? RAW(4)???? --内存地址

  INDX????? NUMBER???? --序号,从0开始

  INST_ID?? NUMBER???? --instance number

  KSPPINM?? VARCHAR2(64)???? --参数名称

  KSPPITY?? NUMBER???? --参数类型 1,'boolean' 2,'string', 3,'number',4,'file

  KSPPDESC? VARCHAR2(64)???? --描述

  KSPPIFLG? NUMBER???? --标志字段(用来说明是isses_modifiable or issys_modifiable

  SQL> desc x$ksppcv

  名称??? 是否为空? 类型

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

  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

  由此,就可以通过如下方式查询当前实例的所有隐含参数:

  select

  x.ksppinm? name,

  y.ksppstvl? value,

  y.ksppstdf? isdefault,

  decode(bitand(y.ksppstvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE')? ismod,

  decode(bitand(y.ksppstvf,2),2,'TRUE','FALSE')? isadj

  from

  sys.x$ksppi x,

  sys.x$ksppcv y

  where

  x.inst_id = userenv('Instance') and

  y.inst_id = userenv('Instance') and

  x.indx = y.indx

  order by

  translate(x.ksppinm, ' _', ' ')

  /

关键词标签:Oracle

相关阅读

文章评论
发表评论

热门文章 Oracle中使用alter table来增加,删除,修改列的语法 Oracle中使用alter table来增加,删除,修改列的语法 oracle中使用SQL语句修改字段类型-oracle修改SQL语句案例 oracle中使用SQL语句修改字段类型-oracle修改SQL语句案例 误删Oracle数据库实例的控制文件 误删Oracle数据库实例的控制文件 为UNIX服务器设置Oracle全文检索 为UNIX服务器设置Oracle全文检索

相关下载

    人气排行 oracle中使用SQL语句修改字段类型-oracle修改SQL语句案例 Oracle中使用alter table来增加,删除,修改列的语法 ORACLE SQL 判断字符串是否为数字的语句 ORACLE和SQL语法区别归纳(1) oracle grant 授权语句 ORACLE修改IP地址后如何能够使用 如何加速Oracle大批量数据处理 Oracle删除表的几种方法