TOAD连接Oracle数据库,出现提示ORA-28002: the password will expire within 6 days。想了一下,这个数据库大约是去年6、7月间安装的,差不多快到180天的期限了,从Oracle11g开始,默认在default概要文件中设置了PASSWORD_LIFE_TIME=180天,因此会在快过期时提示,如果真的过了期,就是ORA-28001: the password has expired。
解决方法当然是改密码,可以改成与旧密码一样,不过为了安全,还是改成不一样的好。如果不想老改密码,可以把上面的PASSWORD_LIFE_TIME改成unlimited。具体方法:
1、查看用户的proifle是哪个,一般是default:SELECT username,PROFILE FROM dba_users;
2、查看指定概要文件(如default)的密码有效期设置:SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
或者 SELECT * FROM dba_profiles WHERE resource_name='PASSWORD_LIFE_TIME';
3、将密码有效期由默认的180天修改成“无限制”:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
修改之后不需要重启动数据库,会立即生效,但是除非你在收到快过期的提示前这么做,才不会再收到过期提醒,如果已经收到快到过期的提示的话,即使修改成无限制,再连接数据库,仍然会提示快过期,你只能改一次密码,才能消除提醒,同上所述,可以改成相同密码:alter user <用户名> identified by <要改的密码>;
以上命令可在sqlplus中运行,也可以用TOAD这样的工具运行,改密码同样,也可以用TOAD。
>> 除非说明均为原创,如转载请注明来源于http://www.stormcn.cn/post/2021.html