connect、resource和dba三种标准角色:
授权语句:grant connect ,resource,dba to user with admin option;
(注意:其中的“with admin option”选项的含义是权限转授,该用户user能把他得到的这个权限再转授给其他用户user。)
经过授权以后,用户拥有connect、resource和dba三个角色的权限:
(1)Connect 角色,是授予最终用户的典型权利,最基本的权利,能够连接到ORACLE数据库中,并在对其他用户的表有访问权限时,做SELECT、UPDATE、INSERTT等操作。
Alter session--修改会话;
Create cluster--建立聚簇;
Create database link--建立数据库连接;
Create sequence--建立序列;
Create session--建立会话;
Create synonym--建立同义词;
Create view--建立视图。
(2)Resource 角色,是授予开发人员的,能在自己的方案中创建表、序列、视图等。
Create cluster--建立聚簇;
Create procedure--建立过程;
Create sequence—建立序列;
Create table--建表;
Create trigger--建立促发器;
Create type--建立类型。
(3)DBA角色,是授予系统管理员的,拥有该角色的用户就能成为系统管理员了,它拥有所有的系统权限。
从dba_sys_privs查看权限grantee privilege:
SQL>Select grantee,privilege fromdba_sys_privs
Wheregrantee=’resource’
Orderby privilege;
---------------------------------------------------------------------------------------
oracle规定:resource角色会把unlimited tablespace权限授予用户,而oracle则允许具备这一个权限的用户可以在不是自己的默认表空间里创建对象,即使该用户在该表空间里没有空间配额(quote): 执行:select * from dba_sys_privs where grantee='RESOURCE';显示如下: GRANTEE PRIVILEGE ADM ------------------------------ ---------------------------------------- --- CONNECT CREATE DATABASE LINK NO RESOURCE CREATE TYPE NO RESOURCE CREATE TABLE NO RESOURCE CREATE CLUSTER NO RESOURCE CREATE TRIGGER NO RESOURCE CREATE OPERATOR NO RESOURCE CREATE SEQUENCE NO RESOURCE CREATE INDEXTYPE NO RESOURCE CREATE PROCEDURE NO 上面是该角色所具有的系统级权限 |
------------------------------------------------------------------------
当把ORACLE resource角色授予一个user的时候,不但会授予ORACLE resource角色本身的权限,而且还有unlimited tablespace权限。但是当把resource授予一个role时,就不会授予unlimited tablespace权限 。(注意!!! 这段的背景是10g,但是在11gr2中却是可以把resources授予一个role时还带着unlimited tablespace权限)