语句

解释

Create user

Creates a user(usually performed by a DBA)

Grant

Gives other users privileges to access the objects

Create role

Creates a collection of privileges, usually performed by a DBA

Alter user

Changes a user's password

Revoke

Removes privileges on an object from users

通过数据字典查询

数据字典视图

描述

dba_users

用户

dba_ts_quotas

每个用户空间使用配额

dba_profiles

查询profile文件

dba_sys_privs

查询用户权限

dba_roles

查看角色

ROLE_SYS_PRIVS

授予角色的系统权限

ROLE_TAB_PRIVS

授予角色的表权限

USER_ROLE_PRIVS

授予用户的角色

USER_SYS_PRIVS

授予用户的系统权限

USER_TAB_PRIVS_MADE

用户对象上授予的权限

USER_TAB_PRIVS_RECD

授予用户的对象权限

USER_COL_PRIVS_MADE

用户某列上授予的对象权限

USER_COL_PRIVS_RECD

授予用户某列上的对象权限

什么是角色Role?

  • 数据库系统是role-base基于角色的系统.
    • 角色是权限的集合.
  • 操作系统中是基于组的系统,操作系统是用户组group.
    • 组是用户的集合.
  • 可以将权限赋予一个用户,也可以将角色赋予一个用户.
    • 创建一个角色;

CREATE ROLE manager;

  • 赋予给角色一个权限;

GRANT create table, create view To manager;

  • 赋予一个角色给用户;

GRANT manager To wendy, gaga;

角色

  • 建立用户而后为其授权是用户管理的基本操作,如果要想让一个用户正常进行操作,那么肯定需要授予很多的操作权限。如果说现在有100个用户,而且这些用户都需要具备相同的权限,那么在进行权限维护的时候肯定不可能针对于100个用户分别维护,而是需要将所有用户的权限一起进行维护,而在这时就只能够将多个权限加入到一个角色之中,通过对角色的维护来实现对多个用户的权限维护(可以是系统权限,也可以是对象权限),
  • 所谓的角色就是指一组相关权限的集合。

创建角色

如果用户要创建角色,则可以通过DBA或者是具有相应“CREATE ROLE”权限的用户来完成,

角色的创建语法如下所示。

CREATE ROLE

ALTER ROLE c##role_a IDENTIFIED BY hello1 ;

取消c##ole_b角色的密码

ALTER ROLE c##role_b NOT IDENTIFIED ;

  • 通过角色回收权限

将CREATE VIEW的权限从c##role_a角色中回收

REVOKE CREATE VIEW FROM c##role_a ;

删除角色

  • 当某个角色不再使用时,可以直接利用DROP命令将其删除。

DROP ROLE 角色名称 ;

  • 删除c##role_b角色

DROP ROLE c##role_b ;

预定义角色

  • 在Oracle之中为了减轻管理员的负担,专门提供了一些预定义角色。
  • 将CONNECT、RESOURCE角色授予c##wendy用户
    • GRANT CONNECT , RESOURCE TO c##wendy ;

预定义角色

描述

EXP_FULL_DATABASE

导出数据库权限

IMP_FULL_DATABASE

导入数据库权限

SELECT_CATALOG_ROLE

查询数据字典权限

EXECUTE_CATALOG_ROLE

数据字典上的执行权限

DELETE_CATALOG_ROLE

数据字典上的删除权限

DBA

系统管理的相关权限

CONNECT

授予用户最典型的权限

RESOURCE

授予开发人员的权限

