创建密码文件
创建密码文件,限制 密码 错误登陆次数 10.如果用户密码错误且 登陆次数超过10,那么用户将被锁定
SYS >CREATE PROFILE HNSD_PROFILE LIMIT
2 FAILED_LOGIN_ATTEMPTS 10;
Profile created.
更改用户的默认 profile
SYS >ALTER USER TEST PROFILE HNSD_PROFILE;
User altered.
查看当前用户的状态
SYS >SELECT USERNAME,ACCOUNT_STATUS,PROFILE FROM DBA_USERS WHERE USERNAME='TEST';
USERNAME ACCOUNT_STATUS PROFILE
------------------------------ -------------------------------- --------------------
TEST OPEN HNSD_PROFILE
使用正确密码登陆数据库。测试可正常登陆数据库
SYS >conn test/test
Connected.
TEST >show user;
USER is "TEST"
使用错误密码登陆数据库 10次,用户被锁定
SYS >CONN TEST/TEST1
ERROR:
ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to ORACLE.
@ >CONN TEST/TEST2
ERROR:
ORA-01017: invalid username/password; logon denied
@ >CONN TEST/TEST3
ERROR:
ORA-01017: invalid username/password; logon denied
@ >CONN TEST/TEST4
ERROR:
ORA-01017: invalid username/password; logon denied
@ >CONN TEST/TEST5
ERROR:
ORA-01017: invalid username/password; logon denied
@ >CONN TEST/TEST6
ERROR:
ORA-01017: invalid username/password; logon denied
@ >CONN TEST/TEST7
ERROR:
ORA-01017: invalid username/password; logon denied
@ >CONN TEST/TEST8
ERROR:
ORA-01017: invalid username/password; logon denied
@ >CONN TEST/TEST9
ERROR:
ORA-01017: invalid username/password; logon denied
@ >CONN TEST/TEST10
ERROR:
ORA-01017: invalid username/password; logon denied
@ >CONN TEST/TEST11
ERROR:
ORA-28000: the account is locked
用户被锁定!!!
查看当前用户的状态 用户被锁定
SYS >SELECT USERNAME,ACCOUNT_STATUS,PROFILE,LOCK_DATE FROM DBA_USERS WHERE USERNAME='TEST';
USERNAME ACCOUNT_STATUS PROFILE LOCK_DATE
---------- -------------------------------- -------------------- -------------------
TEST LOCKED(TIMED) HNSD_PROFILE 2014-03-31 14:01:18
测试无误
-------------------------------------------------------------------
新建密码文件HNSD_PROFILE2 ,限制用户账户被锁定 5分钟之后,自动解锁
password_lock_time 指定帐户被锁定的天数. 1/24/60对应的是1分钟. 但是, 1分钟后只有密码正确了, 才可以自动解锁.
如果该参数最后的值是UNLIMITED, 或需要立即给帐户解锁, 就需要DBA用手动方式来给帐户解锁.
暂定 用户被锁定的时间为 5分钟 即:5/24/60
新建密码文件,限制 密码被锁定时间为 5分钟
SYS >CREATE PROFILE HNSD_PROFILE2 LIMIT
2 PASSWORD_LOCK_TIME 5/24/60;
Profile created.
SYS >GRANT CREATE SESSION TO TEST1 IDENTIFIED BY TEST1;
Grant succeeded.
SYS >ALTER USER TEST1 PROFILE HNSD_PROFILE2;
User altered.
SYS >SELECT USERNAME,ACCOUNT_STATUS,PROFILE,LOCK_DATE FROM DBA_USERS WHERE USERNAME='TEST1';
USERNAME ACCOUNT_STATUS PROFILE LOCK_DATE
---------- -------------------------------- -------------------- -------------------
TEST1 OPEN HNSD_PROFILE2
使用正确密码登陆数据库。测试可正常登陆数据库
SYS >conn test1/test1
Connected.
TEST >show user;
USER is "TEST1"
使用错误密码登陆数据库 10次,用户被锁定
SYS >CONN TEST1/TEST11
ERROR:
ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to ORACLE.
@ >CONN TEST1/TEST2
ERROR:
ORA-01017: invalid username/password; logon denied
@ >CONN TEST1/TEST3
ERROR:
ORA-01017: invalid username/password; logon denied
@ >CONN TEST1/TEST4
ERROR:
ORA-01017: invalid username/password; logon denied
@ >CONN TEST1/TEST5
ERROR:
ORA-01017: invalid username/password; logon denied
@ >CONN TEST1/TEST6
ERROR:
ORA-01017: invalid username/password; logon denied
@ >CONN TEST1/TEST7
ERROR:
ORA-01017: invalid username/password; logon denied
@ >CONN TEST1/TEST8
ERROR:
ORA-01017: invalid username/password; logon denied
@ >CONN TEST1/TEST9
ERROR:
ORA-01017: invalid username/password; logon denied
@ >CONN TEST1/TEST10
ERROR:
ORA-01017: invalid username/password; logon denied
@ >CONN TEST1/TEST11
ERROR:
ORA-28000: the account is locked
用户被锁定!!!
查看当前用户的状态 用户被锁定
SYS >SELECT USERNAME,ACCOUNT_STATUS,PROFILE,LOCK_DATE FROM DBA_USERS WHERE USERNAME='TEST';
USERNAME ACCOUNT_STATUS PROFILE LOCK_DATE
---------- -------------------------------- -------------------- -------------------
TEST1 LOCKED(TIMED) HNSD_PROFILE 2014-03-31 14:01:18
等待5分钟以后,必须使用正确密码登陆数据库,才可以自动解锁该用户
查看当前用户的状态 用户被锁定
SYS >SELECT USERNAME,ACCOUNT_STATUS,PROFILE,LOCK_DATE FROM DBA_USERS WHERE USERNAME='TEST';
USERNAME ACCOUNT_STATUS PROFILE LOCK_DATE
---------- -------------------------------- -------------------- -------------------
TEST1 LOCKED(TIMED) HNSD_PROFILE 2014-03-31 14:38:18
@ >CONN TEST1/TEST1
Connected.
再次查看用户状态
SYS >SELECT USERNAME,ACCOUNT_STATUS,PROFILE,LOCK_DATE FROM DBA_USERS WHERE USERNAME='TEST1';
USERNAME ACCOUNT_STATUS PROFILE LOCK_DATE
---------- -------------------------------- -------------------- -------------------
TEST1 OPEN HNSD_PROFILE2
用户自动解锁