ORACLE数据库用户账号处于expired状态如何处理
2016-04-16 11:32 abce 阅读(7174) 评论(0) 编辑 收藏 举报账户过期,必须要用户更改密码, 账户才能重新使用。
但有些时候, 因为各种原因, 我们并不知道原密码的明文是什么,但很多时候又不能修改已有密码,好在可以用原密码来更改密码。
在11G中,dba_users.password已经不再显示用户的密码:
1 2 3 4 5 6 7 8 9 10 11 | 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)
1 2 3 4 5 6 7 8 | 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> |
可以通过上面的查询结果,用原来的密码来修改过期用户的密码:
1 2 3 4 5 6 7 8 9 10 11 12 | 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查看
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)