怎样利用PROFILE管理口令和资源?

社会网编2023-03-11 13:261710

  首先建立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: 用户已获得证明超过最大空闲时候的时候。

  其他用户再连接也不成功。导致这个问题的原因还不很清楚。 

以上是我对于这个问题的解答,希望能够帮到大家。

评论区