--查询密码期限
SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
--去除密码期限限制
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
--查看过期的用户
select username ,account_status from dba_users where ACCOUNT_STATUS LIKE 'EXPIRED%';
--查看密码,11g不可用
select password from dba_users where username='XXXXX';
--查看密码,11g可用
select spare4 from sys.user$ where name='XXXXX';
重点来了!!
--解决已锁密码用户
select'alter user ' || su.name || ' identified by values' || ' ''' || spare4 || ';' || su.password || ''';'from sys.user$ su join dba_users du on ACCOUNT_STATUS like 'EXPIRED%' and su.name = du.username;
执行查询后,查出的语句 -> 全选- > 复制 -> 粘贴到命令窗口执行。大功告成!!
语句来源于网络论坛,具体出处已忘记,如有侵权请告知修改。