ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【parameter】oracle的隐含参数的查看

【parameter】oracle的隐含参数的查看

原创 Linux操作系统 作者:ballontt 时间:2013-08-09 20:23:00 0 删除 编辑

数据字典系统表主要由4部分组成:
1.内部RDBMS表:x$……
2.数据字典表:……$
3.动态性能视图:gv$……,v$……
4.数据字典视图:user_……,all_……,dba_……
数据库启动时,动态创建x$,在X$基础上创建GV$,在GV$基础上创建V$    (X$表-->GV$(视图)--->V$(视图))

oracle中视图v$parameter由x$ksppi和x$ksppcv两个表连接查询得到。
隐含参数以"_"开头,核心部分,用于跟踪内部数据库信息,维持DB的正常运行,是加密命名的,不允许sysdba以外的用户直接访问,显示授权不被允许。最好不要修改,但有些参数因功能强大,而被用户研究使用。
其可以在x$ksppi和x$ksppcv两个表中查到。

SYS@PROD> desc x$ksppi
 Name                   Null?    Type
 ---------------------- -------- -----------
 ADDR                            RAW(4)         ----- 内存地址
 INDX                            NUMBER         ----- 序号,从0开始
 INST_ID                         NUMBER        	----- 实例编号
 KSPPINM                         VARCHAR2(80)	----- 参数名称
 KSPPITY                         NUMBER		----- 参数类型。 1:boolean 2:string 3:number 4:file
 KSPPDESC                        VARCHAR2(255)	----- 参数描述
 KSPPIFLG                        NUMBER		----- 参数标志字段,说明是isses_modifiable or issys_modifiable
 KSPPILRMFLG                     NUMBER		----- 
 KSPPIHASH                       NUMBER		----- 参数对应的hash值
	
SYS@PROD> desc x$ksppcv
 Name                   Null?   Type
 -------------------- --------  ------------
 ADDR                           RAW(4)		----- 内存地址
 INDX                           NUMBER		----- 序号,从0开始
 INST_ID                        NUMBER		----- 实例编号
 KSPPSTVL                       VARCHAR2(512)	----- 参数的值
 KSPPSTDVL                      VARCHAR2(512)	----- 参数的默认值
 KSPPSTDF                       VARCHAR2(9)	----- 是否启用默认值
 KSPPSTVF                       NUMBER		----- 参数标志字段,说明是isses_modifiable or issys_modifiable
 KSPPSTCMNT                     VARCHAR2(255)	----- commen

通过如下查询,可以友好的显示出参数的查询结果:

set lines 130
column name format a30
column value format a25
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 and
  x.ksppinm like '%_&par%'
order by
  translate(x.ksppinm, ' _', ' ')
/

ballontt
2013/8/9
---The End---

如需转载,请标明出处和链接,谢谢!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27425054/viewspace-768172/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-08-06

  • 博文量
    28
  • 访问量
    107422