4 Oracle 用户管理

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 学习了解4 Oracle 用户管理。

4 Oracle 用户管理


Oracle基础知识整理: C站下载链接
1 Oracle 基础知识 1 Oracle 基础知识
3 Oracle 基本使用 2 Oracle 基本使用


文章目录


4 Oracle 用户管理

4.1 创建用户

4.2 删除用户

4.3 给登录用户赋权

4.4 connect角色:权限的批量授权(形象比喻:当官)

4.5 用户管理的综合案例

4.5.1.权限的传递

4.5.2使用profile管理用户口令

(1)账户锁定

(2)给账户(用户)解锁

(3)终止口令

(4)口令历史:

(5)删除profile口令


4 Oracle 用户管理


4.1 创建用户


概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用。


举例:


create user xiaoming identified by m123


命令解析:


关键词:


create user


identified by


xiaoming:用户的名字


m123:密码(oracle中密码必须以字母开头)


回车时会报错:


报错原因:你现在是普通,权限不足


解决方案:conn system/manager然后再输入


create user xiaoming identified by m123


然后就可以正常运行了,创建成功


(系统管理员可以修改其他用户的密码)


4.2 删除用户


概述:一般以dba的身份去删除某个用户,如果用其他用户去删除用户则需要具有drop user的权限。比如:drop user 用户名[cascade]


``在删除用户时,注意:


如果要删除的用户,已经创建了一个表,那么就需要在删除时带一个参数 cascade;


(cascade表示删除用户包括用户创建的表,级联删除)


4.3 给登录用户赋权


grant connect to xiaoming


给小明赋登录权限


(oracle大概有140多种权限,权限大概分为两种:系统权限和对象权限)


系统权限:是指用户对数据库访问的相关权限。


对象权限:是指用户对其他用户的数据对象访问的权限。


数据对象:是指用户对象创建的表、视图、存储过程、触发器一系列的数据库里的对象。


对象权限简单的划分:select,insert,update,delete,all,create index


eg.


希望xiaoming用户可以去查询emp表:

SQL>grant resource to xiaoming;


希望xiaoming用户可以去查询scott用户的emp表:(此语句应该由scott用户或者超级管理员来授权)

SQL>grant select on emp to xiaoming


希望xiaoming用户可以去修改scott用户的emp表:(此语句应该由scott用户或者超级管理员来授权)

SQL>grant update on emp to xiaoming


希望xiaoming用户可以去增删改查scott用户的emp表:(此语句应该由scott用户或者超级管理员来授权)

SQL>grant all on emp to xiaoming


·方案:(这条命令是用xiaoming的身份来进行查询的)方案的概念以后讲解

SQL>select * from scott.emp


4.4 connect角色:权限的批量授权(形象比喻:当官)


角色分两种:自定义角色 和 预定义角色


预定义角色:在安装数据库的时候直接分配好了


自定义角色:比较灵活,根据需要自定定义


oracle的精细度高


另外两个角色:


·dba角色:轻易不要授权,如果将该角色授予给某一个普通的用户,那么这个用户就拥有了dba所有的权限


·resource 是授予开发人员的

eg. grant resource to xiaoming;


4.5 用户管理的综合案例


概述:创建的新用户是没有任何权限的,甚至连登录数据库的权限都没有,需要为其指定相应的权限,给一个用户赋权限使用命令grant,回收权限使用命令revoke。


eg.


scott希望收回xiaoming对emp表的查询权限

revoke select on emp from xiaoming


4.5.1.权限的传递

eg.


希望xiaoming用户可以去查询scott的emp表/还希望小明可以把这个权限继续给别人


–如果是对象权限,就加入with grant option


第一步:

SQL>grant selet on emp to xiaoming with grant option;


第二步:

SQL>grant select on scott.emp to xiaohong;


–如果是系统权限


system给xiaoming权限时:如果带了with admin option就说明xiaoming可以把这个权限继续传递下去

SQL>grant connect to xiaoming with admin option 
SQL>grant select on system.emp to xiaohong;

如果scott 把xiaoming 对emp表的查询权限回收,那么xiaohong会怎样?


–xiaohong的权限也被收回,无法继续访问


4.5.2使用profile管理用户口令


概述:profile是口令限制,资源限制的命令集合,当建立数据库时,,oracle会自动建立名称为default的profile。当建立用户没有指定profile选项,那oracle就会将default分配给用户。


(1)账户锁定


概述:指定该账户(用户)登陆时最多可以输入密码的次数,也可以指定用户锁定的时间(天)一般用dba的身份去执行该命令


例子:指定tea这个用户最多只能尝试3次登陆,锁定时间2天,让我们看看怎么实现。

sql>create profile lock_account limit
failed_login_attempts 3 password_lock_time 2;
sql>alter user tea profile lock_account;


lock_account :你创建的那个规则的名称


命令解析:


3:代表用户输入错误的次数


2:代表锁定多少天

(2)给账户(用户)解锁

sql>alter user tea account unlock;


(3)终止口令


为了让用户定期修改密码可以使用终止口令的指令来完成。


同样这个命令也需要dba身份来操作。


例子:给前面创建的用户tea创建一个profile文件,要求该用户每隔10天要修改自家的登陆密码,宽限期为2天,看看日志怎么做:

sql>create profile myprofile limit password_life_time 10 password_grace_time 2;
sql>alter user tea profile myprofile


命令解析:


10:表示密码有效期限为10天


2:表示宽限期限为2天


(4)口令历史:


概述:如果希望用户在修改密码时,不能使用以前使用过的密码,可使用口令历史,这样oracle就会将口令修改的信息保存到数据字典中,这样当用户修改密码时,oracle就会对新旧密码进行比较,当发现新旧密码一样时,就会提示用户重新输入密码。


例子:


1)建立profile

sql> create profile password_history limit pasword_life_time 10 password_grace_time 2 password_reuse_time 10

解析:password_reuse_time


//指定口令可重用时间即10天后就可以重用


2)分配给某个用户。


(5)删除profile口令


概述:当不需要某个profile文件时,可以删除该文件

sql>drop profile password_history[cascade]




相关文章
|
6月前
|
Oracle 关系型数据库 数据库
Oracle系列之四:用户管理
Oracle系列之四:用户管理
|
6月前
|
SQL Oracle 关系型数据库
【ORACLE】 事务 | 锁 | 约束 | 权限、角色与用户管理
【ORACLE】 事务 | 锁 | 约束 | 权限、角色与用户管理
69 1
|
Oracle 关系型数据库 数据库
Oracle用户管理
Oracle用户管理
|
Oracle 关系型数据库 数据库
oracle学习6-oracle用户管理
oracle学习6-oracle用户管理
174 0
|
SQL Oracle 关系型数据库
Oracle用户管理命令
Oracle用户管理命令
127 0
|
SQL 关系型数据库 数据库