11g v$ 视图的2个问题

[复制链接]
查看11 | 回复2 | 2014-2-18 16:49:31 | 显示全部楼层 |阅读模式
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'

回复

使用道具 举报

千问 | 2014-2-18 16:49:31 | 显示全部楼层
select t.VIEW_NAME, t.VIEW_DEFINITION fromv$fixed_view_definitiont where t.VIEW_NAME = 'GV$INSTANCE';
执行这个即可。
回复

使用道具 举报

千问 | 2014-2-18 16:49:31 | 显示全部楼层
huanhuanlove 发表于 2014-9-15 17:10
select t.VIEW_NAME, t.VIEW_DEFINITION fromv$fixed_view_definitiont where t.VIEW_NAME = 'GV$INSTA ...

明白,我想问的是:在 dcore.sqlcatalog.sql等 sqlbsq中的哪个里面,有它的定义的原始SQL语句呢?
找了半天,没有找到。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行