ORACLE密码过期,修改密码

.连接数据库
sqlplus "/as sysdba"

sqlplus user_name/password@ip:port/sid

查询数据库是否安装
select status from v$instance;
如果数据库状态为open,那么说明数据库已经安装。

查看口令失效的用户的profile文件(一般为default)
select username,profile from dba_users;

查看指定文件的密码有效期
SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

修改密码有效期(修改后立即生效,不需重启数据库)
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;


断开数据库连接

exit

如果用户的密码已经过期,还需要再修改一次密码才能使用。

alter user user_name identified by password;

user_name是用户名,password是新密码。
如果账户被锁:ORA-28000: the account is locked,则使用如下语句解锁。

alter user user_name account unlock;

commit;


----------------------------------------------------------------------------------------
取消密码管理: 'alter profile default limit password_reuse_max unlimited;'
'alter profile default limit password_reuse_time unlimited;'

 

修改数据密码为原密码

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

SELECT 'ALTER USER '||NAME||' IDENTIFIED BY VALUES '''||PASSWORD||''';' FROM SYS.USER$ WHERE PASSWORD IS NOT NULL

查询出来后执行修改数据库密码为原来的密码

 如果不能修改,则是由于设置了权限。无法进行更改,改一下权限就好


1)password_reuse_time和password_reuse_max都为unlimted的时候
可以随便重置
2)当指定password_reuse_time和password_reuse_max其中一个,另外一个unlimted的时候
密码永远无法重置


3)当同时指定password_reuse_time和password_reuse_max的时候
在满足password_reuse_max的时候,可以重置密码
在同时满足password_reuse_time和password_reuse_max的时候,可以重置密码
在满足password_reuse_time但从为更换过密码的时候,也就是password_reuse_max一次也没用的时候密码无法重置.

 

posted @   不会游泳的鱼丶  阅读(623)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示