调整密码 profile 设置即可使密码永不过期。

PROFILE是从 Oracle 8 版本引入,是一组资源限制,用于限制用户可以使用的系统资源。 它允许我们通过为每个数据库用户创建和分配配置文件来调节每个数据库用户使用的资源量。数据库创建后,系统中存在名为DEFAULT的默认PROFILE,若不做特殊指定,创建用户时用户默认使用的PROFILE就是DEFAULT。可以用来控制session或sql能使用的CPU、控制用户的密码管理策略等。

PASSWORD_LIFE_TIME:

设定口令的有效时间(天数),一旦超过这一时间,必须重新设口令。缺省为UNLIMITED.

alter profile default limit PASSWORD_LIFE_TIME unlimited;

PASSWORD_LOCK_TIME:

设定帐户被锁定的天数(当登录失败达到FAILED_LOGIN_ATTEMPTS时)。

alter profile default limit PASSWORD_LOCK_TIME unlimited;

PASSWORD_GRACE_TIME:

设定在口令失效前,给予的重新设该口令的宽限天。当口令失效之后回,在登录时会出现警告信息显示该天数。如果没有在宽限天内修改口令,口令将失效。

alter profile default limit PASSWORD_GRACE_TIME unlimited;

FAILED_LOGIN_ATTEMPTS:

整数设定登录到Oracle 数据库时可以失败的次数。一旦某用户尝试登录数据库的达到该值时,该用户的帐户就被锁定,只能由DBA能解锁。

alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;

一般设置以上4项,即可无限制

以下三项,可根据实际情况操作。

PASSWORD_VERITY_FUNCTION:该资源项允许调用一个PL/SQL 来验证口令。Oracle公司已提供该应用 的脚本,但是只要愿意的话,用户可以制定自己的验证脚本。该参数的设定就是PL/SQL函数的名称。缺省为NULL.

PASSWORD_REUSE_TIME:许多系统不许用户重新启用过去用过的口令。该资源项设定了一个失效口令要经过多少天,用户才可以重新使用该口令。缺省为UNLIMITED.

PASSWORD_REUSE_MAX:重新启用一个先前用过的口令前必须对该口令进行重新设置的次数(重复用的次数)。


解锁

alter user USERNAME account unlock;alter user USERNAME identified by password account unlock;SQL> SELECT profile,resource_type,resource_name,limit 
       FROM dba_profiles 
      WHERE resource_type='PASSWORD' 
       AND profile='DEFAULT';
       
PROFILE                        RESOURCE RESOURCE_NAME                    LIMIT
--------------------------------------------------------------------------------
DEFAULT                        PASSWORD FAILED_LOGIN_ATTEMPTS            UNLIMITED
DEFAULT                        PASSWORD PASSWORD_LIFE_TIME               UNLIMITED
DEFAULT                        PASSWORD PASSWORD_REUSE_TIME              UNLIMITED
DEFAULT                        PASSWORD PASSWORD_REUSE_MAX               UNLIMITED
DEFAULT                        PASSWORD PASSWORD_VERIFY_FUNCTION         NULL
DEFAULT                        PASSWORD PASSWORD_LOCK_TIME               UNLIMITED
DEFAULT                        PASSWORD PASSWORD_GRACE_TIME              UNLIMITED

7 rows selected.


--This script alters the default parameters for Password Management.This means that all the users on the system have Password Management enabled and set to the following values unless another profile is created with parameter values set to different value or UNLIMITED is created and assigned to the user.

--此脚本更改密码管理的默认参数。这意味着系统上的所有用户都启用了密码管理,并设置为下列值,除非创建了另一个配置文件,并将参数值设置为不同的值或无限制,并将其分配给用户.

ALTER PROFILE DEFAULT LIMIT
 PASSWORD_LIFE_TIME 180
 PASSWORD_GRACE_TIME 7
 PASSWORD_REUSE_TIME UNLIMITED
 PASSWORD_REUSE_MAX UNLIMITED
 PASSWORD_LOCK_TIME 1
 PASSWORD_VERIFY_FUNCTION verify_function_11G;