profile_oracle设置某用户密码永不过期
oracle设置某用户密码永不过期
为ETL_TEST用户设置密码永不过期。
select * from dba_users where username = 'ETL_TEST';
查看dba_users字典,可知道ETL_TEST用户到2015年11月23日到期。
select username, user_id, account_status, expiry_date, profile from dba_users where username = 'ETL_TEST';
这里看一下profile参数为default。
SELECT username, PROFILE FROM dba_users where username ='ETL_TEST';
我们来看一下,profile参数为default,所指定的密码有效期为多长时间,如下:
SELECT * FROM dba_profiles s WHERE s.profile = 'DEFAULT' AND resource_name = 'PASSWORD_LIFE_TIME';
可以看到,profile置为default设置为密码180天后过期。
我们可以单独创建一个profile文件,为某用户使用。
创建名为passwd_unlimit的profile文件,设置其profile下密码限定为永不过期。
create profile passwd_unlimit limit PASSWORD_LIFE_TIME unlimited;
把passwd_unlimit的初始化参数设置到ETL_TEST用户下。如下:
alter user ETL_TEST profile passwd_unlimit;
设置完成后,我们通过dba_users查看一下ETL_TEST用户的profile文件是否设置成功,如下:
select username, user_id, account_status, expiry_date, profilefrom dba_users where username ='ETL_TEST';
可以看到ETL_TEST用户的profile文件设置为了passwd_unlimit,而passwd_unlimit的profile文件设定为密码永不过期了。
最后,我们检查一下,命名为PASSWD_UNLIMIT的profile文件下所附属的资源设置都有哪些,如下:
SELECT * FROM dba_profiles s WHERE s.profile = 'PASSWD_UNLIMIT';
可以看到其中PASSWORD_LIFE_TIME设置确实为UNLIMITED。
至此,我们已经实现了ETL_TEST用户密码永不过期的目标。
另外:补充,这里我们生产的命名为PASSWD_UNLIMIT的profile文件下还有其它的RESOURCE没有设置,我们需要对其它的RESOURCE也需要做出相应调整来满足要求。
例如,我后续又执行了下面的设置:
ALTER profile passwd_unlimit limit COMPOSITE_LIMIT UNLIMITED;
ALTER profile passwd_unlimit limit SESSIONS_PER_USER UNLIMITED;
ALTER profile passwd_unlimit limit CPU_PER_SESSION UNLIMITED;
ALTER profile passwd_unlimit limit CPU_PER_CALL UNLIMITED;
ALTER profile passwd_unlimit limit LOGICAL_READS_PER_SESSIONUNLIMITED;
ALTER profile passwd_unlimit limit LOGICAL_READS_PER_CALL UNLIMITED;
ALTER profile passwd_unlimit limit IDLE_TIME UNLIMITED;
ALTER profile passwd_unlimit limit CONNECT_TIME UNLIMITED;
ALTER profile passwd_unlimit limit PRIVATE_SGA UNLIMITED;
ALTER profile passwd_unlimit limit FAILED_LOGIN_ATTEMPTS 10 ;
ALTER profile passwd_unlimit limit PASSWORD_REUSE_TIME UNLIMITED;
ALTER profile passwd_unlimit limit PASSWORD_REUSE_MAX UNLIMITED;
ALTER profile passwd_unlimit limit PASSWORD_VERIFY_FUNCTION NULL ;
ALTER profile passwd_unlimit limit PASSWORD_LOCK_TIME 1 ;
ALTER profile passwd_unlimit limit PASSWORD_GRACE_TIME 7 ;
我们再来查看一下命名为PASSWD_UNLIMIT的profile文件下所附属的资源设置,如下:
至此,对PASSWD_UNLIMIT的profile文件每项resource都进行配置,可以满足该用户的需求了。
小结:
1、创建profile的语法:
create profile [PROFILE] limit [RESOURCE_TYPE] [LIMIT];
例:create profile passwd_unlimit limit PASSWORD_LIFE_TIME unlimited;
2、改变用户的profile语法:
alter user [user] profile [profile];
例:alter user ETL_TEST profile passwd_unlimit;
3、改变某个profile中某项source的配置语法:
ALTER profile [profile] limit [source] [option];
例:ALTER profile passwd_unlimitlimit COMPOSITE_LIMIT UNLIMITED;