详解oracle概要文件:概念+参数+模板+实例
概述
Oracle系统为了合理分配和使用系统的资源提出了概要文件的概念。所谓概要文件,就是一份描述如何使用系统的资源(主要是CPU资源)的配置文件。将概要文件赋予某个数据库用户,在用户连接并访问数据库服务器时,系统就按照概要文件给他分配资源。
profile作用包括:
1、管理数据库系统资源。
利用Profile来分配资源限额,必须把初始化参数resource_limit设置为true
ALTER SYSTEM SET resource_limit=TRUE SCOPE=BOTH;
2、管理数据库口令及验证方式。
默认给用户分配的是DEFAULT概要文件,将该文件赋予了每个创建的用户。但该文件对资源没有任何限制,因此管理员常常需要根据自己数据库系统的环境自行建立概要文件。
概要文件中配置文件参数
1. 资源限制参数
会话级资源限制
调用级资源限制
2. 口令管理参数
口令账户锁定参数
口令失效和过期
口令历史记录
创建概要配置文件模板
1、口令配置
CREATE PROFILE profile LIMIT [FAILED_LOGIN_ATTEMPTS max_value] [PASSWORD_LIFE_TIME max_value] [ {PASSWORD_REUSE_TIME |PASSWORD_REUSE_MAX} max_value] [PASSWORD_LOCK_TIME max_value] [PASSWORD_GRACE_TIME max_value] [PASSWORD_VERIFY_FUNCTION {function|NULL|DEFAULT} ]
2、资源配置
CREATE PROFILE profile LIMIT [SESSIONS_PER_USER max_value] [CPU_PER_SESSION max_value] [CPU_PER_CALL max_value] [CONNECT_TIME max_value] [IDLE_TIME max_value] [LOGICAL_READS_PER_SESSION max_value] [LOGICAL_READS_PER_CALL max_value] [COMPOSITE_LIMIT max_value] [PRIVATE_SGA max_bytes]
其中:
profile:是配置文件的名称
max_value:是一个整数、UNLIMITED 或DEFAULT
max_bytes:是一个整数,后面可以跟KB 或MB、UNLIMITED 或者DEFAULT
实例说明
需求:创建一个概要文件
概要文件名u01_session,任一会话占用CPU限制为10s,每个用户最大并发数3,会话最大连接时间30min,会话最大空闲时间10min,每次最大调用逻辑I/O次数3,每次调用可占用的最大CPU时间2s,用户口令生存期7天,用户口令宽恕期2天,口令重用时间30天
实现:
CREATE PROFILE u01_session LIMIT CPU_PER_SESSION 1000 SESSIONS_PER_USER 3 CONNECT_TIME 30 IDLE_TIME 10 CPU_PER_CALL 200 LOGICAL_READS_PER_CALL 3 PASSWORD_LIFE_TIME 7 PASSWORD_GRACE_TIME 2 PASSWORD_REUSE_TIME 30 PASSWORD_REUSE_MAX UNLIMITED; SELECT * FROM DBA_PROFILES WHERE profile='U01_SESSION';
create profile profile_name limit
---口令资源限制
failed_login_attempts 3 最多允许失败登陆次数 password_lock_time 1 登陆失败次数达到最大限制时,锁定用户的天数 password_life_time 30 口令最大生命周期 password_grace_time 7 超出口令最大生命周期后,容许宽限天数 password_reuse_max 3 设置一个口令必须被改过过多少次才能重复使用 password_reuse_time unlimited 一个口令被重用之前最小的天数 password_verify_function null 口令的验证函数,及复杂度(是否满足最低复杂度或某种校验规则)
---内核资源文件限制
cup_per_session 1 限制每个会话可以占用CPU的时间(单位为百分之一秒) cpu_per_call 2 限制每个数据库调用可以占用的CPU时间(单位为百分之一秒) connect_time 3 指定会话的最大连接时间(单位为分钟) idle_time 4 指定会话的最大空闲时间(单位为分钟) session_per_user 5 限制每个用户可以并发打开的数据库会话数。 logical_reads_per_session 6 限制一个会话可以执行的逻辑读块数 logical_reads_per_call 7 限制每个数据库调用可以执行的逻辑读块数。 private_sga 8m 限制通过一个共享服务器可以分配给用户全局区(user global area)的SGA的内存数量。 composite_limit 9 为一个用户会话指定可以消耗的资源总限额。
----查询概要文件信息
DBA_PROFILES 显示所有概要文件及其参数 DBA_USERS; 显示所有用户使用的概要文件的信息 USER_PASSWORD_LIMITS 显示分配给用户口令限额的资源参数 USER_RESOURCE_LIMITS 显示分配给用户内核资源限额的资源参数 RESOURCE_COST 组合限制的加权值
不小心写太多了,这方面内容大家做个理解就可以了,也可以收藏起来,有需要的时候对应参数查一下就可以了。
后面会分享更多关于dba方面内容,感兴趣的朋友可以关注下!!