[20170502]11G查询隐含参数视图.txt

[20170502]11G查询隐含参数视图GV$SYSTEM_PARAMETER3.txt

--//oracle 存在许多隐含参数,一直以为oracle没有提供正常的视图查询该内容,实际上oracle 11G已经提供这方面的功能,只不过oracle并不公开.
--//自己也是偶然发现:

1.环境:
SYS@book> @ &r/ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

SYS@book> column VIEW_DEFINITION format a120
SYS@book> SELECT * FROM V$FIXED_VIEW_DEFINITION WHERE VIEW_NAME like '%V$SYSTEM_PARAMETER%';
VIEW_NAME                      VIEW_DEFINITION
------------------------------ ------------------------------------------------------------------------------------------------------------------------
GV$SYSTEM_PARAMETER            select x.inst_id,x.indx+1,ksppinm,ksppity,ksppstvl, ksppstdvl, ksppstdf,  decode(bitand(ksppiflg/256,1),1,'TRUE','FALSE'
                               ),  decode(bitand(ksppiflg/65536,3),1,'IMMEDIATE',2,'DEFERRED',                                  3,'IMMEDIATE','FALSE'),
                                 decode(bitand(ksppiflg,4),4,'FALSE',                                     decode(bitand(ksppiflg/65536,3), 0, 'FALSE',
                               'TRUE')),     decode(bitand(ksppstvf,7),1,'MODIFIED','FALSE'),  decode(bitand(ksppstvf,2),2,'TRUE','FALSE'),  decode(bit
                               and(ksppilrmflg/64, 1), 1, 'TRUE', 'FALSE'),  decode(bitand(ksppilrmflg/268435456, 1), 1, 'TRUE', 'FALSE'),  ksppdesc, k
                               sppstcmnt, ksppihash from x$ksppi x, x$ksppsv y  where (x.indx = y.indx) and  bitand(ksppiflg,268435456) = 0 and  ((tran
                               slate(ksppinm,'_','#') not like '##%') and    ((translate(ksppinm,'_','#') not like '#%')      or (ksppstdf = 'FALSE') o
                               r      (bitand(ksppstvf,5) > 0)))

V$SYSTEM_PARAMETER             select  NUM , NAME , TYPE , VALUE , DISPLAY_VALUE,  ISDEFAULT , ISSES_MODIFIABLE , ISSYS_MODIFIABLE , ISINSTANCE_MODIFIA
                               BLE, ISMODIFIED , ISADJUSTED , ISDEPRECATED, ISBASIC, DESCRIPTION, UPDATE_COMMENT, HASH from GV$SYSTEM_PARAMETER where i
                               nst_id = USERENV('Instance')

GV$SYSTEM_PARAMETER2           select x.inst_id,kspftctxpn,ksppinm,ksppity,kspftctxvl,  kspftctxdvl, kspftctxdf,  decode(bitand(ksppiflg/256,1),1,'TRUE
                               ','FALSE'),  decode(bitand(ksppiflg/65536,3),1,'IMMEDIATE',2,'DEFERRED',                                  3,'IMMEDIATE',
                               'FALSE'),  decode(bitand(ksppiflg,4),4,'FALSE',                                     decode(bitand(ksppiflg/65536,3), 0,
                               'FALSE', 'TRUE')),     decode(bitand(kspftctxvf,7),1,'MODIFIED','FALSE'),  decode(bitand(kspftctxvf,2),2,'TRUE','FALSE')
                               ,  decode(bitand(ksppilrmflg/64, 1), 1, 'TRUE', 'FALSE'),  decode(bitand(ksppilrmflg/268435456, 1), 1, 'TRUE', 'FALSE'),
                                 ksppdesc, kspftctxvn,  kspftctxct from x$ksppi x, x$ksppsv2 y  where ((x.indx+1) = kspftctxpn) and  ((translate(ksppin
                               m,'_','#') not like '##%') and    (translate(ksppinm,'_','#') not like '#%'     or (kspftctxdf = 'FALSE') or     (bitand
                               (kspftctxvf,5) > 0)))

