查看到Oracle定义的隐含参数


在sqlplus中使用show parameter xx可以查看到Oracle定义的参数, 它是通过查询v$parameter获得的。 另外Oracle中还有一些隐含的参数 无法直接通过show parameter的方式查询。

  我们查看select * from v$parameter的执行计划

  SQL> set autotrace traceonly;

  SQL> select * from v$parameter;

  已选择288行。

  执行计划

告诉我们实际上参数来源于2张表x$ksppcv  x$ksppi

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, ' _', ' ')

修改隐含参数时,

alter system set "parameter_name"=value scope=both sid='*';

  有些可以在memory而有些仅仅可以通过spfile更改, 尝试一下就知道了

  需要注意的是一定要加上双引号, 另外引号内不能有空格, 只能包含参数的名字

相关内容