修改Oracle数据库用户的密码过期时间为无限期

Oracle的密码过期规则是用Profile来管理的,系统默认只有一个Profile(DEFAULT),该profile的密码过期规则为180天;

而所有的用户都使用该DEFAULT的profile,所以如果修改DEFAULT的过期规则会影响所有的用户;

所以我们新建一个profile,修改该profile的过期规则为无限期,在让某个用户适用于该profile,则该用户的过期规则会变更。

 

以下举例:修改MESSERIES用户的密码过期规则为UNLIMITED

1.     新建profile "PASSWD_UNLIMIT",规则与DEFAULT一致(因为一个profile中包含很多的项目,我们此时只想修改过期规则,其他的不变)

2.     修改profile "PASSWD_UNLIMIT",修改过期规则为UNLIMITED

3.     将'MESSERIES'用户适用新的profile "PASSWD_UNLIMIT"

 

SQL如下:

 

SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

 

SELECT * FROM dba_profiles s ;

 

--查看用户profile

select username, user_id, account_status,expiry_date, profile  from  dba_users  where username = 'MESSERIES';

 

--1. 创建新的profilePASSWD_UNLIMIT复制DEFAULTScript

CREATE PROFILE "PASSWD_UNLIMIT" LIMIT

  SESSIONS_PER_USER UNLIMITED

  CPU_PER_SESSION UNLIMITED

  CPU_PER_CALL UNLIMITED

  CONNECT_TIME UNLIMITED

  IDLE_TIME UNLIMITED

  LOGICAL_READS_PER_SESSION UNLIMITED

  LOGICAL_READS_PER_CALL UNLIMITED

  COMPOSITE_LIMIT UNLIMITED

  PRIVATE_SGA UNLIMITED

  FAILED_LOGIN_ATTEMPTS 10

  PASSWORD_LIFE_TIME 180

  PASSWORD_REUSE_TIME UNLIMITED

  PASSWORD_REUSE_MAX UNLIMITED

  PASSWORD_LOCK_TIME 1

  PASSWORD_GRACE_TIME 7

  PASSWORD_VERIFY_FUNCTION NULL;

 

SELECT * FROM dba_profiles;

 

--2. 修改新建的profilePASSWD_UNLIMIT),密码过期为不过期

ALTER  profile PASSWD_UNLIMIT limit PASSWORD_LIFE_TIME  UNLIMITED;

 

--3. 修改用户的Profile为新的profile

alter user MESSERIES profile PASSWD_UNLIMIT;

你可能感兴趣的:(Oracle)