Profile的作用主要表现在三个方面
1、密码策略
2、对用户所能使用的资源进行管理
3、profile存放在数据字典里面,默认有一个名字为default的profile
set linesize 160
set pagesize 30
select resource_name,resource_type,limit from dba_profiles where profile=‘DEFAULT’;
参数详解:
FAILED_LOGIN_ATTEMPTS 连续10次登陆不成功就锁定账号
PASSWORD_LOCK_TIME 单位为天,一旦登陆次数超过指定的值以后,账号被锁定的时间,默认是unlimited,表示一直锁定下去。
PASSWORD_LIFE_TIME 单位为天,密码在多少天以后失效,失效后必须更改密码
PASSWORD_GRACE_TIME 单位为天,密码失效后,会缓冲一定的时间,这段时间,每次使用老密码登陆,都会提示更改密码,超过这段时间以后,如果还是没有更改密码,账号就被锁定
PASSWORD_REUSE_TIME 单位为天,在指定的天数以内,设定的密码不能重复
PASSWORD_REUSE_MAX 单位为次数,在指定的次数范围内,密码不能重复
上面的两个参数是互斥的,同时只能指定一个。
SESSIONS_PER_USER 同一个用户同时最多能够产生多少个session
CPU_PER_SESSION 同一个用户一次最多能够持续占用CPU的多少时间,以百分之一秒为单位,例如2000,就说明session一次能够持续使用20秒的CPU
CPU_PER_CALL 一次调用最多能够持续占用CPU的时间,一个SQL分为解析调用、执行调用等,以百分之一秒为单位
LOGICAL_READS_PER_SESSION 每个session能够进行的逻辑读的最大个数。
LOGICAL_READS_PER_CALL 一次调用能够进行的逻辑读的最大个数
IDLE_TIME 一次会话能够idle的时间,超过这个时间以后,中断会话,idle指的是既没有CPU、也没有IO等待
CONNECT_TIME SESSION 连接数据库超过指定的时间,中断这个SESSION
COMPOSITE_LIMIT 权重
PRIVATE_SGA 每个SESSION能够使用的SGA的大小
profile创建和参数修改
例给用户appsquery 创建profile
CREATE PROFILE ZM_PROFILE LIMIT
SESSIONS_PER_USER UNLIMITED
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL 6000
CONNECT_TIME 60
LOGICAL_READS_PER_SESSION DEFAULT
LOGICAL_READS_PER_CALL 6000
COMPOSITE_LIMIT 6000000
PRIVATE_SGA 66K
FAILED_LOGIN_ATTEMPTS 6
PASSWORD_LIFE_TIME 60
PASSWORD_REUSE_TIME 60
PASSWORD_REUSE_MAX 5
PASSWORD_LOCK_TIME 1/24
PASSWORD_GRACE_TIME 10;
SQL> @?/rdbms/admin/utlpwdmg.sql
函数已创建。
配置文件已更改
函数已创建。
– 修改密码策略 此处修改的环境可以改为自己创建的环境PROFILE_DEMO
SQL> alter profile ZM_PROFILE limit password_verify_function verify_function_11G;
配置文件已更改
– 修改密码策略为null则取消密码复杂度策略
SQL> alter profile ZM_PROFILE limit password_verify_function null;
– 查看修改后的环境 PASSWORD_VERIFY_FUNCTION 的LIMIT为VERIFY_FUNCTION_11G说明修改成功
SQL> select * from dba_profiles where profile='ZM_PROFILE';
SQL> alter user appsquery profile ZM_PROFILE;
–删除一个新的尚未分配给用户的PROFILE
SQL>DROP PROFILE appsprofile;
–删除已创建的profile,如果已经指定了用户则要加上cascade关键字
DROP PROFILE appsprofile cascade;
–设置密码可失败次数
alter profile default limit PASSWORD_LIFE_TIME unlimited;