本篇文章以v$parameter和gv$parameter爲例做講解
1、查看v$parameter對象類型,並查看其創建sql語句
SELECT
* FROM
all_objects a WHERE
a.object_name= 'V$PARAMETER' ; select
dbms_metadata.get_ddl(object_type=> 'SYNONYM' , NAME => 'V$PARAMETER' , SCHEMA => 'PUBLIC' )
from
dual; --V$PARAMETER
SYNONYN CREATE
OR
REPLACE
PUBLIC
SYNONYM "V$PARAMETER"
FOR
"SYS" . "V_$PARAMETER" |
2、查看V_$PARAMETER對象類型,並查看其創建語句
SELECT
* FROM
all_objects a WHERE
a.object_name= 'V_$PARAMETER' ; select
dbms_metadata.get_ddl(object_type=> 'VIEW' , NAME => 'V_$PARAMETER' , SCHEMA => 'SYS' )
from
dual; --V_$PARAMETER
VIEW CREATE
OR
REPLACE
FORCE
VIEW
"SYS" . "V_$PARAMETER" ( "NUM" ,
"NAME" ,
"TYPE" ,
"VALUE" ,
"DISPLAY_VALUE" ,
"ISDEFAULT" ,
"ISSES_MODIFIABLE" , "ISSYS_MODIFIABLE" ,
"ISINSTANCE_MODIFIABLE" ,
"ISMODIFIED" ,
"ISADJUSTED" ,
"ISDEPRECATED" , "ISBASIC" ,
"DESCRIPTION" ,
"UPDATE_COMMENT" ,
"HASH" )
AS SELECT
"NUM" , "NAME" , "TYPE" , "VALUE" , "DISPLAY_VALUE" , "ISDEFAULT" , "ISSES_MODIFIABLE" , "ISSYS_MODIFIABLE" , "ISINSTANCE_MODIFIABLE" , "ISMODIFIED" , "ISADJUSTED" , "ISDEPRECATED" , "ISBASIC" , "DESCRIPTION" , "UPDATE_COMMENT" , "HASH" FROM
V$PARAMETER; |
3、查看V$PARAMETER類型,並查看其創建語句
SELECT
* FROM
v$fixed_table a WHERE
a. name = 'V$PARAMETER' ; SELECT
* FROM
V$FIXED_VIEW_DEFINITION WHERE
VIEW_name= 'V$PARAMETER' ; --V$PARAMETER
VIEW SELECT
NUM, NAME , TYPE, VALUE, DISPLAY_VALUE, ISDEFAULT, ISSES_MODIFIABLE, ISSYS_MODIFIABLE, ISINSTANCE_MODIFIABLE, ISMODIFIED, ISADJUSTED, ISDEPRECATED, ISBASIC, DESCRIPTION, UPDATE_COMMENT, HASH FROM
GV$PARAMETER WHERE
INST_ID = USERENV( 'Instance' ) |
4、查看GV$PARAMETER類型,及其創建sql語句
SELECT
* FROM
v$fixed_table a WHERE
a. name = 'GV$PARAMETER' ; SELECT
* FROM
V$FIXED_VIEW_DEFINITION WHERE
VIEW_name= 'GV$PARAMETER' ; --GV$PARAMETER
VIEW 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' , 4, 'SYSTEM_MOD' , 'FALSE' ), DECODE(BITAND(KSPPSTVF,
2), 2, 'TRUE' ,
'FALSE' ), DECODE(BITAND(KSPPILRMFLG
/ 64, 1), 1, 'TRUE' ,
'FALSE' ), DECODE(BITAND(KSPPILRMFLG
/ 268435456, 1), 1, 'TRUE' ,
'FALSE' ), KSPPDESC, KSPPSTCMNT, KSPPIHASH FROM
X$KSPPI X, X$KSPPCV Y WHERE
(X.INDX = Y.INDX) AND
BITAND(KSPPIFLG, 268435456) = 0 AND
((TRANSLATE(KSPPINM, '_' ,
'#' )
NOT
LIKE
'##%' )
AND ((TRANSLATE(KSPPINM,
'_' ,
'#' )
NOT
LIKE
'#%' )
OR (KSPPSTDF
= 'FALSE' )
OR
(BITAND(KSPPSTVF, 5) > 0))) |
5、查看gv$parameter同義詞和gv_$parameter視圖
--GV$PARAMETER
SYNONYM CREATE
OR
REPLACE
PUBLIC
SYNONYM "GV$PARAMETER"
FOR
"SYS" . "GV_$PARAMETER" --GV_$PRAMETER
VIEW CREATE
OR
REPLACE
FORCE
VIEW
"SYS" . "GV_$PARAMETER" ( "INST_ID" ,
"NUM" ,
"NAME" ,
"TYPE" ,
"VALUE" ,
"DISPLAY_VALUE" ,
"ISDEFAULT" , "ISSES_MODIFIABLE" ,
"ISSYS_MODIFIABLE" ,
"ISINSTANCE_MODIFIABLE" ,
"ISMODIFIED" , "ISADJUSTED" ,
"ISDEPRECATED" ,
"ISBASIC" ,
"DESCRIPTION" ,
"UPDATE_COMMENT" ,
"HASH" )
AS SELECT
"INST_ID" , "NUM" , "NAME" , "TYPE" , "VALUE" , "DISPLAY_VALUE" , "ISDEFAULT" , "ISSES_MODIFIABLE" , "ISSYS_MODIFIABLE" , "ISINSTANCE_MODIFIABLE" , "ISMODIFIED" , "ISADJUSTED" , "ISDEPRECATED" , "ISBASIC" , "DESCRIPTION" , "UPDATE_COMMENT" , "HASH" FROM
GV$PARAMETER |
6、總結
x$(table)–>gv$(view)–>v$(view)–>v_$(view)–>v$(SYNONYM)
x$(table)–>gv$(view)–>gv_$(view)–>gv$(synonym)
1)sys的fixed table x$
2)sys的fixed view: GV$
3)sys的fixed view: V$
4)sys的普通view: V_$
5)public的synonym: v$
6) sys的fixed view: gv_$
7) public的synonym: gv$
如果用sys訪問v$, 就是3=>2=>1,other user訪問v$, 就是5=>4=>3=>2=>1.
如果用sys訪問gv$, 就是6=>2=>1,other user訪問gv$, 就是7=>6=>2=>1.