V$SYSTEM_PARAMETER2            select  NUM, NAME, TYPE, VALUE, DISPLAY_VALUE, ISDEFAULT, ISSES_MODIFIABLE, ISSYS_MODIFIABLE , ISINSTANCE_MODIFIABLE, IS
                               MODIFIED , ISADJUSTED , ISDEPRECATED, ISBASIC, DESCRIPTION, ORDINAL, UPDATE_COMMENT from GV$SYSTEM_PARAMETER2 where inst
                               _id = USERENV('Instance')

GV$SYSTEM_PARAMETER3           select x.inst_id,x.indx+1,ksppinm,ksppstdvl from x$ksppi x, x$ksppsv y  where (x.indx = y.indx)
GV$SYSTEM_PARAMETER4           select x.inst_id,kspftctxsid,kspftctxpn,ksppinm,ksppity,kspftctxdvl,  kspftctxvn,kspftctxct, ksppilrmflg  from x$ksppi x
                               , x$ksppsv2 y  where ((x.indx+1) = kspftctxpn) and  ((kspftctxdf = 'FALSE') or (bitand(kspftctxvf,8) = 8))

V$SYSTEM_PARAMETER4            select SID, NUM, NAME, TYPE, DISPLAY_VALUE, ORDINAL, UPDATE_COMMENT,  PARAM_FLAG from GV$SYSTEM_PARAMETER4 where INST_id
                                = USERENV('Instance')

7 rows selected.

--//自己看还存在几个视图GV$SYSTEM_PARAMETER3,GV$SYSTEM_PARAMETER4,V$SYSTEM_PARAMETER4 ,很奇怪oracle并没有像往常那样建立V$SYSTEM_PARAMETER3.仅仅存在
--//GV$SYSTEM_PARAMETER3.btw:我查询10.2.0.4版本没有这些视图.
--//很明显GV$SYSTEM_PARAMETER3可以查询全部参数.

2.对比看看:

SYS@book> @ &r/hide _allow_resetlogs_corruption
old  10:  and lower(a.ksppinm) like lower('%&1%')
new  10:  and lower(a.ksppinm) like lower('%_allow_resetlogs_corruption%')
NAME                        DESCRIPTION                                                        DEFAULT_VALUE          SESSION_VALUE          SYSTEM_VALUE
--------------------------- ------------------------------------------------------------------ ---------------------- ---------------------- ----------------------
_allow_resetlogs_corruption allow resetlogs even if it will cause corruption                   TRUE                   FALSE                  FALSE

SYS@book> select * from GV$SYSTEM_PARAMETER4 where name like '%_allow_resetlogs_corruption%';
no rows selected

SYS@book> select * from GV$SYSTEM_PARAMETER3 where name like '%_allow_resetlogs_corruption%';
   INST_ID        NUM NAME                                     DISPLAY_VALUE
---------- ---------- ---------------------------------------- -----------------
         1       1265 _allow_resetlogs_corruption              FALSE

--//奇怪oracle写的为什么不把描述带出来.

3.另外注意一点:

SYS@book> select OWNER,VIEW_NAME  from dba_views where view_name like '%SYSTEM_PARAMETER%';
OWNER  VIEW_NAME
------ ------------------------------
SYS    V_$SYSTEM_PARAMETER
SYS    V_$SYSTEM_PARAMETER2
SYS    GV_$SYSTEM_PARAMETER
SYS    GV_$SYSTEM_PARAMETER2

--//很明显oracle有所隐藏,必须以sys用户执行访问上面3个视图(GV$SYSTEM_PARAMETER3,GV$SYSTEM_PARAMETER4,V$SYSTEM_PARAMETER4)

SCOTT@book> select * from SYS.GV$SYSTEM_PARAMETER4 where name like '%_allow_resetlogs_corruption%';
select * from SYS.GV$SYSTEM_PARAMETER4 where name like '%_allow_resetlogs_corruption%'
                  *
ERROR at line 1:
ORA-00942: table or view does not exist

SCOTT@book> select * from SYS.GV$SYSTEM_PARAMETER3 where name like '%_allow_resetlogs_corruption%';
select * from SYS.GV$SYSTEM_PARAMETER3 where name like '%_allow_resetlogs_corruption%'
                  *
ERROR at line 1:
ORA-00942: table or view does not exist

时间: 2024-09-09 11:35:34

[20170502]11G查询隐含参数视图.txt的相关文章

