各位高手,小弟初学oracle,对于各种role不太能理解。
求高手解答他们在什么时候使用合适,有什么特点。DBA
HS_ADMIN_ROLE
WM_ADMIN_ROLE
DELETE_CATALOG_ROLE
RECOVERY_CATALOG_OWER
OLAP_DBA
OLAP_USER
CTXAPP
GLOBAL_AQ_USER_ROLE大概就是这个吧。
还有就是内置的sys和system属于以上哪一种呢?

解决方案 »

  1.   

    select grantee,privilege from dba_sys_privs
    where grantee='DBA' order by privilege;
    可以查到具体有什么权限二、系统预定义角色
      预定义角色是在数据库安装后,系统自动创建的一些常用的角色。下介简单的介绍一下这些预定角色。角色所包含的权限可以用以下语句查询:
    sql>select * from role_sys_privs where role='角色名';1.CONNECT, RESOURCE, DBA
    这些预定义角色主要是为了向后兼容。其主要是用于数据库管理。oracle建议用户自己设计数据库管理和安全的权限规划,而不要简单的使用这些预定角色。将来的版本中这些角色可能不会作为预定义角色。2.DELETE_CATALOG_ROLE, EXECUTE_CATALOG_ROLE, SELECT_CATALOG_ROLE
    这些角色主要用于访问数据字典视图和包。3.EXP_FULL_DATABASE, IMP_FULL_DATABASE
    这两个角色用于数据导入导出工具的使用。4.AQ_USER_ROLE, AQ_ADMINISTRATOR_ROLE
    AQ:Advanced Query。这两个角色用于oracle高级查询功能。5. SNMPAGENT
    用于oracle enterprise manager和Intelligent Agent6.RECOVERY_CATALOG_OWNER
    用于创建拥有恢复库的用户。关于恢复库的信息,参考oracle文档《Oracle9i User-Managed Backup and Recovery Guide》7.HS_ADMIN_ROLE
    A DBA using Oracle's heterogeneous services feature needs this role to access appropriate tables in the data dictionary.
      

  2.   

    这个应该直接goole或者百度吧。。
      

  3.   

    1、先搞清楚这三个角色CONNECT、RESOURCE、DBA和一个系统权限UNLIMITED TABLESPACE。
    2、这三个角色所拥有的的系统权限:
    SELECT * FROM dba_sys_privs t WHERE t.GRANTEE IN ('CONNECT', 'RESOURCE', 'DBA');
    3、一般新建普通用户使用:CONNECT、RESOURCE、UNLIMITED TABLESPACE
    4、新建一个DBA权限用户:CONNECT、RESOURCE、DBA
      

  4.   

    内置的sys和system属于以上哪一种呢?
    ===》
    通过下面语句可以查看
    SQL> select * from user_sys_privs;               --查看直接授予用户的系统权限SQL> select * from user_role_privs;              --用户有哪些角色你用sys 和 system用户各自登入查询下九可以了
      

  5.   


    角色是权限的集合
    对于开发者 就给予 connect resource 就可以了
    数据库管理者 connect resource DBA  或者sysdba