本文共 4796 字,大约阅读时间需要 15 分钟。
一、profile功能 oracle系统中的profile是用来对用户所能使用的数据库资源进行限制的。 二、profile参数详解 (1)查看数据库资源限制参数 SQL> select * from dba_profiles;
PROFILE RESOURCE_NAME RESOURCE LIMIT
------------------------------ -------------------------------- -------- --------------------
DEFAULT COMPOSITE_LIMIT KERNEL UNLIMITED
DEFAULT SESSIONS_PER_USER KERNEL UNLIMITED
DEFAULT CPU_PER_SESSION KERNEL UNLIMITED
DEFAULT CPU_PER_CALL KERNEL UNLIMITED
DEFAULT LOGICAL_READS_PER_SESSION KERNEL UNLIMITED
DEFAULT LOGICAL_READS_PER_CALL KERNEL UNLIMITED
DEFAULT IDLE_TIME KERNEL UNLIMITED
DEFAULT CONNECT_TIME KERNEL UNLIMITED
DEFAULT PRIVATE_SGA KERNEL UNLIMITED
DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10
DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED
DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED
DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED
DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL
DEFAULT PASSWORD_LOCK_TIME PASSWORD UNLIMITED
DEFAULT PASSWORD_GRACE_TIME PASSWORD UNLIMITED
MONITORING_PROFILE COMPOSITE_LIMIT KERNEL DEFAULT
MONITORING_PROFILE SESSIONS_PER_USER KERNEL DEFAULT
MONITORING_PROFILE CPU_PER_SESSION KERNEL DEFAULT
MONITORING_PROFILE CPU_PER_CALL KERNEL DEFAULT
MONITORING_PROFILE LOGICAL_READS_PER_SESSION KERNEL DEFAULT
MONITORING_PROFILE LOGICAL_READS_PER_CALL KERNEL DEFAULT
MONITORING_PROFILE IDLE_TIME KERNEL DEFAULT
MONITORING_PROFILE CONNECT_TIME KERNEL DEFAULT
MONITORING_PROFILE PRIVATE_SGA KERNEL DEFAULT
MONITORING_PROFILE FAILED_LOGIN_ATTEMPTS PASSWORD UNLIMITED
MONITORING_PROFILE PASSWORD_LIFE_TIME PASSWORD DEFAULT
MONITORING_PROFILE PASSWORD_REUSE_TIME PASSWORD DEFAULT
MONITORING_PROFILE PASSWORD_REUSE_MAX PASSWORD DEFAULT
MONITORING_PROFILE PASSWORD_VERIFY_FUNCTION PASSWORD DEFAULT
MONITORING_PROFILE PASSWORD_LOCK_TIME PASSWORD DEFAULT
MONITORING_PROFILE PASSWORD_GRACE_TIME PASSWORD DEFAULT
32 rows selected.
Unlimited:分配该 profile 的用户对资源使用无限制,当使用密码参数时,unlimited意味着没有对参数加限制。Default :指定为default意味着忽略对 profile 中的一些资源限制,Default profile 初始定义对资源不限制,可以通过alter profile 命令来改变。
(2)参数详解Resource_parameter 部分:Session_per_user:指定限制用户的并发会话的数目。Cpu_per_session:指定会话的CPU时间限制,单位为百分之一秒。Cpu_per_call:指定一次调用(解析、执行和提取)的CPU时间限制,单位为百分之一秒。Connect_time:指定会话的总的连接时间,以分钟为单位。Idle_time :指定会话允许连续不活动的总的时间,以分钟为单位,超过该时间,会话将断开。Logical_reads_per_session:指定一个会话允许读的数据块的数目,包括从内存和磁盘读的所有数据块。Logical_read_per_call:指定一次执行SQL(解析、执行和提取)调用所允许读的数据块的最大数目。Private_sga:指定一个会话可以在共享池(SGA)中所允许分配的最大空间,以字节为单位。Composite_limit:指定一个会话的总的资源消耗,以service units单位表示。Oracle数据库以有利的方式计算cpu_per_session, connect_time,logical_reads_per_session和private-sga总的service unitsPassword_parameter部分:Failed_login_attempts :指定在帐户被锁定之前所允许尝试登陆的的最大次数。Password_life_time:指定同一密码所允许使用的天数。Password_reuse_time 和password_reuse_max:这两个参数必须互相关联设置,password_reuse_time指定了密码不能重用前的天 数,而password_reuse_max则指定了当前密码被重用之前密码改变的次数。两个参 数都必须被设置为整数。Password_lock_time:指定登陆尝试失败次数到达后帐户的锁定时间,以天为单位。Password_grace_time:指定宽限天数,数据库发出警告到登陆失效前的天数。如果数据库密码在这中间没有被修改,则过期会失效。Password_verify_function:该字段允许将复杂的PL/SQL密码验证脚本做为参数传递到create profile语句。Oracle数据库提供了一个默认 的脚本,但是自己可以创建自己的验证规则或使用第三方软件验证。 对Function名称,指定的是密码验证规 则的名称, 指定为Null则意味着不使用密码验证功能。如果为密码参数指定表达式,则该表达式可以是任意 格式,除了数据库 量子查询。
(2) profile分配给用户,命令如下: alter user user_name profile profile_name; 四、举例 (1)创建一个用户u1CREATE PROFILE profile profile_nameLIMIT { resource_parameters| password_parameters}[ resource_parameters| password_parameters]... ;
SQL> show user; USER is "SYS" SQL> create user u1 identified by u1; User created. SQL> grant create session to u1; Grant succeeded.(2)创建profile为p1用来限制用户尝试登陆失败2次后会被锁定 SQL> create profile p1 limit FAILED_LOGIN_ATTEMPTS 2; Profile created. (3)把创建的p1分配给u1 SQL> alter user u1 profile p1; User altered. (4)尝试验证 SQL> select USERNAME,ACCOUNT_STATUS,LOCK_DATE,PROFILE from dba_users where username='U1'; USERNAME ACCOUNT_STATUS LOCK_DATE PROFILE ---------- -------------------------------- --------- ------------------------------ //看u1用户的状态没有被锁 U1 OPEN P1 SQL> conn u1/a1; ERROR: ORA-01017: invalid username/password; logon denied Warning: You are no longer connected to ORACLE. //尝试两次失败登陆 SQL> conn u1/a1; ERROR: ORA-01017: invalid username/password; logon denied
转载地址:http://qahlx.baihongyu.com/