首页 > 数据库 > Oracle > 创建并运用用户概要文件
sys@PROD>create profile my_profile limit
2 failed_login_attempts 3
3 password_lock_time 2/1440
4 password_verify_function verify_function;
Profile created.
#概要文件已经生产。
--概要文件的其他参数:
--资源参数:
CONNECT_TIME:指定一个会话能保持连接到数据库的总时间
CPU_PER_CALL:限制事务中每个调用cpu的时间
CPU_PER_SESSION:限制会话中每个调用cpu的时间
SESSIONS_PER_USER:指定用户可以打开并发会话的最大个数
IDLE_TIME:限制一个会话限制的时间量
LOGICAL_READS_PER_SESSION:限制数据块读取的总数目
LOGICAL_READS_PER_CALL:限制每个会话调用的逻辑读取数
PRIVATE_SGA:指定一个会话在sga共享池组件中分配的空间限制
COMPOSITE_LIMIT:对资源使用设置一个总的限制,此组合是对前面描述的某几个资源参数的综合性的限制
--密码参数:
FAILD_LOGIN_ATTEMPTS:指定一个用户在被锁定之前可以尝试登录的次数
PPASSWORD_LIFE_TIME:如果在这个时间不更改密码,将无法登陆
PASSWORD_GRACE_TIME:在此时间段发出密码过期警告,如不更改,在此时间段后将无法登陆数据库
PASSWORD_LOCK_TIME:不成功登陆最大次数后,被锁定的时间
PASSWORD_REUSE_TIME:指定可重新使用相同密码前要经过的天数
PASSWORD_REUSE_MAX:确定在可以重新使用某个特定密码前可更改该密码的次数
PASSWORD_VERIFY_FUNCTION:如果不希望使用oracle提供的默认验证函数,此参数允许你指定自己的密码认证函数
--查看概要文件:
sys@PROD>select * from dba_profiles
2 where profile='MY_PROFILE';
PROFILE RESOURCE_NAME RESOURCE LIMIT
-------------------- ------------------------- -------- --------------------
MY_PROFILE COMPOSITE_LIMIT KERNEL DEFAULT
MY_PROFILE SESSIONS_PER_USER KERNEL DEFAULT
MY_PROFILE CPU_PER_SESSION KERNEL DEFAULT
MY_PROFILE CPU_PER_CALL KERNEL DEFAULT
MY_PROFILE LOGICAL_READS_PER_SESSION KERNEL DEFAULT
MY_PROFILE LOGICAL_READS_PER_CALL KERNEL DEFAULT
MY_PROFILE IDLE_TIME KERNEL DEFAULT
MY_PROFILE CONNECT_TIME KERNEL DEFAULT
MY_PROFILE PRIVATE_SGA KERNEL DEFAULT
MY_PROFILE FAILED_LOGIN_ATTEMPTS PASSWORD 3
MY_PROFILE PASSWORD_LIFE_TIME PASSWORD DEFAULT
PROFILE RESOURCE_NAME RESOURCE LIMIT
-------------------- ------------------------- -------- --------------------
MY_PROFILE PASSWORD_REUSE_TIME PASSWORD DEFAULT
MY_PROFILE PASSWORD_REUSE_MAX PASSWORD DEFAULT
MY_PROFILE PASSWORD_VERIFY_FUNCTION PASSWORD VERIFY_FUNCTION
MY_PROFILE PASSWORD_LOCK_TIME PASSWORD .0013
MY_PROFILE PASSWORD_GRACE_TIME PASSWORD DEFAULT
--修改用户suxing使用概要文件:
sys@PROD>alter user suxing profile my_profile;
User altered.
--查看用户的概要文件的使用情况:
sys@PROD>select username,default_tablespace,created,profile
2 from dba_users;
USERNAME DEFAULT_TABLESP CREATED PROFILE
----------------------- --------------- --------- ---------------
SYS SYSTEM 24-AUG-13 DEFAULT
SYSTEM SYSTEM 24-AUG-13 DEFAULT
OUTLN SYSTEM 24-AUG-13 DEFAULT
MGMT_VIEW SYSTEM 24-AUG-13 DEFAULT
APPQOSSYS SYSAUX 24-AUG-13 DEFAULT
WMSYS SYSAUX 24-AUG-13 DEFAULT
EXFSYS SYSAUX 24-AUG-13 DEFAULT
CTXSYS SYSAUX 24-AUG-13 DEFAULT
XDB SYSAUX 24-AUG-13 DEFAULT
ANONYMOUS SYSAUX 24-AUG-13 DEFAULT
ORDSYS SYSAUX 24-AUG-13 DEFAULT
... ... ... ...
USERNAME DEFAULT_TABLESP CREATED PROFILE
----------------------- --------------- --------- ---------------
PM USERS 30-OCT-16 DEFAULT
BI USERS 30-OCT-16 DEFAULT
SUSU USERS 10-NOV-16 DEFAULT
DBSNMP SYSAUX 24-AUG-13 MONITORING_PROFILE
SUXING USERS 31-OCT-16 MY_PROFILE
38 rows selected.
--查看概要文件的使用情况:
sys@PROD>show parameter resource_limit;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
resource_limit boolean FALSE
sys@PROD>
#默认情况下是FALSE状态:
--开启使用:
sys@PROD>alter system set resource_limit= true;
System altered.
--再次查看:
sys@PROD>show parameter resource_limit;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
resource_limit boolean TRUE
sys@PROD>
#已经开启使用概要文件:
----验证概要文件:
--尝试给suxing用户修改密码:
--尝试使用简单的密码:
sys@PROD>alter user suxing identified by oracle123;
alter user suxing identified by oracle123
*
ERROR at line 1:
ORA-28003: password verification for the specified password failed
ORA-20003: Password should contain at least one \
digit, one character and one punctuation
#密码oracle123的复杂度没有达到密码函数的要求。
--再次修改为复杂的密码:
sys@PROD>alter user suxing identified by sky1603_in;
User altered.
sys@PROD>
#修改成功。
--校验failed_login_attempts 3的限制:
--尝试3次输错密码并尝试第4次:
sys@PROD>set time on
15:16:11 sys@PROD>
15:16:13 sys@PROD>conn suxing/oracle
ERROR:
ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to ORACLE.
15:16:21 sys@PROD>conn suxing/oacle123
ERROR:
ORA-01017: invalid username/password; logon denied
15:16:37 sys@PROD>conn suxing/skyin123
ERROR:
ORA-01017: invalid username/password; logon denied
15:16:55 sys@PROD>conn suxing/sky1603_in
ERROR:
ORA-28000: the account is locked
#因为前三次输错,后面第四次密码是正确的也不能登录:
--校验password_lock_time 2/1440的限制(账户被锁定2分钟):
--自从被锁住之后的两分钟后尝试再次登录suxing账号:
15:17:21 sys@PROD>
15:20:25 sys@PROD>conn suxing/sky1603_in
Connected.
15:20:41 suxing@PROD>
#锁定达2分钟后,成功再次登录账户。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31392094/viewspace-2128321/ ,如需转载,请注明出处,否则将追究法律责任。