这个blog文还是源自于csdn的一个提问,不过问题提的很简单,感觉到用户对connect这个角色权限不理解,所以引申出了这篇文章
原帖来自于http://topic.csdn.net/u/20090803/19/fe6fabcf-5c00-46dc-8379-ba495d14eb85.html?51870
一般我们都是给普通用户connect,resource这两种role的身份,connect和resource是oracle里的两种role,这两种role聚合了一定的权限。所以赋予了这样的role,你就拥有这样的权限了。
你可以通过
role_sys_prvis这个数据字典表,知道具体的role的系统权限,注意这里我说到的是系统权限,在ORacle里权限有几种系统权限,角色权限,对象权限,你可以详细看看这里的知识了,或者等待我的blob文来介绍
这里我们可以先示范一下查查这个connect的角色具有哪些权限通过role_sys_privs表
如下
SQL> select * from role_sys_privs where role='CONNECT';
ROLE PRIVILEGE ADMIN_OPTION
------------------------------ ---------------------------------------- ------------
CONNECT CREATE VIEW NO
CONNECT CREATE TABLE NO
CONNECT ALTER SESSION NO
CONNECT CREATE CLUSTER NO
CONNECT CREATE SESSION NO
CONNECT CREATE SYNONYM NO
CONNECT CREATE SEQUENCE NO
CONNECT CREATE DATABASE LINK NO
8 rows selected
通过上面我们可以看到,如果你给一个用户一个connect的权限的话,实际上这个用户就具有了
CREATE VIEW
CREATE TABLE
ALTER SESSION
CREATE CLUSTER
CREATE SESSION
CREATE SYNONYM
CREATE SEQUENCE
CREATE DATABASE LINK
这样一些权限了。
你有兴趣可以把role=‘CONNECT’换成RESOURCE,看看resource具有哪些系统权限。
以后有时间将特地介绍一下有关oralce里的各种权限,角色权限,系统权限,对象权限,身份权限。