Oracle学习笔记day03——权限与角色

一、用户权限与角色

  1. 权限,Oracle中权限主要分为两种,系统权限和实体权限。


    • 系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。
      ①.授予系统权限
      查看ORACLE所有系统权限语法:
      select * from system_privilege_map;
      说明:要实现授予系统权限只能由DBA用户授出。
      语法:grant 系统权限1[,系统权限2]… to 用户名1[,用户名2]…[WITH ADMIN OPTION];
      例子:

      ②.系统权限回收:

      说明:系统权限只能由DBA用户回收语法:revoke 系统权限 from 用户名;例子:


    • 实体权限【对象权限】:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。主要包括select, update, insert, alter, index, delete, all其中all包括所有权限。
      ①.授予实体权限
      语法:grant 实体权限1[,实体权限2]… on 表名 to用户名1[,用户名2]…[WITH GRANT OPTION];
      例子:
      ②.实体权限回收语法:revoke 实体权限 on 表名from 用户名;例子:

      
      

    • 查询用户拥有哪里权限:【用户都能使用】
      SQL> select * from user_tab_privs;//查询授予用户的对象权限
      SQL> select * from user_role_privs;//查询授予用户的角色权限
      SQL> select * from user_sys_privs;//查询授予用户的系统权限
      SQL> Select * from session_privs;//查询当前用户所拥有的权限


    • 查看全部用户拥有权限:【dba身份访问】
      SQL> select * from dba_tab_privs;//查询授予全部用户的对象权限
      SQL> select * from dba_role_privs;//查询授予全部用户的角色权限
      SQL> select * from dba_sys_privs;//查询授予全部用户的系统权限
  1. 角色(角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限。)

  • 系统预定义角色
    预定义角色是在数据库安装后,系统自动创建的一些常用的角色。下面我们就简单介绍些系统角色:
    
         
         
    ①.DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。 ②.RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。 ③.CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
    注意:
    对于普通用户:授予connect, resource权限。 对于DBA管理用户:授予connect,resource, dba权限。
    ①.CONNECT, RESOURCE, DBA这些预定义角色主要是为了向后兼容。其主要是用于数据库管理。oracle建议用户自 己设计数据库管理和安全的权限规划,而不要简单的使用这些预定角色。将来的版本中这些角色可能不会作为预定义角色。
    ②.DELETE_CATALOG_ROLE, EXECUTE_CATALOG_ROLE,SELECT_CATALOG_ROLE这些角色主要用于访问数据字典视图和包。 ③.EXP_FULL_DATABASE, IMP_FULL_DATABASE这两个角色用于数据导入导出工具的使用。


  • 自定义角色(Oracle建议我们自定义自己的角色,使我们更加灵活方便去管理用户)
    ①.创建角色
    
         
         
    SQL> create role admin;
    ②.授权给角色
    SQL> grant connect,resource to admin [WITH ADMIN OPTION]; SQL> grant select,insert on 表名 to admin [WITH GRANT OPTION]

③.将角色赋予用户
SQL> GRANT admin to 用户 [WITH ADMIN OPTION]
SQL> GRANT role_name TO role_name [WITH ADMIN OPTION]
④.撤销角色的权限
SQL> revoke connect from admin;

⑤.删除角色
SQL> drop role admin;
 


    • 0
      点赞
    • 1
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值