当前位置:数据库 > Oracle >>

Oracle创建视图view错误ORA-01031: 权限不足

今天在对表创建视图的时候,用户提示 ORA-01031用户权限不足,insufficient privileges 。使用system用户对其分配dba等权限,依然无法创建视图。

创建视图

 代码如下 复制代码

create or replace view stats
as select 'STAT...' || a.name name, b.value
      from v$statname a, v$mystat b
     where a.statistic# = b.statistic#
    union all
    select 'LATCH.' || name,  gets
      from v$latch
 union all
 select 'STAT...Elapsed Time', hsecs from v$timer;

–创建视图权限,一般网上找都是说的这句,但是光有这句还是无法创建

后来查证后说要如下操作

解决方法:

1,使用system用户登录,connect as DBA

2,赋予scott用户创建视图的权限:GRANT CREATE VIEW TO SCOTT

3,赋予scott可以查询任何表的权限:GRANT SELECT ANY TEBLE TO SCOTT

4,赋予scott可以查询任何字典的权限:GRANT SELECT ANY DICTIONARY TO SCOTT


下面测试

 代码如下 复制代码

grant create  view to B;

–授予查询权限

 代码如下 复制代码

grant select any table to B;

–授予权限

 代码如下 复制代码

grant select any dictionary to B;

以上3项地后就能正常创建视图了。

 
再次授取用户select任何字典的权限,创建成功.

看来创建视图时,还是得显示授权才行.

补充:数据库,Oracle教程
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,