1、查看当前所有用户
select username,account_status,expiry_date,profile from dba_users;
2、查看当前使用的账户数据储存(默认只有一个)
SELECT * FROM dba_profiles;
3、查看和密码相关的设置(复杂度,过期时间)
select * from dba_profiles where resource_type='PASSWORD';
4、查看和密码过期设置相关的设置
select * from dba_profiles s where s.profile='default' and resource_name='password_life_time';
5、设置用户永不过期,影响的是所有用户,修改之后不需要重启动数据库,会立即生效。
alter profile default limit password_life_time unlimited;
6、注意:
修改后,还没有被提示ORA-28002警告的帐户不会再碰到同样的提示;
已经被提示的帐户必须再改一次密码,
语法格式:
alter user 用户 identified by 密码 account unlock;
7、要为某个用户设置密码永不过期,还可以这样来做:
1. 新建profile "test",规则与DEFAULT一致(因为一个profile中包含很多的项目,我们此时只想修改过期规则,其他的不变)
2. 修改profile "test",修改过期规则为UNLIMITED
3. 将'admini'用户适用新的profile "test"
CREATE PROFILE test 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;
4、 修改新建的profile,密码过期为不过期
ALTER profile VPXADMIN_UNLIMIT limit PASSWORD_LIFE_TIME UNLIMITED;
5、如需更改新建的profile,密码过期的时间:
alter profile test limit PASSWORD_LIFE_TIME 60 ;
6、更改admini用户的 profile设置为test
alter user admini profile test;
Oracle密码复杂度设置(Oracle_Password_Complexity)
一、Oracle_Password_Complexity:
SQL> alter system set resource_limit = true;
SQL> @ $ORACLE_HOME/RDBMS/ADMIN/utlpwdmg.sql → [verify_function|verify_function_11G]
SQL> alter profile default limit password_verify_function verify_function;
# 取消Oracle密码复杂度检查:
SQL> alter profile default limit password_verify_function null;
SQL> SELECT profile,resource_type,resource_name,limit FROM dba_profiles WHERE resource_type='PASSWORD' AND profile='DEFAULT';
1.FAILED_LOGIN_ATTEMPTS: 用户在登录尝试失败n次后被锁定。
2.PASSWORD_LOCK_TIME: 登录尝试失败达到指定次数,用户锁定时长,以“Day”为单位。
3.PASSWORD_LIFE_TIME: 用户口令的生命周期。
4.PASSWORD_GRACE_TIME: 表示用户口令使用时间超过其生命周期后,可以延续使用的天数,并且可延续时间内登录会有相应口令即将过期的提示。
5.PASSWORD_REUSE_TIME: 指定了口令不能重用前的天数。
6.PASSWORD_REUSE_MAX: 在达到PASSWORD_REUSE_TIME指定时间后,要再次使用同一口令前必须改变的次数。
如:PASSWORD_REUSE_TIME=30,PASSWORD_REUSE_MAX=10,用户可以在30天以后重用该口令,要求口令必须被改变超过10次。
7.Oracle 11g数据库密码区分大小写的设置 → SEC_CASE_SENSITIVE_LOGON = TRUE.