mysql create view 权限_Oracle 11g Connect角色去掉了CREATE VIEW权限

本文讨论了在Oracle 11g中,用户发现赋予了Connect和Resource角色的用户无法创建视图的问题。原来CREATE VIEW权限并不包含在Resource角色中,而在10.2版本后,Connect角色仅保留了CREATE SESSION权限。Oracle建议使用自定义角色而非预定义角色。通过显式授予CREATE VIEW权限,用户可以成功创建视图。
摘要由CSDN通过智能技术生成

今天在做测试的时候,无意中发现我新建的用户无法创建视图:

SQL> create view v_t as select * from tb;

create view v_t as select * from tb

*

ERROR at line 1:

ORA-01031: insufficient privileges

可之前我已经给这个用户授予了connect和resource角色了:

SQL> grant connect,resource to alex1;

Grant succeeded.

resource角色是具有创建表、存储过程、函数这些权限的,为什么光是没有创建视图的权限呢?查了一下,发现原来之前的理解有误,CREATE

VIEW这个系统权限之前也没有定义在resource,而是在connect角色。在10.1及之前的版本里,connect角色包含了一系列的系统权限,其中就包含着CREATE

VIEW(下面是10.1的文档):

Role

Name

Created By

(Script)

Description

CONNECT

SQL.BSQ

Includes the following system

privileges: ALTER

SESSION, CREATE

CLUSTER, CREATE DATABASE

LINK, CREATE

SEQUENCE, CREATE

SESSION, CREATE

SYNONYM, CREATE

TABLE, CREATE VIEW

RESOURCE

SQL.BSQ

Includes the following system

privileges: CREATE

CLUSTER, CREATE

INDEXTYPE, CREATE

OPERATOR, CREATE

PROCEDURE, CREATE

SEQUENCE, CREATE

TABLE, CREATE

TRIGGER, CREATE TYPE

可是从10.2开始,Connect角色的权限就被删除只剩下create session了:

Role Name

Created By (Script)

Description

CONNECT

SQL.BSQ

Includes only the following system

privilege: CREATE

SESSION

RESOURCE

SQL.BSQ

Includes the following system

privileges: CREATE

CLUSTER, CREATE

INDEXTYPE, CREATE

OPERATOR, CREATE

PROCEDURE, CREATE SEQUENCE,CREATE

TABLE, CREATE

TRIGGER, CREATE TYPE

换句话说,以前connect角色能做的创建视图、数据库链接、同义词,现在统统不能做了,除非显式授权。

Oracle指出,这些预定义的角色只是为了向后兼容,除此之外不应该再使用这些预定义角色,而应该用用户自行定义的角色来代替它们。

另外,可以从role_sys_privs视图查看各个角色具有哪些权限,如:

SQL> select * from role_sys_privs where role in

('CONNECT','RESOURCE') order by role;

ROLE  PRIVILEGE  ADM

------------------------------

---------------------------------------- ---

CONNECT  CREATE SESSION  NO

RESOURCE  CREATE

CLUSTER  NO

RESOURCE  CREATE

INDEXTYPE  NO

RESOURCE  CREATE

OPERATOR  NO

RESOURCE  CREATE

PROCEDURE  NO

RESOURCE  CREATE

SEQUENCE  NO

RESOURCE  CREATE

TABLE  NO

RESOURCE  CREATE

TRIGGER  NO

RESOURCE  CREATE

TYPE  NO

给用户授予CREATE VIEW权限后,视图顺利创建。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值