Oracle 提示修改密码 ORA-28002和ORA-28221数据库用户修改密码报错解决办法

来源:互联网 发布:金庸 江南 知乎 编辑:程序博客网 时间:2024/04/29 10:17
修改数据库用户密码,当用户不是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用户登录,然后输入修改语句,如下:
 
1.Sql代码 
alter user username identified by  自己想改成的新密码

 

如果不是dba用户,就参照本文开头的方法命令修改。

原创粉丝点击