更改 ORACLE 用户的 expired 状态
  IE5LYMWlmdvL 2023年11月02日 29 0

问题概述

oracle中,经常用户的状态会变成locked,expired等状态,遇到这种情况,按照具体环境进行操作。

首先,如果是locked状态,直接执行 alter user scott account unlock 就可以了。

但是如果变成expired状态,oracle本身是不提供解锁的语句的,因为账户过期,必须要用户更改密码, 账户才能重新使用。但有些时候,因为各种原因,我们并不知道原密码的明文是什么,同时在高版本数据库中,对用户密码进行了高强度加密,无法使用密码密文进行修改时,可以通过修改USER$的方式进行操作。

解决方案

UPDATE USER$ SET ASTATUS=0 WHERE NAME='SCOTT';
COMMIT;
alter system flush shared_pool;

其中,ASTATUS有以下取值:

STATUS# STATUS
---------- --------------------------------
0 OPEN
1 EXPIRED
2 EXPIRED(GRACE)
4 LOCKED(TIMED)
8 LOCKED
5 EXPIRED & LOCKED(TIMED)
6 EXPIRED(GRACE) & LOCKED(TIMED)
9 EXPIRED & LOCKED
10 EXPIRED(GRACE) & LOCKED
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
IE5LYMWlmdvL