您查看的文章来源于http://www.oklinux.cn
【赛迪网-IT技术报道】在实际的工作中,我们经常需要查找某个对象的定义的情况,本文中我们将针对不同类型的对象分别进行讲解:
一、V$视图和X$视图
普通的用户不能访问V$视图:
SQL> conn lunar/lunar@test1
已连接。
SQL> select * from user_sys_privs;
USERNAME PRIVILEGE ADMIN_OPTION
---------- -------------- ------------
SQL> select * from user_role_privs;
USERNAME GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE OS_GRANTED
----------- --------------- ------------ ------------ ----------
LUNAR CONNECT NO YES NO
LUNAR RESOURCE NO YES NO
PUBLIC PLUSTRACE NO YES NO
SQL> select count(*) from v$fixed_table;
select count(*) from v$fixed_table
ORA-00942: 表或视图不存在
必须授权:
SQL> conn /@test1 as sysdba
已连接。
SQL> grant select on v_$fixed_table to lunar;
授权成功。
SQL> conn lunar/lunar@test1
已连接。
SQL>
|
我们可以发现,得到授权的普通用户仍然只能访问V$开头的视图,而不能直接访问V_$开头的视图,因为实际上V$视图是V_$视图的公有同义词(PUBLIC SYNONYM)要想访问V_$必须带上SYS.V_$。
例如:
SQL> select count(*) from v$fixed_table;
COUNT(*)
----------
912
SQL> select count(*) from v_$fixed_table;
select count(*) from v_$fixed_table
ORA-00942: 表或视图不存在
SQL> select count(*) from sys.v_$fixed_table;
COUNT(*)
----------
912
SQL>
|
与此同时,也可以授予用户SELECT any table权限,这样这个用户就可以访问所有的V$视图:
SQL> grant select any table to lunar;
授权成功。
SQL> select * from user_role_privs;
USERNAME GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE OS_GRANTED
------------ --------------------- ------------ ------------ ----------
LUNAR CONNECT NO YES NO
LUNAR RESOURCE NO YES NO
PUBLIC PLUSTRACE NO YES NO
SQL> select * from user_sys_privs;
USERNAME PRIVILEGE ADMIN_OPTION
------------ ----------------------- ------------
LUNAR SELECT ANY TABLE NO
SQL> select count(*) from v$fixed_table;
COUNT(*)
----------
912
SQL> select * from v$fixed_table where rownum<2;
NAME OBJECT_ID TYPE TABLE_NUM
---------- ---------- ----- ----------
X$KQFTA 4294950912 TABLE 0
SQL> select * from v_$fixed_table where rownum<2;
select * from v_$fixed_table where rownum<2
ORA-00942: 表或视图不存在
SQL> select * from sys.v_$fixed_table where rownum<2;
NAME OBJECT_ID TYPE TABLE_NUM
---------- ---------- ----- ----------
X$KQFTA 4294950912 TABLE 0
SQL>
|
通过查询V$FIXED_TABLE视图,我们可以看到大部分V$视图和一些X$视图(还有一些Oracle未公开的视图不在其中)。
共6页: 上一页 1 [2] [3] [4] [5] [6] 下一页 |