ORACLE数据库入门再在屋里坐会 (5)

ORACLE数据库入门再在屋里坐会

1、权限 

Oracle中权限分为系统权限和实体权限

系统权限: 系统规定用户使用数据库的权限(系统权限是对用户而言)

授予系统权限 -> 要实现授予系统权限只能由DBA用户授出

  查看ORACLE所有系统权限

  select * from system_privilege_map

  用法 -> 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 用户名

查询用户拥有那些权限(用户都能使用)

  select * form user_tab_privs; -> 查询授予用户的对象权限

  select * form user_role_privs; -> 查询授予用户的角色权限

  select * form user_sys_privs; -> 查询授予用户的系统权限

  select * form session_privs; -> 查询当前用户拥有的所有权限

查看全部用户拥有权(dba身份访问)

  select * from dba_tab_privs; -> 查询授予全部用户的对象权限

  select * from dba_role_privs; -> 查询授予全部用户的角色权限

  select * from dba_sys_privs; -> 查询授予全部用户的系统权限

2、角色

角色是一组权限的结合,将角色赋给一个用户,这个用户就拥有了和这个角色中的所有权限

角色分为 -> 预定义角色和自定义角色

系统预定义角色 ->预定义角色是在数据库安装后系统自动创建的一些常用的角色

  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建议自定义自己的角色,可以更加灵活方便管理用户

创建角色

  create role admin;

授权给角色

  grant connect,resource,to admin[with admin option];

  grant select,insert on 表名 to admin [with grant option];

将角色赋予用户

  grant admin to 用户[with admin option];

  grant role_name to role_name[with admin option];

撤销角色权限

  revoke connect from admin ;

删除角色

  drop role admin ;

五、SQL语言与函数 SQL概述

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyzwgw.html