今天在对表创建视图的时候,用户提示 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任何字典的权限,创建成功.
看来创建视图时,还是得显示授权才行.
时间: 2024-09-30 20:28:55