免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 876 | 回复: 0
打印 上一主题 下一主题

利用PROFILE管理口令和资源 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-23 01:41 |只看该作者 |倒序浏览
首先建立PROFILE
CREATE PROFILE lock_act LIMIT
FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 2;
分配用户TEST PROFILE
ALTER USER TEST PROFILE LOCK_ACT;

解锁帐户
ALTER USER TEST ACCOUNT UNLOCK;

CREATE PROFILE PLT LIMIT
PASSWORD_LIFE_TIME 10 PASSWORD_GRACE_TIME 2;
----PASSWORD_RESUME-TIME 10 PASSWORD_RESUME_MAX UNLIMITED;

ALTER USER TEST PROFILE PLT;
--------更改后前面的 profile lock_act 失效!!!

使用PROFILE管理口令
包括以下几个选项
FAILED_LOGIN_ATTEMPTS
PASSWORD_GRACE_TIME
PASSWORD_LIFE_TIME
PASSWORD_LOCK_TIME
PASSWORD_REUSE_MAX
PASSWORD_REUSE_TIME
PASSWORD_VERIFY_FUNCTION
同时系统提供了个默认校验函数 VERIFY_FUNCTION oracle_home%\rdbms\admin\utlpwdmg.sql
PASSWORD_VERIFY_FUNCTION 只要有以下限制
1,口令不能少于4个字符 2,口令不能与用户名相同 3 口令必须包含一个字符、一个数字、一个特殊符。
也可以自定义口令校验函数
利用PROFILE管理用户资源
-----首先要激活资源管理限制
ALTER SYSTEM SET RESOURCE_LIMIT=TRUE SCOPE=BOTH;
----七个回话限制
CPU_PER_SESSION
SESSION_PER_USER
CONNECT_TIME
LDLE_TIME
LOGICAL_READS_PER_SESSION
PRIVATE_SGA(只适合Multi-Thread Server)
COMPOSITE_LIMIT

CREATE PROFILE session_limit LIMIT
CPU_PER_SESSION 5000 SESSION_PER_USER 3
CONNECT_TIME 90 LDLE_TIME 15
LOGICAL_READS_PER_SESSION UNLIMITED PRIVATE_SGA UNLIMITED
COMPOSITE_LIMIT DEFAULT

ALTER USER TEST PROFILE session_limit;
----两个调用限制
CPU_PER_CALL
LOGICAL_READS_PER_CALL

-----更改,删除PROFILE
ALTER PROFILE session_limit LIMIT
...........;
DROP PROFILE PLT [CASCADE];

显示用户profile等信息
SELECT DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE,PROFILE FROM DBA_USER
WHERE USERNAME='TEST';
显示PROFILE的口令,资源限制选项。
SELECT PROFILE,LIMIT,PROFILE FROM DBA_FROFILES WHERE PROFILE='session_limit';
-----------共16个口令,资源选项。
COMPOSITE_LIMIT
CONNECT_TIME
CPU_PER_CALL
CPU_PER_SESSION
FAILED_LOGIN_ATTEMPTS
IDLE_TIME
LOGICAL_READS_PER_CALL
LOGICAL_READS_PER_SESSION
PASSWORD_GRACE_TIME
PASSWORD_LIFE_TIME
PASSWORD_LOCK_TIME
PASSWORD_REUSE_MAX
PASSWORD_REUSE_TIME
PASSWORD_VERIFY_FUNCTION
PRIVATE_SGA
SESSIONS_PER_USER

以下是创建PROFILE一例
Note: In order to enforce kernel limits, resource_limit must be set to true
create profile
test_profile1
limit
sessions_per_user 2 --
cpu_per_session 10000 -- hunderth of seconds
cpu_per_call 100 -- hunderth of seconds
connect_time 10 -- minutes
idle_time 5 -- minutes
logical_reads_per_session default -- db blocks
logical_reads_per_call default -- db blocks
composite_limit default --
private_sga 20M --
failed_login_attempts 3 --
password_life_time 10 -- days
password_reuse_time 12 --
password_reuse_max unlimited --
password_lock_time default -- days
password_grace_time 4 -- days
password_verify_function null;

以上参数基本上都测试过。在测试IDLE_TIME这项(闲置时间)时,出现过如下问题
SQL> conn outdo@villa
请输入口令:
ERROR:
ORA-02396: 超出最大空闲时间,请重新连接


ERROR:
ORA-24315: 非法的属性类型

SQL> conn sys@lab
请输入口令:
ERROR:
ORA-24315: 非法的属性类型

SQL> conn sys@lab as sysdba
请输入口令:
ERROR:
ORA-24313: 用户已获得证明
超过最大空闲时候的时候。其他用户再连接也不成功。导致这个问题的原因还不很清楚。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP