SQL Fundamentals || DCL(Data Control Language) || 角色ROLES
|
语句 |
解释 |
|
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的更多相关文章
- SQL Fundamentals || DCL(Data Control Language) || 系统权限&对象权限管理(GRANT&REVOKE)
SQL Fundamentals || Oracle SQL语言 语句 解释 Create user Creates a user(usually performed by a DBA) Grant ...
- SQL Fundamentals || DCL(Data Control Language) || 用户管理&Profile概要文件
SQL Fundamentals || Oracle SQL语言 语句 解释 Create user Creates a user(usually performed by a DBA) Grant ...
- 在CDS(Core Data Services)中使用DCL(Data Control Language)
最近,我在玩ABAP CDS视图,并且遇到了一些权限方面的挑战.我在网上没看到有多少有关CDS开发的文档,因为它是个相当新的东西.因此,我决定写下这篇博客,也许我的想法可以帮助到一些人. 和你已经意识 ...
- SQL Fundamentals || Oracle SQL语言
对于SQL语言,有两个组成部分: DML(data manipulation language) 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据 ...
- SQL之DCL
DCL(Data Control Language)数据库控制语言 授权,角色控制等GRANT 授权REVOKE 取消授权 1)授权命令 grant,语法格式(SQL语句不区分大小写):Grant ...
- SQL Fundamentals:Restricting and Sorting Data限制和排序数据(FROM-WHERE-SELECT-ORDER BY)
SQL Fundamentals || Oracle SQL语言 控制操作的显示列:基本的SELECT语句 控制行:限定查询和排序显示 分组统计查询 限定查询:WHERE字句 排序显示:ORDER B ...
- 数据库原理及应用-SQL数据操纵语言(Data Manipulation Language)和嵌入式SQL&存储过程
2018-02-19 18:03:54 一.数据操纵语言(Data Manipulation Language) 数据操纵语言是指插入,删除和更新语言. 二.视图(View) 数据库三级模式,两级映射 ...
- [AS/400] Control Language(CL) 基本概念
本文内容源于 Go4AS400 简介 AS400 Control Language(CL) 是由指令(Command)组合而成,用于控制操作和调用系统功能.在 CL 程序中,指令用于和系统 OS400 ...
- 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 ...
随机推荐
- Linux环境SVN命令行使用经验总结(转)
在windows机器上开发得差不多了之后,打包传送到开发机编译,在开发机上解决编译错误. [缺点] 浪费时间在打包解包,机器间传输代码. 在windows机器上开发之后,check in代码进分支,在 ...
- 【代码审计】iZhanCMS_v2.1 前台GoodsController.php页面存在SQL注入漏洞分析
0x00 环境准备 iZhanCMS官网:http://www.izhancms.com 网站源码版本:爱站CMS(zend6.0) V2.1 程序源码下载:http://www.izhancms ...
- 我的WAF Bypass实战系列
梳理了一下自己写过的WAF Bypass相关的文章,按照编写时间顺序,整理成了一个WAF Bypass实战系列,如果你准备了解WAF攻防这一块的内容,可以来了解一下. 第一篇:<Bypass ...
- hibernate sqlite jdbctemplate 待研究
http://my.oschina.net/lldy/blog/39058 hibernate sqlite http://foru ...
- springboot 集成elasticsearch
In this article, we will discuss about “How to create a Spring Boot + Spring Data + Elasticsearch Ex ...
- 升级nodejs至最新
网上找出了很多升级nodejs版本的方法,都不太好用,直至发现这个: 在命令行窗口中执行:where node: 然后在nodejs官网中下载最新版本,将刚才目录下node.exe替换掉: 最后执行: ...
- 《Mysql 入门很简单》(读后感②)
接上篇~ 1.UNIX时间戳函数: UNIX_TIMESTAMP()函数以UNIX时间戳的形式返回当前时间: UNIX_TIMESTAMP(d)函数将时间d以UNIX时间戳的形式返回: FROM_UN ...
- mysql5.6.34-debug Source distribution在树莓派下编译的几个错误
raspberrypi下编译mysql5.6 debug版源码. 1. 启动错误 和mysqld相关的文件及文件夹权限必须设置为mysql用户可读可写可执行,特别是/var/run/mysqld/目录 ...
- Python错误和异常 学习笔记
错误和异常概念 错误: 1.语法错误:代码不符合解释器或者编译器语法 2.逻辑错误:不完整或者不合法输入或者计算出现问题 异常:执行过程中出现万体导致程序无法执行 1.程序遇到 ...
- 使用CMake编译跨平台静态库
在开始介绍如何使用CMake编译跨平台的静态库之前,先讲讲我在没有使用CMake之前所趟过的坑.因为很多开源的程序,比如png,都是自带编译脚本的.我们可以使用下列脚本来进行编译: . / con ...