数据字典系统表主要由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, ' _', ' ')
/来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27425054/viewspace-768172/ ,如需转载,请注明出处,否则将追究法律责任。