SQL Fundamentals || DCL(Data Control Language) || 角色ROLES的更多相关文章

  1. SQL Fundamentals || DCL(Data Control Language) || 系统权限&对象权限管理(GRANT&REVOKE)

    SQL Fundamentals || Oracle SQL语言 语句 解释 Create user Creates a user(usually performed by a DBA) Grant ...

  2. SQL Fundamentals || DCL(Data Control Language) || 用户管理&Profile概要文件

    SQL Fundamentals || Oracle SQL语言 语句 解释 Create user Creates a user(usually performed by a DBA) Grant ...

  3. 在CDS(Core Data Services)中使用DCL(Data Control Language)

    最近,我在玩ABAP CDS视图,并且遇到了一些权限方面的挑战.我在网上没看到有多少有关CDS开发的文档,因为它是个相当新的东西.因此,我决定写下这篇博客,也许我的想法可以帮助到一些人. 和你已经意识 ...

  4. SQL Fundamentals || Oracle SQL语言

    对于SQL语言,有两个组成部分: DML(data manipulation language) 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据 ...

  5. SQL之DCL

    DCL(Data Control Language)数据库控制语言  授权,角色控制等GRANT 授权REVOKE 取消授权 1)授权命令 grant,语法格式(SQL语句不区分大小写):Grant  ...

  6. SQL Fundamentals:Restricting and Sorting Data限制和排序数据(FROM-WHERE-SELECT-ORDER BY)

    SQL Fundamentals || Oracle SQL语言 控制操作的显示列:基本的SELECT语句 控制行:限定查询和排序显示 分组统计查询 限定查询:WHERE字句 排序显示:ORDER B ...

  7. 数据库原理及应用-SQL数据操纵语言(Data Manipulation Language)和嵌入式SQL&存储过程

    2018-02-19 18:03:54 一.数据操纵语言(Data Manipulation Language) 数据操纵语言是指插入,删除和更新语言. 二.视图(View) 数据库三级模式,两级映射 ...

  8. [AS/400] Control Language(CL) 基本概念

    本文内容源于 Go4AS400 简介 AS400 Control Language(CL) 是由指令(Command)组合而成,用于控制操作和调用系统功能.在 CL 程序中,指令用于和系统 OS400 ...

  9. SQL to JSON Data Modeling with Hackolade

    Review: SQL to JSON data modeling First, let’s review, the main way to represent relations in a rela ...

随机推荐

  1. Linux环境SVN命令行使用经验总结(转)

    在windows机器上开发得差不多了之后,打包传送到开发机编译,在开发机上解决编译错误. [缺点] 浪费时间在打包解包,机器间传输代码. 在windows机器上开发之后,check in代码进分支,在 ...

  2. 【代码审计】iZhanCMS_v2.1 前台GoodsController.php页面存在SQL注入漏洞分析

      0x00 环境准备 iZhanCMS官网:http://www.izhancms.com 网站源码版本:爱站CMS(zend6.0) V2.1 程序源码下载:http://www.izhancms ...

  3. 我的WAF Bypass实战系列

    ​ 梳理了一下自己写过的WAF Bypass相关的文章,按照编写时间顺序,整理成了一个WAF Bypass实战系列,如果你准备了解WAF攻防这一块的内容,可以来了解一下. 第一篇:<Bypass ...

  4. hibernate sqlite jdbctemplate 待研究

    http://my.oschina.net/lldy/blog/39058                                   hibernate sqlite http://foru ...

  5. springboot 集成elasticsearch

    In this article, we will discuss about “How to create a Spring Boot + Spring Data + Elasticsearch Ex ...

  6. 升级nodejs至最新

    网上找出了很多升级nodejs版本的方法,都不太好用,直至发现这个: 在命令行窗口中执行:where node: 然后在nodejs官网中下载最新版本,将刚才目录下node.exe替换掉: 最后执行: ...

  7. 《Mysql 入门很简单》(读后感②)

    接上篇~ 1.UNIX时间戳函数: UNIX_TIMESTAMP()函数以UNIX时间戳的形式返回当前时间: UNIX_TIMESTAMP(d)函数将时间d以UNIX时间戳的形式返回: FROM_UN ...

  8. mysql5.6.34-debug Source distribution在树莓派下编译的几个错误

    raspberrypi下编译mysql5.6 debug版源码. 1. 启动错误 和mysqld相关的文件及文件夹权限必须设置为mysql用户可读可写可执行,特别是/var/run/mysqld/目录 ...

  9. Python错误和异常 学习笔记

    错误和异常概念 错误:     1.语法错误:代码不符合解释器或者编译器语法     2.逻辑错误:不完整或者不合法输入或者计算出现问题 异常:执行过程中出现万体导致程序无法执行     1.程序遇到 ...

  10. 使用CMake编译跨平台静态库

    在开始介绍如何使用CMake编译跨平台的静态库之前,先讲讲我在没有使用CMake之前所趟过的坑.因为很多开源的程序,比如png,都是自带编译脚本的.我们可以使用下列脚本来进行编译:   . / con ...