1、Profile目的:数据库
Oracle系统中的profile能够用来对用户所能使用的数据库资源进行限制,使用Create Profile命令建立一个Profile,用它来实现对数据库资源的限制使用,若是把该profile分配给用户,则该用户所能使用的数据库资源都在该profile的限制以内。具体管理内容有:CPU的时间、I/O的使用、IDLE TIME(空闲时间)、CONNECT TIME(链接时间)、并发会话数量、口令机制等。session
2、条件:并发
建立profile必需要有CREATE PROFILE的系统权限。为用户指定资源限制,必须:资源
1.动态地使用alter system或使用初始化参数resource_limit使资源限制生效。该改变对密码资源无效,密码资源老是可用。
SQL> show parameter resource_limit
SQL> alter system set resource_limit=true;
2.使用create profile建立一个定义对数据库资源进行限制的profile。it
例: create profile one_session limit sessions_per_user 1;(建立一个名为one_session的Profile,设置限制数量为1)
3.使用create user 或alter user命令把profile分配给用户。
例: alter user test profile one_session;(分配给test用户)io
3、查询Profilefunction
可经过dba_profiles视图查看一下系统中默认都有哪些PROFILEtest
4、建立 profile 的语法以下:file
CREATE PROFILE profile
LIMIT { resource_parameters 对资源的限制
| password_parameters 对密码的限制
}... ;权限
<resource_parameters>
{{ SESSIONS_PER_USER 每一个用户名并行会话数
| CPU_PER_SESSION 每会话可用的CPU时间,单位0.01秒
| CPU_PER_CALL 一次SQL调用(解析、执行和获取)容许的CPU时间
| CONNECT_TIME 会话链接时间(分钟)
| IDLE_TIME 会话空闲时间(分钟),超出将断开
| LOGICAL_READS_PER_SESSION
| LOGICAL_READS_PER_CALL
| COMPOSITE_LIMIT “组合打法”
}
{ integer | UNLIMITED | DEFAULT }
| PRIVATE_SGA
{ integer [ K | M ] | UNLIMITED | DEFAULT }
}
< password_parameters > {{ FAILED_LOGIN_ATTEMPTS 被锁定前的试错次数 | PASSWORD_LIFE_TIME 密码使用天数,默认180天 | PASSWORD_REUSE_TIME 密码可重用的间隔时间(结合PASSWORD_REUSE_MAX) | PASSWORD_REUSE_MAX 密码最大改变次数(结合PASSWORD_REUSE_TIME) | PASSWORD_LOCK_TIME 超过试错次数后,被锁定的天数,默认1天 | PASSWORD_GRACE_TIME 密码过时后还可以使用原密码的天数 } { expr | UNLIMITED | DEFAULT } | PASSWORD_VERIFY_FUNCTION { function | NULL | DEFAULT } }