10g中的Profile 主要是对数据库连接对象的资源起到限制的作用,修改密码前先确认限制状况。

先查看下Profile的维护表DBA_PROFILES,该表还算简单就4个字段

 

PROFILE                                         用户管理名
RESOURCE_NAME                     资源名
RESOURCE_TYPE                       资源类型
LIMIT                                                 限制

 

PROFILE    RESOURCE_NAME             RESOURCE LIMIT
---------- ------------------------- -------- --------------------
DEFAULT    COMPOSITE_LIMIT           KERNEL   UNLIMITED
DEFAULT    SESSIONS_PER_USER         KERNEL   UNLIMITED
DEFAULT    CPU_PER_SESSION           KERNEL   UNLIMITED
DEFAULT    CPU_PER_CALL              KERNEL   UNLIMITED
DEFAULT    LOGICAL_READS_PER_SESSION KERNEL   UNLIMITED
DEFAULT    LOGICAL_READS_PER_CALL    KERNEL   UNLIMITED
DEFAULT    IDLE_TIME                 KERNEL   UNLIMITED
DEFAULT    CONNECT_TIME              KERNEL   UNLIMITED
DEFAULT    PRIVATE_SGA               KERNEL   UNLIMITED
DEFAULT    FAILED_LOGIN_ATTEMPTS     PASSWORD UNLIMITED
DEFAULT    PASSWORD_LIFE_TIME        PASSWORD UNLIMITED
PROFILE    RESOURCE_NAME             RESOURCE LIMIT
---------- ------------------------- -------- --------------------
DEFAULT    PASSWORD_REUSE_TIME       PASSWORD UNLIMITED
DEFAULT    PASSWORD_REUSE_MAX        PASSWORD UNLIMITED
DEFAULT    PASSWORD_VERIFY_FUNCTION  PASSWORD SFDB_PASSWD_COMPLEX
DEFAULT    PASSWORD_LOCK_TIME        PASSWORD UNLIMITED
DEFAULT    PASSWORD_GRACE_TIME       PASSWORD UNLIMITED

 

FAILED_LOGIN_ATTEMPTS 限制的默认情况为10次,但是修改密码后,应用端反复尝试通过错误的密码连接数据库,可能会导致用户的锁定。

因此,将该限制修改为unlimited的:

alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited

 

修改完成后再次确认该参数的限制后,开始修改数据库的密码,数据库密码的策略须符合几个原则:

 

1、必须由数字、字符和特殊字符中的任意两者以上组成

2、至少8位

3、Oracle保留字符不可用

 

10G的密码不区分大小写,以下是针对普通用户的密码修改方式:修改sys用户的密码需要通过修改密码文件来使其生效:

 

alter user user_name identified by new_password;

 

SYS用户的密码修改命令如下:

Usage: orapwd file=<fname> password=<password> entries=<users> force=<y/n> nosysdba=<y/n>

密码文件路径及命名方式:

$ORACLE_HOME/dbs/

orapw+实例名

 

而11G之后进行了改进,可以统一通过alter语句进行用户密码的修改,并且11G区分大小写。

 

参考eygle http://www.eygle.com/archives/2009/07/profile_failed_login_attempts.html