SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE
11.2.0.4.0
Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
下面表示:从dba_objects里,只能看到 V$INSTANCE作为同义词的情况;但是实际上,V$INSTANCE还有同名的 view,
问题1:为什么 dba_objects里 不能看到 V$INSTANCE的view的情况?
SQL> select t.OBJECT_NAME, t.OBJECT_TYPE from dba_objects t where t.OBJECT_NAME = 'V$INSTANCE';
OBJECT_NAME
OBJECT_TYPE
-------------------------------------------------------------------------------- -------------------
V$INSTANCE
SYNONYM
SQL> select t.VIEW_NAME, t.VIEW_DEFINITION fromv$fixed_view_definitiont where t.VIEW_NAME = 'V$INSTANCE';
VIEW_NAME
VIEW_DEFINITION
------------------------------ --------------------------------------------------------------------------------
V$INSTANCE
selectINSTANCE_NUMBER , INSTANCE_NAME , HOST_NAME , VERSION , STARTUP_TIME , S
问题2:
在cdfixed.sql中有如下内容
create or replace view gv_$instance as select * from gv$instance;
create or replace public synonym gv$instance for gv_$instance;
grant select on gv_$instance to select_catalog_role;
gv$instance这个视图的定义sql语句,就是如下这句SQL,在哪个sql、或bsq里呢?怎么没有找到?
select ks.inst_id,ksuxsins,ksuxssid,ksuxshst,ksuxsver,ksuxstim,decode(ksuxssts,0,'STARTED',1,'MOUNTED',2,'OPEN',3,'OPEN MIGRATE','UNKNOWN'),decode(ksuxsshr,0,'NO',1,'YES',2,NULL),ksuxsthr,decode(ksuxsarc,0,'STOPPED',1,'STARTED','FAILED'),decode(ksuxslsw,0,NULL,2,'ARCHIVE LOG',3,'CLEAR LOG',4,'CHECKPOINT', 5,'REDO GENERATION'),decode(ksuxsdba,0,'ALLOWED','RESTRICTED'),decode(ksuxsshp,0,'NO','YES'),decode(kvitval,0,'ACTIVE',2147483647,'SUSPENDED','INSTANCE RECOVERY'),decode(ksuxsrol,1,'PRIMARY_INSTANCE',2,'SECONDARY_INSTANCE','UNKNOWN'), decode(qui_state,0,'NORMAL',1,'QUIESCING',2,'QUIESCED','UNKNOWN'), decode(bitand(ksuxsdst, 1), 0, 'NO', 1, 'YES', 'NO') from x$ksuxsinst ks, x$kvit kv, x$quiesce qu where kvittag = 'kcbwst'
|