Oracle入门第六天(上)——用户控制
一、概述
权限的分类:
系统权限: 对于数据库的权限
对象权限: 操作数据库对象的权限
基本上,权限的控制和之前介绍的管理控制台是相通的,所以基本可以大概将此节看作图形化操作的SQL语句操作版本
二、用户管理
1.创建用户
DBA使用以下语法创建:
CREATE USER user
IDENTIFIED BY password;
// 普通用户可以使用ALTER USER进行自己的密码修改
切换成SYSTEM用户,创建示例如下:
CREATE USER cc01
IDENTIFIED BY c123456789
当然,这个用户通过命令行创建是不能登录的,没有CREATE SESSION权限,接下来介绍常用的权限管理:
2.用户权限管理
GRANT privilege [, privilege...]
TO user [, user| role, PUBLIC...];
一般常用开发者需要的权限如下:(完整权限也可以通过管理控制台查看了解)

示例:
GRANT CREATE SESSION,CREATE TABLE
TO cc01
这样,用户就有权限创建表了,不过由于默认没有给表空间,还需要给予表空间才能成功建表
3.创建用户表空间
ALTER USER atguigu01 QUOTA UNLIMITED
ON users
示例:
ALTER USER atguigu01 QUOTA 5M
ON users
三、角色管理
1.角色是什么
角色是对一部分权限的封装,使用图示如下:

2.创建角色
CREATE ROLE manager
给角色赋予权限:
GRANT CREATE SESSION,CREATE TABLE
TO manager
给用户授予角色:
GRANT manager TO cc01
四、对象管理
对象权限概述(对象就是之前介绍的数据库对象)

不同的对象具有不同的对象权限
对象的拥有者拥有所有权限
对象的拥有者可以向外分配权限
授予对象权限
GRANT object_priv [(columns)]
ON object
TO {user|role|PUBLIC}
[WITH GRANT OPTION];
WITH GRANT OPTION 使用户同样具有分配权限的权利(对应管理控制台中管理选项的勾与叉)
示例:
GRANT select
ON employees
TO sue, rich;
这样就可以在别的角色进行查询操作了:
SELECT * FROM SCOTT.employees
查询权限分配情况

使用这些视图的示例:
SELECT * FROM USER_SYS_PRIVS;
收回权限
REVOKE {privilege [, privilege...]|ALL}
ON object
FROM {user[, user...]|role|PUBLIC}
[CASCADE CONSTRAINTS];
示例:
REVOKE select, insert
ON departments
FROM scott;
小结:

Oracle入门第六天(上)——用户控制的更多相关文章
- Oracle入门第六天(下)——高级子查询
一.概述 主要内容: 二.子查询介绍 1.简单子查询(WHERE子查询) SELECT last_name FROM employees WHERE salary > (SELECT salar ...
- Oracle入门第六天(中)——SET运算符(交并差集)
一.概述 1.SET运算符是什么 将多个查询用 SET 操作符连接组成一个新的查询 UNION/UNION ALL——并集 INTERSECT——交集 MINUS——差集(A\B=A中去掉B中也有的元 ...
- 28、Oracle(四)用户权限控制
一)用户Oracle中的用户分为二大类1)Oracle数据库服务器创建时,由系统自动创建的用户,叫系统用户,如sys.2)利用系统用户创建的用户,叫普通用户,如scott,hr,c##tiger,zh ...
- Oracle入门《Oracle介绍》第一章1-4 Oracle 用户管理
1.Oracle 默认用户 只有用合法的用户帐号才能访问Oracle数据库 Oracle 有几个默认的数据库用户 数据库中所有数据字典表和视图都存储在 SYS 模式中.SYS用户主要用来维护系统信息和 ...
- Oracle入门笔记 ——启动
参考教材<深入浅出Oracle> 兴趣 + 勤奋 + 坚持 + 方法 ≍ 成功 DBA生存之四大守则 1.备份重于一切: 2.三思而后行: 3.rm是危险的: 4.你来制定规范: 第一章: ...
- ELKStack之极速入门(上)
ELKStack之极速入门(上) 链接:https://pan.baidu.com/s/1V2aYpB86ZzxL21Hf-AF1rA 提取码:7izv 复制这段内容后打开百度网盘手机App,操作更方 ...
- 使用Oracle的PROFILE对用户资源限制和密码限制
转至:https://blog.csdn.net/zhuomingwang/article/details/6444240?utm_medium=distribute.pc_relevant.none ...
- Oracle锁定和解锁用户的命令
转:http://database.51cto.com/art/200910/158576.htm 在DBA的日常工作中,经常遇到为Oracle用户解锁的操作:这篇文章给出在命令行下进行Oracle用 ...
- [转]Apache Maven 入门篇 ( 上 )
原文地址:Apache Maven 入门篇 ( 上 ) 作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这 ...
随机推荐
- C++通过Callback向C#传递数据
现在比较流行C#与C++融合:C#做GUI,开发效率高,C++做运算,运行效率高,二者兼得. 但是C++与C#必然存在数据交互,C#与C++dll的数据交互从来都是一个让人头疼的问题. 从调用方式看也 ...
- SharePoint2007深入浅出——使用jQuery UI
jQuery1.6.4.js + jQuery UI 1.8.16.js 只有这个版本在IE8下的兼容性视图+Quirks(文本模式),dialog可以正常显示.
- 如何去掉android的标题栏
利用eclipse创建一个android工程向导后默认的会给app加上一个标题栏,如下图如何去掉红色的标题栏呢?从网上找的有下面的几种方法.1.通过代码去掉在Activity的onCreate中加入如 ...
- 《梦断代码》读书笔记 part3
第六章:搞掂设计方案 备份很重要. 必须从小项目开始,而且永远不要期望它变大,如果你这么想,就会做过度设计,把它想象得过于重要,更坏的情况是,你可能会被自己想象中的艰难工作所吓到.所以要从小 处起步, ...
- Django中模型(四)
Django中模型(四) 五.创建对象 1.目的 向数据库中添加数据.当创建对象时,Django不会对数据库进行读写操作,当调用save()方法时,才与数据库交互,将对象保存到数据库中 2.注意 __ ...
- 1、Dubbo-分布式系统定义
1.分布式基础理论 1.1).什么是分布式系统? <分布式系统原理与范型>定义: “分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统” 分布式系统(distribu ...
- 子查询 SQL
SELECT *,(SELECT COUNT(*) FROM yd_order o WHERE FROM_UNIXTIME(o.`ctime`,'%Y-%m')='2016-06' AND o.uid ...
- Hibernate工作原理及为什么要用?. Struts工作机制?为什么要使用Struts? spring工作机制及为什么要用?
三大框架是用来开发web应用程序中使用的.Struts:基于MVC的充当了其中的试图层和控制器Hibernate:做持久化的,对JDBC轻量级的封装,使得我们能过面向对象的操作数据库Spring: 采 ...
- CC2640R2F&TI-RTOS 拿到 TI CC2640R2F 开发板 第三件事就是使用 TI-RTOS 创建 一个任务 和 使用 信号量 超时来闪烁 LED灯
/* * data_process.c * * Created on: 2018年7月5日 * Author: admin */ #include <ti/sysbios/knl/Task.h& ...
- Redmine使用学习
注:陈刚在公司架设了 Redmine xx公司产品档案管理系统,并且与tortoisegit集成了在一起:真心不错!比如git:192.168.10.46,而redmine:192.168.10.46 ...