www.Database8.com 数据库吧
4 / 53
select inst_id,kqftanam, kqftaobj, 'TABLE', indx
from X$kqfta
union all
select inst_id,kqfvinam, kqfviobj, 'VIEW', 65537
from X$kqfvi
union all
select inst_id,kqfdtnam, kqfdtobj, 'TABLE', 65537
from X$kqfdt;
(2) 执行版本特定的目录脚本:
SQL> @catalog
(3) 根据 V$视图创建 v_$视图:
create or replace view v_$fixed_table
as
select *
from v$fixed_table;
(4) 再根据 v_$视图创建新的 V$同名视图:
create or replace public synonym v$fixed_table for v_$fixed_table;
技巧:
SYSTEM 访问的 V$视图实际上是指向 v_$视图的同
名视图,而 v_$视图是以根据 X$表创建的原始 V$视图
为基础而建立的视图(最好将上面的话多读几遍)。
这些视图上唯一可以执行的操作就是 SELECT。为了用户能够访问 V$视图,必须授于用
户访问底层的 v_$视图的权限。不能授于用户访问 V$视图的权限(即使是 SYS 用户):
connect sys/change_on_install as sysdba
Grant select on v$fixed_table to richn;
ORA-02030: can only select from fixed tables/views.
尽管在尝试授权访问 V$FIXED_TABLE 时返回的错误消息反映了不正确的信息(紧接前
面的代码),但授权仍然无法实现。然而,可以授权访问 V$视图底层的 v_$视图。
要与 SYS 超级用户连接,请使用下面的语句:
Connect sys/change_on_install as sysdba
Connected.
要向指定用户授于访问底层视图的权限,请使用下列语句:
grant select on v_$fixed_table to richn;
Grant succeeded.
要以指定的用户身份连接,请使用下列语句:
conn richn/tusc
Connected.
评论2
最新资源