关于connect,resource角色具体拥有哪些权限

转载:http://blog.chinaunix.net/uid-23284114-id-3042847.html

前段时间,在oracle中新建了一个用户,给了connect和resource权限。但是开发人员突然说不能创建view,觉得不打应该啊,记得connect应该包括create view权限。通过检查,发现我的记忆是错误的。

数据库版本

  1. SQL> select version from v$instance;
  2. VERSION
  3. -----------------
  4. 11.1.0.6.0


用新用户登录,查具体有哪些权限

  1. SQL> conn newuser/pass
  2. SQL> select * from session_privs;
  3. PRIVILEGE
  4. --------------------------------------------------------------------------------
  5. CREATE SESSION
  6. UNLIMITED TABLESPACE
  7. CREATE TABLE
  8. CREATE CLUSTER
  9. CREATE SEQUENCE
  10. CREATE PROCEDURE
  11. CREATE TRIGGER
  12. CREATE TYPE
  13. CREATE OPERATOR
  14. CREATE INDEXTYPE

从上面的结果可以看到,还真没有create view权限。


那么connect角色到底有哪些权限呢?

  1. SQL> select * from dba_sys_privs where GRANTEE='CONNECT';
  2.     GRANTEE PRIVILEGE ADM
  3.     ------------------------------ ---------------------------------------- ---
  4.     CONNECT CREATE SESSION NO


结果反馈,connect角色只有一个create session权限!看来以前的认识是错误的!

继续查,看看resource有哪些权限

  1. SQL> select * from dba_sys_privs where GRANTEE='RESOURCE';
  2. GRANTEE          PRIVILEGE                ADM
  3. ------------------------------ ---------------------------------------- ---
  4. RESOURCE         CREATE TRIGGER                NO
  5. RESOURCE         CREATE SEQUENCE                NO
  6. RESOURCE         CREATE TYPE                NO
  7. RESOURCE         CREATE PROCEDURE             NO
  8. RESOURCE         CREATE CLUSTER                NO
  9. RESOURCE         CREATE OPERATOR                NO
  10. RESOURCE         CREATE INDEXTYPE             NO
  11. RESOURCE         CREATE TABLE                NO

-----------
最后,给新建用户赋予create view权限,解决问题。

猜你喜欢

转载自pb-water.iteye.com/blog/2306356