问题概述
oracle中,经常用户的状态会变成locked,expired等状态,遇到这种情况,按照具体环境进行操作。
首先,如果是locked状态,直接执行 alter user scott accou服务器托管网nt 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
服务器托管,北服务器托管网京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 【故障公告】遭遇用心良苦的疯狂攻击:DDoS + CC攻击
2023年10月2日19:32,收到阿里云的通知短信: 【阿里云】尊敬的xxx:您的IP:xxx.xxx.xxx.xxxx 实例名称:blog-xxxxxx 受到攻击,攻击流量已超过DDoS基础防护的黑洞阈值,服务器的所有公网访问已被屏蔽,屏蔽时长20分钟,屏…