数据字典系统表主要由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, ' _', ' ')
/
ballontt2013/8/9---The End---
如需转载,请标明出处和链接,谢谢!