[20171109]查看隐含参数脚本.txt

[20171109]查看隐含参数脚本.txt --//查看隐含参数的脚本,今天没事修改一下增加查询description字段的内容.也有网友要求提供这个脚本,实际上这些脚本都是自己工作 --//中不断收集整理.网上许多地方都能找到. $ cat hide.sql col name format a40 col description format a66 col session_value format a22 col default_value format a22 col system_va

[20151208]隐含参数_trace_pin_time.txt

[20151208]隐含参数_trace_pin_time.txt --使用隐含参数可以trace how long a current pin is held,作为测试与学习了解oracle内部相关知识. --自己测试看看. 1.测试环境: SYS@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- -------

[20131116]12c的EXTENDED VARCHAR2与隐含参数_scalar_type_lob_storage_threshold.txt

[20131116]12c的EXTENDED VARCHAR2与隐含参数_scalar_type_lob_storage_threshold.txt 参考链接:http://space.itpub.net/267265/viewspace-776806/ google查询了一些资料: 发现:SYS@test01p> @hide _scalar_type_lob_storage_threshold;NAME                                     DESCRIPTI

[20120106]使用bash shell显示隐含参数.txt

我个人喜欢使用putty打开两个窗口,一个执行sql语句,另外一个查看目录user_dump_dest下的trc文件.如果要查询隐含参数,往往要切换sys用户,执行一个脚本: $ cat hide.sqlcol name format a36col description format a66col session_value format a22col default_value format a22col system_value format a22 select   a.ksppinm 

[20140318]隐含参数_db_block_max_cr_dba

[20140318]隐含参数_db_block_max_cr_dba .txt 许多人都知道隐含参数_db_block_max_cr_dba缺省6,可以做一些简单的测试: 1.建立测试环境: SCOTT@test> @ver BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11

Oracle 隐含参数

Oracle 隐含参数 点击(此处)折叠或打开 set pagesize 9999 set line 9999 col NAME format a40 col KSPPDESC format a50 col KSPPSTVL format a20 SELECT a.INDX,        a.KSPPINM NAME,        a.KSPPDESC,        b.KSPPSTVL FROM x$ksppi a,        x$ksppcv b WHERE a.INDX = b.

如何根据v$parameter查询Oracle隐含参数

Oracle的隐含参数在Oracle的官方文档中是不会出现的,这些参数主要是Oracle内部用于控制某些功能的开关,或者就像今天eygle讲的,Oracle牛逼之处就是可能几年前开发的一个功能就放到当时的版本中,让你"试用",但你却不知道,如果碰巧因为遇见了这个问题的bug,Oracle会告诉你可以使用这个参数关掉,等用户"试用"了几年之后,相对来说稳定了,Oracle发布新版本,说推出了一个新功能,且稳定运行了N年- 那么如何知道某个隐含参数是何含义.全称是什么.

oracle如何查询初始化参数(三)V$SPPARAMETER与GV$PARAMETER视图的不同

查询初始化参数的方法很多,比如SHOW PARAMETER,或查询V$PARAMETER等,这里简单总结一下. 这一篇介绍V$SPPARAMETER视图于GV$PARAMETER视图的不同. 上一篇介绍了V$SYSTEM_PARAMETER和V$PARAMETER视图之间的区别,这篇主要讨论RAC环境下初始化参数的查询. 前文已经提到,使用SHOW PARAMETER查询,看到的是当前会话可以看到的初始化参数,那么这个参数导致是全局设置还是当前实例设置的,是从这个命令中看不到的. 虽然Oracl

oracle如何查询初始化参数(二)V$PARAMETER与V$SYSTEM_PARAMETER视图的不同

查询初始化参数的方法很多,比如SHOW PARAMETER,或查询V$PARAMETER等,这里简单总结一下. 这一篇介绍V$PARAMETER视图与V$SYSTEM_PARAMETER视图的不同. 上一篇文章介绍了很多种查询初始化参数的方法,而且说明了V$PARAMETER视图和V$PARAMETER2视图的区别. 这里看看V$PARAMETER和V$SYSTEM_PARAMETER视图的区别. 一般在查询初始化参数的时候都习惯性的使用SHOW PARAMETER,也就是查询V$PARAMET