领导要求对每个用户最大并发数和会话最大连接时间做限制时怎么做
概述
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 LIMITCPU_PER_SESSION 1000SESSIONS_PER_USER 3CONNECT_TIME 30IDLE_TIME 10CPU_PER_CALL 200LOGICAL_READS_PER_CALL 3PASSWORD_LIFE_TIME 7PASSWORD_GRACE_TIME 2PASSWORD_REUSE_TIME 30PASSWORD_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方面内容,感兴趣的朋友可以关注下!!
本文系作者 @河马 原创发布在河马博客站点。未经许可,禁止转载。
暂无评论数据