转载:http://blog.chinaunix.net/uid-23284114-id-3042847.html
前段时间,在oracle中新建了一个用户,给了connect和resource权限。但是开发人员突然说不能创建view,觉得不打应该啊,记得connect应该包括create view权限。通过检查,发现我的记忆是错误的。
数据库版本
- SQL> select version from v$instance;
- VERSION
- -----------------
- 11.1.0.6.0
用新用户登录,查具体有哪些权限
- SQL> conn newuser/pass
- SQL> select * from session_privs;
- PRIVILEGE
- --------------------------------------------------------------------------------
- CREATE SESSION
- UNLIMITED TABLESPACE
- CREATE TABLE
- CREATE CLUSTER
- CREATE SEQUENCE
- CREATE PROCEDURE
- CREATE TRIGGER
- CREATE TYPE
- CREATE OPERATOR
- CREATE INDEXTYPE
从上面的结果可以看到,还真没有create view权限。
那么connect角色到底有哪些权限呢?
- SQL> select * from dba_sys_privs where GRANTEE='CONNECT';
- GRANTEE PRIVILEGE ADM
- ------------------------------ ---------------------------------------- ---
- CONNECT CREATE SESSION NO
结果反馈,connect角色只有一个create session权限!看来以前的认识是错误的!
继续查,看看resource有哪些权限
- SQL> select * from dba_sys_privs where GRANTEE='RESOURCE';
- GRANTEE PRIVILEGE ADM
- ------------------------------ ---------------------------------------- ---
- RESOURCE CREATE TRIGGER NO
- RESOURCE CREATE SEQUENCE NO
- RESOURCE CREATE TYPE NO
- RESOURCE CREATE PROCEDURE NO
- RESOURCE CREATE CLUSTER NO
- RESOURCE CREATE OPERATOR NO
- RESOURCE CREATE INDEXTYPE NO
- RESOURCE CREATE TABLE NO
-----------
最后,给新建用户赋予create view权限,解决问题。
相关推荐
例如,如果要给一个用户分配CONNECT和RESOURCE角色,可以使用如下命令:`GRANT CONNECT, RESOURCE TO USERNAME;`。分配角色后,用户将拥有角色中定义的所有权限。另外,如果需要查看某个角色拥有哪些权限,可以查询...
Oracle 权限设置 一、权限分类: ...CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。 对于普通用户:授予connect, resource权限。 对于DBA管理用户:授予connect,
DBA角色拥有所有系统权限,RESOURCE适合开发人员,而CONNECT则用于基本的连接和数据操作。 10. 权限继承(Privilege Inheritance):用户通过角色获得的权限可以在他们创建的对象上使用,即使这些权限没有直接授予...
2. **RESOURCE角色**:比CONNECT角色更高级,允许用户创建过程、触发器、表和序列等数据库对象,但仍然不包括创建数据库结构的权限。 3. **DBA角色**:拥有最高级别的系统权限,可以进行所有数据库管理操作,包括...
- 验证用户是否拥有正确的角色:检查用户是否已分配了能够执行特定操作的角色,如DBA、CONNECT或RESOURCE。 - 检查对象权限:确认用户是否直接或通过角色间接拥有对目标对象的权限。 - 分配权限:如果缺少权限,...
例如,`DBA`角色包含所有系统管理员所需的权限,而`CONNECT`角色则包含用户登录数据库所需的基本权限。角色可以被授予给用户,从而自动赋予该用户所有属于该角色的权限。 #### 四、系统权限管理细节 - **权限授予...
可以通过以下查询来查看Connect角色具体包含哪些权限: ```sql SQL> SELECT * FROM role_sys_privs WHERE role = 'CONNECT'; ROLE PRIVILEGE ADM --------------------------------------------------- CONNECT ...
1. CONNECT、RESOURCE、DBA:这些角色主要面向数据库管理,但Oracle建议根据具体需求自定义权限规划,而不是依赖预定义角色。 2. DELETE_CATALOG_ROLE、EXECUTE_CATALOG_ROLE、SELECT_CATALOG_ROLE:这些角色允许...
创建用户tea,stu,并给这两个用户resource,connect角色 conn system/orcl; create user tea identified by tea; create user stu identified by stu; grant resource to tea; grant connect to tea; grant resource ...
3. RESOURCE角色:同样默认分配,允许创建对象,如表、视图、索引等。 4. SYSDBA角色:超级管理员角色,拥有数据库维护和管理权限,通常用于系统级别的操作。 5. SYSOPER角色:提供有限的SYSDBA权限,主要用于数据库...
Oracle为了兼容以前的版本,提供了三种标准的角色(role):connect、resource和dba。 1. 连接角色(Connect Role) ---------------------- 临时用户,特别是那些不需要建表的用户,通常只赋予他们connect role。...
若想查看`RESOURCE`角色具体包含了哪些权限,可以执行: ``` SELECT * FROM dba_sys_privs WHERE grantee = 'RESOURCE'; ``` 通过上述步骤,我们可以全面掌握Oracle数据库中用户权限的分配情况,这对于维护数据库...
--4、授予epointtest用户connect和resource的角色权限。 grant connect to epointtest; grant resource to epoint; --5、回收epointtest用户的connect权限 revoke connect from epointtest; --6、删除epointtest用户...
通常,普通用户会授予CONNECT和RESOURCE权限,而DBA管理员则会拥有CONNECT、RESOURCE和DBA权限。 系统权限的管理涉及授权、查询和回收。授权由具有DBA权限的用户(如sys或system)执行,例如`GRANT connect, ...
1. 角色权限:角色权限是指用户在数据库中的角色,例如 connect、resource 等。 2. 系统权限:系统权限是指用户在数据库中的系统权限,例如 unlimited tablespace 等。 3. 配额权限:配额权限是指用户在数据库中的...
当您将权限指定给那个角色时,那个角色的每个用户都拥有那些权限。用于定义和操纵角色的 SQL 语句包括:CREATE ROLE、DROP ROLE、GRANT、REVOKE 和 SET ROLE。 在连接到数据库时,缺省的角色自动地应用于特定的用户...
通常,普通用户会授予CONNECT和RESOURCE权限,而DBA管理用户则会额外获得DBA权限。系统权限的授权、查看、传递和回收都是由具有DBA权限的用户进行的。 授权系统权限的命令通常是`GRANT`,例如:`GRANT connect, ...
例如,可以赋予连接到数据库的权限(CONNECT),以及创建临时表的权限(RESOURCE)。 3. **系统权限的赋予**:使用`GRANT`语句为用户授予系统权限,如`GRANT CREATE TABLE TO username;`将创建表的权限赋予用户。 ...