Oracle修改expired状态,Oracle数据库用户账号处于expired状态解决方法

Oracle数据库账户过期,必须要用户更改密码, 账户才能重新使用。

但有些时候, 因为各种原因, 我们并不知道原密码的明文是什么,但很多时候又不能修改已有密码,好在可以用原密码来更改密码。

在11G中,dba_users.password已经不再显示用户的密码:

SQL> select username,ACCOUNT_STATUS from dba_users where username in ('SYSTEM','SCOTT');

USERNAME                      ACCOUNT_STATUS

------------------------------ --------------------------------

SCOTT                          OPEN

SYSTEM                        EXPIRED

SQL> select password from dba_users where username in ('SYSTEM','SCOTT');

PASSWORD

------------------------------

在系统表user$中,可以查看用户的密码(PASSWORD)和状态(ASTATUS)

SQL> select user#,name,password,astatus from user$ where name in ('SYSTEM','SCOTT');

USER# NAME                          PASSWORD                          ASTATUS

---------- ------------------------------ ------------------------------ ----------

83 SCOTT                          F894844C34402B67                        0

5 SYSTEM                        2D594E86F93B17A1                        1

SQL>

可以通过上面的查询结果,用原来的密码来修改过期用户的密码:

SQL> alter user system identified by values '2D594E86F93B17A1';

User altered.

SQL> select user#,name,password,astatus from user$ where name in ('SYSTEM','SCOTT');

USER# NAME                          PASSWORD                          ASTATUS

---------- ------------------------------ ------------------------------ ----------

83 SCOTT                          F894844C34402B67                        0

5 SYSTEM                        2D594E86F93B17A1                        0

SQL>

其实也可以直接修改表user$的字段ASTATUS为0,这样用户账号就变成open状态了。

ASTATUS对应的值的含义可以同过user_astatus_map查看

SQL> select * from user_astatus_map;

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

9 rows selected.

SQL>

0b1331709591d260c1c78e86d0c51c18.png

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值