使用Oracle 11g,是否有办法阻止我的用户密码需要更新(ORA-28001)?
Oracle中的密码到期由分配给用户的configuration文件控制。 您可以通过查询DBA_USERS表来查看哪个configuration文件分配给每个用户
SELECT username, profile FROM dba_users
您似乎正在达到PASSWORD_LIFE_TIME限制。 在11g之前,DEFAULTconfiguration文件已经设置为UNLIMITED。 为了提高安全性,11.1开始强制定期更改密码。 您可以通过创build新configuration文件并将该新configuration文件分配给现有用户或通过更新已分配给用户的现有configuration文件来恢复旧的行为。 因为听起来你想要改变每个人的这种行为,所以修改DEFAULTconfiguration文件可能更容易一些。
ALTER PROFILE default LIMIT password_life_time UNLIMITED
当然,如果第一个查询表明你的用户被分配了一个非DEFAULT的configuration文件,你可能想改变那个configuration文件。
如果您对configuration文件控制的其他行为感兴趣,则CREATE PROFILE文档非常有用。
我已经被烧得这么多次了,我把它们全部放在一起:
set pages 60 select * from dba_profiles where profile='DEFAULT'; alter profile default limit FAILED_LOGIN_ATTEMPTS UNLIMITED; alter profile default limit PASSWORD_LIFE_TIME UNLIMITED; alter profile default limit PASSWORD_GRACE_TIME UNLIMITED; alter profile default limit PASSWORD_LOCK_TIME UNLIMITED; select * from dba_profiles where profile='DEFAULT';