|
作者:佚名 责任编辑:左决 点击数: 更新时间:2008-3-27 0:26:31 |
 |
在实际的工作中,我们经常需要查找某个对象的定义的情况,本文中我们将针对不同类型的对象分别进行讲解: 一、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未公开的视图不在其中)。
[1] [2] [3] 下一页 |
|
|
|
|
|