Oracle 提示修改密码 ORA-28002和ORA-28221数据库用户修改密码报
修改数据库用户密码,当用户不是dba级用户即普通用户时,修改密码必须用replace子句(即必须知道旧密码才能改)
ALTER USER hljitsm IDENTIFIED BY hljitsm_123
ALTER USER HLJITSM IDENTIFIED BY hljitsm_123 replace Oracle_1234
否则直接使用 ALTER USER hljitsm IDENTIFIED BY hljitsm_123修改密码时会报'ORA-28221: REPLACE not specified'错误
当遇到密码只有X天使用期错误提示时:ORA-28002: the password will expire within string days
如 ERROR:ORA-28002: the password will expire within 6 days
除了修改密码外,还可以修改密码使用期天数避免此类限制。
1.SELECT username,profile FROM dba_users where username like 'TEST1';
USERNAME PROFILE
------------------------------ ------------------------------
TEST1 DEFAULT
一般用户的profile设置都为DEFAULT。当然有些也会是别的,比如:NEW_PROFILE,反正就是查到什么就是什么。
2.SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
PROFILE RESOURCE_NAME RESOURCE LIMIT
------------------------------ -------------------------------- ------------------------------------------------
DEFAULT PASSWORD_LIFE_TIME PASSWORD 180dys
==============================================================
3.修改DBA_PROFILES中PASSWORD_LIFE_TIM的设置,改为ULIMITED。
执行语句:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
修改后设置立即生效,不需要重启数据库,此时密码永远不会过期。
修改后,还没有被提示ORA-28002警告的用户不会再碰到同样的提示;
已经被提示的用户必须再改一次密码,用dba用户登录,然后输入修改语句,如下:
Sql代码
alter user username identified by 自己想改成的新密码
如果不是dba用户,就参照本文开头的方法命令修改。
相关阅读: