在oracle中使用带有dba特权的系统视图授予创建视图

时间:2015-03-09 06:43:28

标签: oracle11g

当我尝试创建像

这样的视图时
create view viewname as select * from table1;

它正在运作。但是当我尝试创建像

这样的视图时
Create view view1 as Select * from dba_users;

我无法使用显示权限不足的异常创建它。但是,我能够对给定视图执行选择操作并获得结果。

select * from dba_users;

我是否需要添加任何其他角色才能创建包含dba_users(或任何其他带有dba的表)的视图作为其定义的一部分

1 个答案:

答案 0 :(得分:1)

最有可能的问题是,您通过角色访问dba_users。如果要创建引用dba_users的视图(或者如果要创建引用dba_users的定义者权限存储过程),则需要直接授予用户权限不是通过角色。假设您希望能够引用视图和存储过程中的所有数据字典表,您可能希望让DBA直接授予您SELECT ANY DICTIONARY权限,而不是通过角色。