2.windows-oracle实战第二课 -用户管理
创建用户:在oracle中创建一个用户有create user语句,一般是具有dba(数据库管理员)的权限才能使用。用户创建在所在的实例数据库中。

给用户修改密码:passw 给别人修改密码需要dba的权限

删除用户:drop 一般需要dba的身份,如果非dba身份删除则需要drop user的权限
drop user 用户名 cascade
如果删除的用户,已经创建了表,那么需要在删除的时候,需要带一个参数 cascade,级联删除所拥有的表。
用户管理的综合案例:创建的新用户是没有任何权限的,甚至连登陆权限都没有,需要为其指定相应的权限,给用户赋权用grant,回收权限用revoke。
oracle大概有140多种权限,分为两种:系统权限,对象权限
系统权限:用户对数据库的相关权限,例如登陆数据库权限create session,创建表、视图、索引、触发器等140多种权限。
对象权限:用户对其他用户数据对象操作的权限,有20多个权限。select、insert、update、delete、all、create index等权限
角色:oracle定义一些角色,将系统权限交给角色。比如connect 角色有7种权限,包括登陆权限create session。还有两个角色需要了解,一个是dba,一个是resource(让用户在任意一个表空间建表)
预定义角色:安装数据库oracle已经有了。connect,dba,resource
自定义角色:系统没有,自己定义的。(企业会用到精细的权限,这是orcle的强大之处)

希望小明访问scott的emp表。这里需要对象权限。
grant select on emp to xiaoming;(sys、system、scott等都可以进行授权)

scott收回xiaoming的emp表查看权限

对权限的维护:希望xiaoming用户可以查询scott的emp表的同时还希望小明把这个权限传递。
如果是对象权限:grant select on emp to xiaoming with grant option

如果是系统权限:grant connect to xiaoming with admin option
如果scott把xiaoming对emp表的查询权限回收,那么xihong的查询权限一样被回收。
使用profile管理用户口令:profile是口令限制,资源限制的命令集合,当建立数据库时,oracle会自动建立名称为default的profile.当建立用户没有指定profile选项,那么oracle会将default分配给用户。此文件很难找到,也无需必要找到。
(1)账户锁定
指定该账户登陆时最多可以输入密码次数,也可以指定用户锁定的时间,一般用dba身份。
例子:指定scott用户最多只能尝试3次,锁定时间为2天。(锁定时间至少一天)
创建profile文件
create profile dangjw limit failed_login_attempts 3 password_lock_time 2;
分配给xiaoming,替代原来默认的用户口令限制:

测试:

(2)给账户解锁
alter user xiaoming account unlock;

