oracle笔记(4)-用户管理

本文详细介绍Oracle数据库中用户管理的各项操作,包括创建用户、修改密码、删除用户、权限分配及回收等内容,并深入探讨了不同类型的权限及其使用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

oracle 用户管理


(1) oracle创建用户的sql语句(这里又跟mysql好像):
create user xxmm identified by m123; --注意,by后面的密码必须以字母开头,

--执行权限:sys/system可以创建用户


(2) 给指定用户修改密码:

A.修改自己的密码:passw 回车(或全写password 然后回车,按提示输入)

B.修改他人密码:(要有sysdba角色或alter user 的系统权限)alter user 用户名 identified by 新密码


(3) 删除指定用户:(权限要求同修改他人密码):

  A.不能自己删除自己,即scott登录不能删除scott。

  B.drop user scoot;

  C.如果要删除的用户已经创建了一些表,则删除命名要带参数(实现级联删除相关表)drop user 用户名 cascade;


(4) 创建好用户后,第一步需要授权(用户sys/system可以授权): 
A.grant connect to 用户名

(注意:connect不是权限,而是权限集合——角色,是第一类授权:系统权限。)

(3个基本的系统角色: dba connect(登录) resource(定义操作表,用户可以建表和增删改查) dba里的权限包含了后2个角色里的权限)

(另一类授权是数据对象权限:对表/视图的操作定义权限等)


B.对象权限(select+update+insert+delete=all   create index)

是授予权限,不是授予角色:用户A要查看用户B创建的表T1(给A授权):grant select on T1 to A; 

--(sys/system/B 可以授予A)  

--对T1表的所有操作权限:grant all on T1 to A;

**注意,这种授权,查询时:select * from B.T1; --这里B表示“方案”

****方案是什么概念??***

select * from T1;是查不到数据的,因为oracle会去当前用户对应的方案‘A’中找T1。

******C.思考:能不能把A的所有表的“select”权限给B? A的所有对象呢?(表/视图等)********


(5) 收权(先收权再删用户?):revoke select on T1 from A;--此时,是B登录的,不用写B.T1
**注意:用B用户授权就用B 登录oracle然后收权,如果是用system授权则要用system登录后操作。


(6) 权限维护:
权限传递(A得到了select B.T1,A还要把这个权限传给C):
  A.如果是对象权限:grant select on T1 to A with grant option;

--这样,A接收到权限select B.T1后还可以向C授权(grant select on B.T1 to C;这里没有B会提示找不到T1。)


  B.系统权限(角色):grant resource to A with admin option;--system执行--之后A 就可以把 resource 给C了。
**思考:如果system收回A的resource后,C还有resource权限角色吗?(试题)
**答:C的resource权限角色也被回收!! 


(7) profile 用户属性
A.用户A 尝试登录失败m次,则锁定 n天,权限用户:sys/system,默认:m=10
[这个功能有点像xp中安全设置---账户策略----密码策略里的‘策略’]
(step_1) create profile pro_name limit failed_login_attempts 3 password_lock_time 2;
--登录失败3次则锁定2天。m,n>=1
--pro_name  3   2 自定义,其他单词都是固定格式

--锁定后,正确帐号密码登录,提示:the account is locked

(step_2) alter user A profile pro_name;--把pro_name加到A用户上。


B.解锁 alter user A account unlock;


C.可以查看dba_profiles视图来查看用户的默认属性


D.profile 的类型:
(a)登录锁定:create profile ** limit failed_login_attempts ** password_lock_time **
(b) 设置用户只能建立一个 
create profile product_profile limit SESSIONS_PER_USER 1 
alter user product profile product_profile
alter system set resource_limit=true

(c)要求用户每隔10天修改自己的 登录密码,宽限期为2天:
create profile pro_name2 limit password_life_time 10 password_grace_time 2;

alter user A profile pro_name2;--第10天提示,第12天锁定

(d)修改密码时不能使用旧密码:
create profile pro_name3 limit password_life_time 10 password_grace_time 2 


password_reuse_100;--100天内,用过的密码不能设置成新密码
alter user A profile pro_name3;


E.删除profile
drop profile pro_name3;
drop profile pro_name3 cascade;--级联删除和pro_name3相关的设置

(结束)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值