您的位置:首页 > 数据库 > Oracle

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

2017-01-05 16:11 661 查看
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 *
FROMdba_profiles s WHERE s.profile='DEFAULT'
ANDresource_name='PASSWORD_LIFE_TIME';
 
SELECT *
FROMdba_profiles s ;
 
--查看用户profile
select username, user_id, account_status,expiry_date,
profile  from  dba_users 
where username =
'MESSERIES';
 
--1. 创建新的profile(PASSWD_UNLIMIT)复制DEFAULT的Script
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 *
FROMdba_profiles;
 
--2. 修改新建的profile(PASSWD_UNLIMIT),密码过期为不过期
ALTER  profilePASSWD_UNLIMIT
limit PASSWORD_LIFE_TIME 
UNLIMITED;
 
--3. 修改用户的Profile为新的profile
alter user MESSERIES
profile PASSWD_UNLIMIT;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息