(3)终止口令:为了让用户定期修改密码可以使用终止口令的指令来完成,也要用dba身份。
例子:给前面创建的用户xiaoming创建一个profile文件,要求该用户每隔10天要修改自家的登陆密码,宽限期为2天。(实际上是12天)
create profile myprofile limit password_file_time 10 password_grace_time 2;
alter user xiaoming profile myprofile
口令历史:如果希望用户在修改密码时,不能使用以前的密码,可以使用口令历史,oracle会将口令修改的信息存放到数据字典种,当用户修改密码时,oracle会进行比较,如果发现一样,会提醒重新输入密码。
1)建立profile文件
create profile password_history limit password_life_time 10 password_grace_time 2 password_reuse_time 10(指定口令可重用时间即10天后可以重复)
删除文件profile :drop profile password_history cascade
2.windows-oracle实战第二课 -用户管理的更多相关文章
- Linux基础第五课——用户管理
用户管理 一个用户必须有一个主组 一个用户可以拥有多个组 但是必须一个主组 其它组是临时组 一个组可以拥有多个用户 用户的信息放到 /etc/passwd 用户的密码 存入 /etc/shadow 组 ...
- Git速成学习第二课:管理修改与删除文件
Git速成学习笔记整理于廖雪峰老师的官网网站:https://www.liaoxuefeng.com/ 管理修改 首先我们需要明确,为什么说Git管理的是修改而不是文件呢? 我们首先对于已有的read ...
- TensorFlow实战第二课(添加神经层)
莫烦tensorflow实战教学 1.添加神经层 #add_layer() import tensorflow as tf def add_layer(inputs,in_size,out_size, ...
- puppet aix之自动化用户管理
一. 用户组的管理 (一) Puppet组管理特性 1. manages_aix_lam 用来管理AIX的LAM(Loadable Authentication Module)系统. 2 ...
- 用户管理 之 Linux 用户(User)查询篇
用户(User)和用户组(Group)的配置文件,是系统管理员最应该了解和掌握的系统基础文件之一,从另一方面来说,了解这些文件也是系统安全管理的重要组成部份:做为一个合格的系统管理员应该对用户和用户组 ...
- 用户管理 之 用户(User)和用户组(Group)配置文件详解
用户(User)和用户组(Group)的配置文件,是系统管理员最应该了解和掌握的系统基础文件之一,从另一方面来说,了解这些文件也是系统安全管理的重要组成部份:做为一个合格的系统管理员应该对用户和用户组 ...
- oracle 学习笔记--用户管理
oracle 用户管理 创建用户(需要具有dba权限的用户) create user 用户名 identified by 密码 defaule tablespace users //默认表空间 ...
- Oracle DB 执行用户管理的备份和恢复
• 说明用户管理的备份和恢复与服务器管理的备份和恢复 之间的差异 • 执行用户管理的数据库完全恢复 • 执行用户管理的数据库不完全恢复 备份和恢复的使用类型 数据库备份和恢复的类型包括: • 用户管理 ...
- Oracle—用户管理的完全恢复(一)
一.分类 可以分为在非归档模式下和归档模式下的完全恢复,完全恢复主要是针对归档模式下的,在非归档模式下很难做到完全恢复,除非是在做恢复时,联机重做日志还没有被重写. 二.非归档的有关性质 1.在非归档 ...
随机推荐
- C++编程学习(四)声明/枚举
一.typedef 声明 typedef 为一个已有的类型取一个新的名字 typedef int num;//feet是int的另一个名字num a;//a是int类型 二.枚举类型 enum col ...
- React之生命周期函数(16.3以后新版本)
学习链接: https://www.jianshu.com/p/514fe21b9914 学习链接:https://zhuanlan.zhihu.com/p/38030418 学习链接:https:/ ...
- missing KW_END at ')' near '<EOF>'
case when 没写 end
- python全局变量、回调函数
1.python全局变量相关概念及使用 来自菜鸟教程上的例子: http://www.runoob.com/python3/python3-function.html 一.python入参需要注意地方 ...
- 最短路问题--P4779 单源最短路(标准版)Dijkstra堆优化
题目背景 2018 年7月 19 日,某位同学在 NOI Day 1 T1 归程 一题里非常熟练地使用了一个广为人知的算法求最短路. 最终,他因此没能与理想的大学达成契约. 小 F 衷心祝愿大家不再重 ...
- POJ 2828 线段树活用
题目大意:依次描述了一个N个人的队伍,每个人所站的序号以及他的价值,依次描述每个人的过程中,存在序号相同的人,表示该人插入到了前一个序号相同的人的前面.最后输出整个队伍的值排列情况. 这个题目确实难以 ...
- 干货 | 把Flutter扩展到微信小程序端的探索
Google Flutter是一个非常优秀的跨端框架,不仅可以运行在Android. iOS平台,而且可以支持Web和桌面应用.在国内小程序是非常重要的技术平台,我们也一直思考能否把Flutter扩展 ...
- 201803-1 跳一跳 Java
思路: 一个变量plus记录叠加的数,遇到2就+2 import java.util.Scanner; public class Main { public static void main(Stri ...
- 201609-2 火车购票 Java
思路待补充 import java.util.Scanner; class Main{ public static void main(String[] args) { //100个座位 int[] ...
- 吴裕雄--天生自然 JAVASCRIPT开发学习: 验证 API
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> ...