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数据库用户、权限、角色管理的更多相关文章

  1. 一文带你学习DWS数据库用户权限设计与管理

    前言 本文将介绍DWS基于RBAC(Role-Based Access Control,基于角色的访问控制)的数据库用户权限管理.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成 ...

  2. Oracle数据库---用户与角色

    Oracle数据库---用户与角色 2019年02月26日 10:56:10 俊杰梓 阅读数:21 标签: 数据库 更多 个人分类: 数据库   版权声明:版权所有,转载请注明出处.谢谢 https: ...

  3. MySQL 8.0用户和角色管理

    MySQL 8.0用户和角色管理 MySQL8.0新加了很多功能,其中在用户管理中增加了角色的管理,默认的密码加密方式也做了调整,由之前的sha1改为了sha2,同时加上5.7的禁用用户和用户过期的设 ...

  4. Oracle 用户、角色管理简介

    Oracle 用户.角色管理简介 by:授客 QQ:1033553122 创建用户 形式1:创建名为testacc2的用户 CREATE USER testacc2 IDENTIFIED BY abc ...

  5. SQL SERVER服务器登录名、角色、数据库用户、角色、架构的关系

    原创链接:https://www.cnblogs.com/junfly/articles/2798023.html SQL SERVER 基础教程中关于服务器登录名.服务器角色.数据库用户.数据库角色 ...

  6. Navicat连接Oracle数据库用户权限问题

    解决Navicat连接Oracle数据库用户权限问题: 第一步:在cmd窗口运行[sqlplus], 第二步:输入Oracle的用户名和口令连接Oracle数据库, 第三步:执行授权代码,给用户授予D ...

  7. SQL SERVER 2008 服务器登录名、角色、数据库用户、角色、架构的关系

    sql server登录名.服务器角色.数据库用户.数据库角色.架构区别联系 1.一个数据库用户可以对应多个架构(架构是表容器).架构里面包含的是数据库表. 2.一个数据库角色有可能涉及多个架构.数据 ...

  8. 转 oracle 学习- 用户权限角色

    创建和删除用户是Oracle用户管理中的常见操作,但这其中隐含了Oracle数据库系统的系统权限与对象权限方面的知识.掌握还Oracle用户的授权操作和原理,可以有效提升我们的工作效率. Oracle ...

  9. MongoDB用户,角色管理 --- MongoDB基础用法(三)

    用户管理 用户创建 MongoDB采用基于角色的访问控制(RBAC)来确定用户的访问. 授予用户一个或多个角色,确定用户对MongoDB资源的访问权限和用户可以执行哪些操作. 用户应该只有最小权限集才 ...

随机推荐

  1. tensorflow目标检测API安装及测试

    1.环境安装配置 1.1 安装tensorflow 安装tensorflow不再仔细说明,但是版本一定要是1.9 1.2 下载Tensorflow object detection API  下载地址 ...

  2. day2-python 登录

    # username = 'niuhanyang' # 写一个判断登录的程序: # 输入: username # password # 最大错误次数是3次,输入3次都没有登录成功,提示错误次数达到上限 ...

  3. java上传附件,批量下载附件(一)

    上传附件代码:借助commons-fileupload-1.2.jar package com.str; import java.io.BufferedInputStream;import java. ...

  4. 在SCIKIT中做PCA 逆变换 -- 新旧特征转换

    PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降 ...

  5. 逃离迷宫 HDU - 1728(bfs)

    逃离迷宫 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  6. Cheese Aizu - 0558 (搜索题)

    Time limit8000 ms Memory limit131072 kB チーズ () 問題 今年も JOI 町のチーズ工場がチーズの生産を始め,ねずみが巣から顔を出した.JOI 町は東西南北に ...

  7. HDU - 4027 Can you answer these queries?(线段树)

    给定一个长度为n的序列,m次操作. 每次操作 可以将一个区间内的所有数字变为它的根号. 可以查询一个区间内所有元素的和. 线段树的初级应用. 如果把一个区间内的元素都改为它的根号的话,是需要每个数字都 ...

  8. jmeter switch controller

    工作方式: Switch控制器通过给该控制器中的Value赋值,来指定运行哪个采样器.有两种赋值方式: 1.第一种是数值,Switch控制器下的子节点从0开始计数,通过指定子节点所在的数值来确定执行哪 ...

  9. 聊聊、Nginx 初始化错误信息

    这篇文章我们继续学习 main 方法,我们先来看看 ngx_debug_init() 这个方法. 从方法名我们也知道,debug初始化.我们先看看方法位置在哪.我们来断点在这个方法上面. Functi ...

  10. 常见shell脚本命令整理

    1.cat /dev/null > test.txt txt的文件内容被清空. 2.ls | xargs rm 目录中大量文件的删除 3.查看文件夹下文件个数 ls | wc -w 查看有多少个 ...