Oracle 12c 用户密码过期设置的一些问题

Oracle 12c 用户密码过期设置的一些问题

查看dba_profiles视图的结构,如下:

SQL> desc dba_profiles;
 名称           是否为空? 类型
 -----------   -------- -----------------------------
 PROFILE       NOT NULL VARCHAR2(128)
 RESOURCE_NAME NOT NULL VARCHAR2(32)
 RESOURCE_TYPE          VARCHAR2(8)
 LIMIT                  VARCHAR2(128)
 COMMON                 VARCHAR2(3)
 INHERITED              VARCHAR2(3)
 IMPLICIT               VARCHAR2(3)

执行查询,如下

SQL>  select * from dba_profiles where resource_name like '%PASSWORD%';

PROFILE             RESOURCE_NAME            RESOURCE_TYPE   LIMIT             COMMON INHERI IMPLIC
-------------------------------------- ---------------- -------------------- ------ ------ ------
DEFAULT             PASSWORD_LIFE_TIME        PASSWORD     180                  NO     NO     NO
DEFAULT             PASSWORD_REUSE_TIME       PASSWORD     UNLIMITED            NO     NO     NO
NOEFAULT            PASSWORD_REUSE_MAX        PASSWORD     UNLIMITED            NO     NO     NO
DEFAULT             PASSWORD_VERIFY_FUNCTION  PASSWORD     NULL                 NO     NO     NO
DEFAULT             PASSWORD_LOCK_TIME        PASSWORD     1                    NO     NO     NO
DEFAULT             PASSWORD_GRACE_TIME       PASSWORD     7                    NO     NO     NO
ORA_STIG_PROFILE    PASSWORD_LIFE_TIME        PASSWORD     60                   NO     NO     NO
ORA_STIG_PROFILE    PASSWORD_REUSE_TIME       PASSWORD     365                  NO     NO     NO
ORA_STIG_PROFILE    PASSWORD_REUSE_MAX        PASSWORD     10                   NO     NO     NO
ORA_STIG_PROFILE    PASSWORD_VERIFY_FUNCTION  PASSWORD     ORA12C_STIG_VERIFY_F NO     NO     NO
                                                           UNCTION
ORA_STIG_PROFILE    PASSWORD_LOCK_TIME        PASSWORD     UNLIMITED            NO     NO     NO
ORA_STIG_PROFILE    PASSWORD_GRACE_TIME       PASSWORD     5                    NO     NO     NO

已选择 12 行。
注意

sys用户是不受PASSWORD_LIFE_TIME参数限制的
在用户密码过期后,用户的状态(dba_user.account_status)不会立即更新为expired,只有当用户尝试连接到数据库的时候,才会对用户状态进行更新

用户密码相关的一些参数

  • PASSWORD_LIFE_TIME:
    设定口令的有效时间(天数),一旦超过这一时间,必须重新设口令。缺省为180天(11g,10gUNLIMITED).
  • PASSWORD_REUSE_TIME:
    许多系统不许用户重新启用过去用过的口令。该资源项设定了一个失效口令要经过多少天,用户才可以重新使用该口令。缺省为UNLIMITED.
  • PASSWORD_REUSE_MAX:
    重新启用一个先前用过的口令前必须对该口令进行重新设置的次数(重复用的次数)。
  • PASSWORD_LOCK_TIME:
    设定帐户被锁定的天数(当登录失败达到FAILED_LOGIN_ATTEMPTS时)。
  • PASSWORD_GRACE_TIME:
    设定在口令失效前,给予的重新设该口令的宽限天。当口令失效之后回,在登录时会出现警告信息显示该天数。如果没有在宽限天内修改口令,口令将失效。
  • PASSWORD_VERITY_FUNCTION:
    该资源项允许调用一个PL/SQL 来验证口令。Oracle公司已提供该应用 的脚本,但是只要愿意的话,用户可以制定自己的验证脚本。该参数的设定就是PL/SQL函数的名称。缺省为NULL.
  • FAILED_LOGIN_ATTEMPTS:
    设定登录到Oracle 数据库时可以失败的次数。一旦某用户尝试登录数据库的达到该值时,该用户的帐户就被锁定,只能由DBA能解锁。

以上参数的含义及其数值需要DBA牢记。

SQL> col username format a30
SQL> select username,user_id,account_status,lock_date,expiry_date,password_versions
  2  from dba_users
  3  order by username asc;

USERNAME      USER_ID ACCOUNT_STATUS     LOCK_DATE      EXPIRY_DATE    PASSWORD_VERSIONS
----------------------- -------------- -------------- ----------------------------------
ANONYMOUS     63      EXPIRED & LOCKED   08-3月 -17     08-3月 -17     
APPQOSSYS     55      EXPIRED & LOCKED   08-3月 -17     08-3月 -17      11G 12C
AUDSYS        8       EXPIRED & LOCKED   08-3月 -17     08-3月 -17      11G 12C
C##TESTUSER  106      OPEN               19-2月 -19                     11G 12C

(完)

你可能感兴趣的:(Oracle开发与管理)