add and set a profile to user.打开 OEM
 数据库 -> 安全性 -> 概要文件(新添加一个)
    之后在, "口令"那一页有满足你的要求~ 添加完 概要文件 后, 回到 安全性 -> 用户 -> (指定某用户) -> 
   在 "概要文件" 里选刚添加的那个即可.

解决方案 »

  1.   

    肯定要用到 profile不过这种密码验证策略需要你自己编写Oracle默认的验证策略不足以满足你的需求自己改写 utlpwdmg.sql
      

  2.   

    举个profile的示例:
    -- Create profile 
    create profile PW_PROFILE limit
      failed_login_attempts 5
      password_life_time 60
      password_reuse_time unlimited
      password_reuse_max 10
      password_lock_time 1
      password_grace_time 5
      password_verify_function PW_VERIFY_FUNCTION;
    -- Add users to profile 
    alter user test profile PW_PROFILE;
      

  3.   

    create profile PW_PROFILE limit
      failed_login_attempts 5
      password_life_time 60
      password_reuse_time unlimited
      password_reuse_max 10
      password_lock_time 1
      password_grace_time 5
      password_verify_function PW_VERIFY_FUNCTION;
    -- Add users to profile 
    alter user test profile PW_PROFILE;能不能有一个详细的说明阿?
      

  4.   

    在utlpwdmg.sql改完密码策略以后怎么生效??是不是把 utlpwdmg.sql再执行一遍
      

  5.   

    SESSION_PER_USER 整数 
    用户可以同时进行的会话(连接到Oracle)的最大数目。如果用户达到该限制,则在下一次登录时产生一条错误信息。CPU_PER_SESSION 整数
    用户在一次数据库会话期间可以占用的CPU时间总量(单位为:1%秒)。当达到该时间限制之后,用户就不能在会话中执行任何操作了。用户必须断开与Oracle 的连接再重新建立连接以使该CPU 累计器复位。
    CPU_PER_CALL 整数 
    该资源表示用户可用的CPU时间总量(单位为:1%秒),与 CPU_PER_SESSION不同,该资源是以每次调用(SQL语句)为基准来限制的,而不是以每次会话为基准的。无论何时,只要一个SQL 语句达到该限制,该语句就以错误信息结束。不像CPU_PER_SESSION那样,用户不需断开与ORACLE的连接。当使用CPU_PER_CALL时,只要没有超出参数限定的时间用户就可以做新的查询。LOGICAL_READS_PER_SESSION 整数 在一次给定的数据库会话期间能够进行的逻辑读(以数据库块为单位)的次数。如果超出该参数的限定。用户仍然可以工作,但只要他不进行读就可以。
    要想复位,用户必须断开数据库连接再重新连接才行。
    LOGICAL_READS_PER_CALL 整数 在一次CPU调用(SQL语句)期间,可以读取的数据库块数,如果数据库的逻辑读超过了该设定值,则操作就被拒绝。
    IDLE_TIME 分
    利用IDLE_TIME 可以指定用户在数据库被终止之前,可以让连接处于多长的空闲状态(以分钟为单位)。
    一个被终止的数据库连接可能不易被用户察觉,因为该资源并不终止任何应用程序。只有到用户试图下次执行某个操作时(如查询),他才会认识到该连接已被终止了。
    假设一用户已登到sqlplus 并空闲了2小时,由于IDLE_TIME 设为60(=1小时),则该用户的连接在第一小时之后就被终止了,但该用户仍可看到sqlplus ,只是不能工作罢了。
    CONNECT_TIME 分 
    该资源用于限定用户可以和数据库连接的时间总量。和IDLE_TIME,该资源也是以分钟为单位,当连接时间超出该设置时,该连接就被终止。PRIVATE_SGA 
    表示用户私有的SQL区的大小(以块为单位)。确省为 UNLIMITED.COMPOSITE_LIMIT
    COMPOSITE_LIMIT 是一项复杂的资源项。利用该项可以对所有混合资源限定作出设定。可把它看成资源成本值。该成本值让用户能够确定在设置资源限制时哪些资源项比较重要。
    在确定资源成本时,只有一下资源项有用:.CPU_PER_SESSION
    .LOGICAL-READS_PER_SESSION
    .CONNECT_TIME
    .PRIVATE_SGA如果某一资源项的资源成本为0,则该资源就没有成本。但是除0以外,都可用Alter resource cost 命令把值赋给资源项。如:
    alter resource cost connect_time 10;
    在本例中,每连接1分钟的成本是 10 个混合资源限制点,当混合资源限制点数据超过该参数的设定时,数据库连接即被终止。
    假设用户具有以下资源成本:
    CPU_PER_SESSION 1
    CONNECT_TIME 50
    LOGICAL_READS_PER_SESSION 0
    PRIVATE_SGA 10
    并且当前的混合资源限制如下:
    COMPOSITE_LIMIT 15000则该用户可以用的资源加在一起不得超过由数据库管理员设定的COMPOSITE_LIMIT值15000。在这种情况下,用户在其私有的SQL区(PRIVATE_SGA_PER_SESSION)中能够占用的CPU时间为15000(150秒)(CPU_PER_SESSION)或者1500块(1500*10=15000)。当任何资源合成达到该限定值时,会话即被终止。
    这里CONNECT_TIME 的值被设置为 0,它并不占用总的 COMPOSITE_LIMIT。
    可以同时采用混合限制和明确的限制,如:
    IDLE_TIME 180
    CONNECT_TIME 600
    CPU_PER_CALL 750
    COMPOSITE_LIMIT 10000
    在本例中,如果空闲超过180分钟,或者一次会话的总连接时间超过600分钟,或者执行一个SQL语句所耗的CPU时间超过 750(7.5秒),或者混合资源限制超过10000,则配置文件就终止会话。在ORACLE中,只要 IDLE_TIME,CONNECT_TIME,或CPU_PER_CALL的值没有超过限定值,则把COMPOSITE_LIMIT的值用做终止标志。如果这些值超出限定值,不管COMPOSITE_LIMIT的值多大,会话都会中断连接。FAILED_LOGIN_ATTEMPTS 整数
    设定登录到ORACLE 数据库时可以失败的次数。一旦某用户尝试登录数据库的达到该值时,该用户的帐户就被锁定,只能由DBA能解锁。PASSWORD_LIFE_TIME
    设定口令的有效时间(天数),一旦超过这一时间,必须重新设口令。缺省为UNLIMITED.PASSWORD_REUSE_TIME
    许多系统不许用户重新启用过去用过的口令。该资源项设定了一个失效口令要经过多少天,用户才可以重新使用该口令。缺省为UNLIMITED.PASSWORD_REUSE_MAX
    重新启用一个先前用过的口令前必须对该口令进行重新设置的次数(重复用的次数)。
    PASSWORD_LOCK_TIME
    设定帐户被锁定的天数(当登录失败达到FAILED_LOGIN_ATTEMPTS时)。PASSWORD_GRACE_TIME
    设定在口令失效前,给予的重新设该口令的宽限天。当口令失效之后回,在登录时会出现警告信息显示该天数。如果没有在宽限天内修改口令,口令将失效。PASSWORD_VERITY_FUNCTION
    该资源项允许调用一个PL/SQL 来验证口令。ORACLE公司已提供该应用 的脚本,但是只要愿意的话,用户可以制定自己的验证脚本。该参数的设定就是PL/SQL函数的名称。缺省为NULL.
      

  6.   

    CREATE PROFILE "LIMIT_PASSWD" 
        LIMIT 
        CPU_PER_SESSION DEFAULT 
        CPU_PER_CALL DEFAULT 
        CONNECT_TIME DEFAULT 
        IDLE_TIME DEFAULT 
        SESSIONS_PER_USER 2 
        LOGICAL_READS_PER_SESSION DEFAULT 
        LOGICAL_READS_PER_CALL 
        DEFAULT PRIVATE_SGA DEFAULT 
        COMPOSITE_LIMIT DEFAULT 
        FAILED_LOGIN_ATTEMPTS 3 
        PASSWORD_LOCK_TIME UNLIMITED 
        PASSWORD_GRACE_TIME DEFAULT 
        PASSWORD_LIFE_TIME 120 
        PASSWORD_REUSE_MAX DEFAULT 
        PASSWORD_REUSE_TIME DEFAULT 
        PASSWORD_VERIFY_FUNCTION DEFAULT
    这个比较全,请哪位高手给个详细注释。
    谢谢
      

  7.   

    to boydgmx:
    utlpwdmg.sql 的作用是什么?有没有写好的例子?谢谢
      

  8.   

    utlpwdmg.sql 的作用是什么?有没有写好的例子?谢谢
      

  9.   

    utlpwdmg.sql 是oracle提供给你的一个sample ,你可以在此基础上修改