现在的位置: 首页 > 综合 > 正文

Oracle 角色

2013年01月22日 ⁄ 综合 ⁄ 共 1594字 ⁄ 字号 评论关闭
1.查询 oracle 所有的角色 
Java代码 
  1. select * from dba_roles;  

2.介绍常用的 预定角色  connect ,resource,dba 

Java代码 
  1. 1.connect 具有一般开发人员的大部分权限,建立一个用户多半情况下,赋予 connect 和 resource 角色 就够了。  
  2. connect角色 所拥有的权限有 :  
  3.    alter session 修改会话  
  4.    create cluster  创建簇  
  5.    create database link  
  6.    create session  
  7.    create table  
  8.    create view  
  9.    create sequence  
  10.   
  11. 2.resources 角色用开发人员选用的其他权限,比如建立存储过程,触发器,resource 角色隐含了 unlimited tablespace 系统权限 无限表空间权限。  
  12.   create cluster  
  13.   create indextype  
  14.   create table  
  15.   create type  
  16.   create proecdure  
  17.   create trigger  
  18.   
  19. 3.dba角色具有 所有的系统权限 以及 with admin option选项,默认的dba用户为 sys和system 他们可以将任何系统权限授予其他用户,但是 dba角色不具备 sysdba和sysoper的特权(启动和关闭数据库)  

3.举例:授予 connect resource dba 系统角色 

Java代码 
  1. grant connect to luob 【with admin option】 //授予 连接权限 是否遗传下去  
  2. grant resource,dba to luob //授予 资源 和 dba 角色  

4.收回角色 

Java代码 
  1. revoke connect,resource,dba from luob  //回收 连接 资源 dba 角色  

5.自定义 角色 --一般是dba来建立,别的用户需要 create role 的系统权限(创建角色时候可以指定验证方式(不验证,数据库验证等) 

Java代码 
  1. create role 角色名  not identified;//不需要验证的  
  2. alter role myrole identified by m123;//将上面定义的角色 修改成需要数据库验证的 角色  
  3. create role 角色名 identified by r111;//定义需要验证的 角色 myrole  

6.给 自定义角色 授予 系统权限 

Java代码 
  1. grant create session to 角色名 【with admin option】 //给连接权限给 角色  

7.给自定 角色 授予 对象权限 

Java代码 
  1. grant select on  scott.emp from 角色名  --都是 system 用户登录   
  2. grant update on scott.emp from 角色名  -- 如果用 scott  就没有方案名   
  3. grant delete on scott.emp from 角色名  
  4. grant all on emp from 角色  

8.将自定义角色 授予 用户 

Java代码 
  1. grant 角色名 to 用户名 【with admin option】  

9.删除某个用户的角色 

Java代码 
  1. revoke 角色名 from 用户名  

10.删除 自定义 角色 

Java代码 
  1. drop role 角色名 //如果角色被删除了, 拥有这个角色的人都没有角色对应的权限了  

11.查看当前用户拥有的 角色 

Java代码 
  1. select * from user_role_privs  

【上篇】
【下篇】

抱歉!评论已关闭.