ORCLE数据库用户、权限、角色管理
PS:中括号表示可选项。
ORACLE 用户管理
1.创建用户
CREATE USER username --用户名
IDENTIFIED BY password --密码
[ACCOUNT LOCK|UNLOCK] --表示用户是否锁定状态
[PASSWORD EXPIRE] --表示密码在登录后马上失效
示例:CREATE USER test IDENTIFIED BY test ACCOUNT LOCK PASSWORD EXPIRE; (创建完成后并不能马上登录,需赋予session权限)
2.修改用户
ALTER USER username --用户名
[IDENTIFIED BY password] --密码
[ACCOUNT LOCK|UNLOCK] --表示用户是否锁定状态
[PASSWORD EXPIRE] --表示密码在登录后马上失效
示例: ALTER USER test ACCOUNT UNLOCK;
3.删除用户
DROP USER name [CASCADE] --如果用户拥有数据库对象,就必须使用cascade关键字。
ORACLE 权限管理
1.权限的概念与作用
表示:权利的责任范围;系统中设置的安全规则或者安全策略。
2.权限的分类
1)系统权限:能否在数据库上完成某个动作;例如创建会话,创建表、查询任意表;
2)对象权限:能否在某个数据库对象上完成某种操作;例如:查询emp表,修改dept表。
3.权限的授予与回收
1)系统权限的授予
GRANT priv TO user|role [WITH ADMIN OPTION];--是否可以级联授予。
示例:GRANT create session TO test WITH ADMIN OPTION;
授予用户创建会话的权限。--才能连接数据库。 此时test可以连接到数据库,同时也可以授权其他用户的会话权限。
2)系统权限的回收
REVOKE priv FORM user|role;
示例:REVOKE create session FROM test; PS:系统权限的授予有级联,回收却没有级联收回。
4.对象权限的授予与回收。
1)对象权限的授予:
GRANT priv [(col,...)] ON object TO user|role [WITH GRANT OPTION];
示例:用system用户创建了表 t(id)。
GRANT select,update(t) ON system.t to test2 with grant option; 然后用test2 登录后就可以查询和更新t表。
select * from system.t ;
2)对象权限的回收: REVOKE priv[(col,...)] ON object FROM user|role;
示例:REVOKE update on system.t FROM tets2; //回收update权限的时候,收回权限只能收回整个表的update权限。 注意:对象权限的回收是级联的,即如果此时test2已将权限再次分配给test1.那么test1的权限也会被收回。
ORACLE 角色管理
1.角色的概念与作用
本质上是权限的集合;用于简化权限的管理。
2.角色的创建于删除
1)角色创建: CREAET ROLE role;
示例:创建一个“员工”角色; CREATE ROLE employee;
2)删除角色: DROP ROLE role; DROP REOLE employee;
3.角色上的权限授予与回收(与用户权限的授予与回收类似)
1)系统权限的授予:
GRANT pirv TO role [WITH ADMIN OPTION];
示例:授予角色 创建session的权限。(所有与角色关联的用户都拥有该权限。)
GRANT create session TO employee with admin option;
2)系统权限的回收:
REVOKE priv FROM role;
示例:回收角色 创建session的权限。(所有与角色关联的用户都失去该权限。)
REVOKE create session FROM employee;
3)对象权限的授予:
GRANT [priv(col...)] ON object TO role;
示例:将system的表t3的查询权限授予employee角色。 GRANT select ON system.t3 TO employee;
4)对象权限的回收: REVOKE [priv(col...)] ON object FROM role; 示例:将system表t3的查询权限收回。
REVOKE select ON SYSTEM.T3 FROM employee;
4.用户与角色关联(用户上授予角色)
GRANT role TO user; 示例:将test1,test2关联角色employee;
GRANT employee TO test1,test2;
PS:经测试:如果在授予角色之前用户已登录,则需要重新登录后角色对应的权限才能生效。
5.用户与角色取消关联(用户上回收角色)
REVOKE role FROM user; 示例:将用户test1,test2与角色employee取消关联。
PS:经测试:如果在回收角色之前用户已登录,则需要重新登录后角色对应的权限才能收回。
ORCLE数据库用户、权限、角色管理的更多相关文章
- 一文带你学习DWS数据库用户权限设计与管理
前言 本文将介绍DWS基于RBAC(Role-Based Access Control,基于角色的访问控制)的数据库用户权限管理.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成 ...
- Oracle数据库---用户与角色
Oracle数据库---用户与角色 2019年02月26日 10:56:10 俊杰梓 阅读数:21 标签: 数据库 更多 个人分类: 数据库 版权声明:版权所有,转载请注明出处.谢谢 https: ...
- MySQL 8.0用户和角色管理
MySQL 8.0用户和角色管理 MySQL8.0新加了很多功能,其中在用户管理中增加了角色的管理,默认的密码加密方式也做了调整,由之前的sha1改为了sha2,同时加上5.7的禁用用户和用户过期的设 ...
- Oracle 用户、角色管理简介
Oracle 用户.角色管理简介 by:授客 QQ:1033553122 创建用户 形式1:创建名为testacc2的用户 CREATE USER testacc2 IDENTIFIED BY abc ...
- SQL SERVER服务器登录名、角色、数据库用户、角色、架构的关系
原创链接:https://www.cnblogs.com/junfly/articles/2798023.html SQL SERVER 基础教程中关于服务器登录名.服务器角色.数据库用户.数据库角色 ...
- Navicat连接Oracle数据库用户权限问题
解决Navicat连接Oracle数据库用户权限问题: 第一步:在cmd窗口运行[sqlplus], 第二步:输入Oracle的用户名和口令连接Oracle数据库, 第三步:执行授权代码,给用户授予D ...
- SQL SERVER 2008 服务器登录名、角色、数据库用户、角色、架构的关系
sql server登录名.服务器角色.数据库用户.数据库角色.架构区别联系 1.一个数据库用户可以对应多个架构(架构是表容器).架构里面包含的是数据库表. 2.一个数据库角色有可能涉及多个架构.数据 ...
- 转 oracle 学习- 用户权限角色
创建和删除用户是Oracle用户管理中的常见操作,但这其中隐含了Oracle数据库系统的系统权限与对象权限方面的知识.掌握还Oracle用户的授权操作和原理,可以有效提升我们的工作效率. Oracle ...
- MongoDB用户,角色管理 --- MongoDB基础用法(三)
用户管理 用户创建 MongoDB采用基于角色的访问控制(RBAC)来确定用户的访问. 授予用户一个或多个角色,确定用户对MongoDB资源的访问权限和用户可以执行哪些操作. 用户应该只有最小权限集才 ...
随机推荐
- PAT 乙级 1077
题目 题目地址:PAT 乙级 1077 题解 本题没什么难度,但是要注意细节问题,下面简单来说一下: vector 把输入的学生打分存起来,直接用算法库中的 sort 函数给它们排个序,之后直接剔除首 ...
- 初涉网络流[EK&dinic]
主要还是板子 Edmonds-Karp 从S开始bfs,直到找到一条到达T的路径后将该路径增广,并重复这一过程. 在处理过程中,为了应对“找到的一条路径把其他路径堵塞”的情况,采用了建反向弧的方式来实 ...
- RAID阵列搭建
RAID0 2个或2个以上磁盘,称为条带卷,无容错,可提高读写效率,其中一个磁盘损坏,所有文件不可读磁盘大小尽量统一,或者以最小的空间为标准,可用空间=N*min RAID1 2个或2个磁盘以上,称为 ...
- (71)Received empty response from Zabbix Agent问题解决
刚接触zabbix新手少部分会出现如下错误: Received empty response from Zabbix Agent at [192.168.1.2]. Assuming that age ...
- 15Shell脚本—流程控制
流程控制语句 尽管可以通过使用Linux命令.管道符.重定向以及条件测试语句编写最基本的Shell脚本,但是这种脚本并不适用于生产环境.原因是它不能根据真实的工作需求来调整具体的执行命令,也不能根据某 ...
- python学习之判断和循环的使用
作为一个小白运维,工作中常常发现很多东西还是自动化的好一点,所以就想到的用python来编写脚本.当然,我肯定是不会的啦,哈哈哈~~~~所以啦,身为一个懒癌晚期的上班族不得不在闲余时间来好好学学pyt ...
- arm的开发工具
网上有free的ide可以开发arm cortex的芯片,可以参考List of ARM Cortex-M development tools,Wikipedia,里面有emIDE,embitz等,虽 ...
- Linux学习-软件管理员简介
Linux 界的两大主流: RPM 与 DPKG 目前在 Linux 界软件安装方式最常见的有两种,分别是: dpkg: 这个机制最早是由 Debian Linux 社群所开发出来的,透过 dpkg ...
- VMware Workstation 14 PRO 下安装Ubuntu 16.04 LTS教程
一.准备好安装的VMware Workstation 14 PRO 1.VMware Workstation 14 PRO下载链接:http://rj.baidu.com/soft/detail/13 ...
- day05_01 鸡汤+内容回顾
推荐电影: 1.被解救的姜戈 2.华尔街之狼 3.阿甘正传 4.辛德勒的名单 5.肖申克的救赎 6.上帝之城 7.焦土之城 8.绝美之城 打印多行 msg = "hello 1 hello ...