Oracle入门精读62-Oracle DBA如何管控用户争用数据库系统资源

本文详细介绍了Oracle数据库中如何通过创建用户资源文件(profiles)来限制用户会话的资源使用,包括会话数量、CPU时间、数据库块读取等,并提供了具体的SQL语句示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用户常争用的系统资源

cpu使用时间

内存逻辑读取个数

每个用户同时可以连接的会话数据

一个会话的内存空间和持续时间

每次会话的专用SGA空间

通过设置用户资源文件可对用户的资源存取进行限制

备注:建立数据库时,oracle会自动建立名为default的profile

当建立用户没有指定profile选项,那么oracle就会将default分配给用户

创建用户资源文件

语法:

CREATE PROFILE filename LIMIT

SESSION_PER_USER integer

CPU_PER_SESSION integer

USER_PER_CALL integer

CONNECT_TIME integer

……

各项含义说明

SESSION_PER_USER: 用户可以同时连接的会话数量限额;

CPU_PER_SESSION:用户在一次会期间可占用的CPU时间总量限额,单位为百分之一秒;

USER_PER_CALL:用户一次SQL调用可用的CPU时间总量限额,单位为百分之一秒;

LOGICAL_READS_PER_SESSION:在一次数据库会话期间能够读取的数据库块的个数限额;

LOGICAL_READS_PER_CALL:一次SQL调用可以读取的数据库块数限额;

IDLE_TIME:用户连接到数据库后的可空闲时间限额,单位为分钟,若空闲时间超过此值,则连接被断开;

CONNECT_TIME:一次连接的时间总量限额,单位为分钟,连接时间超过此值时,连接被断开;

PRIVATE_SGA:用户么有的SGA区的大小,单位为数据库块,默认值为UNLIMITED;

COMPOSITE_LIMIT:这是一项由上述限制参数构成的组合资源项。

FAILED_LOGIN_ATTEMPTS:用户登录时,允许用户名/密码校验失败致使用登录失败的次数限额,超过该次数,帐户被锁定;

PASSWORD_LIFE_TIME:口令有效时间,单位为天数,超过这一时间,拒绝登录,须重新设置口令,默认值为UNLIMITED;

PASSWORD_REUSE_TIME:一个失效口令经过多少天后才可重新利用,默认为UNLIMITED;

PASSWORD_REUSE_MAX:一个口令可重复使用的次数;

PASSWORD_LOCK_TIME:当登录失败达到FAILED_LOGIN_ATTEMPS时,帐户被锁定,该参数用于设定被锁定的天数;

案例需求:

当会话空间超过20分钟,或者连接时间超过120分钟,又或者执行一个SQL耗费超过7.5秒,再或者这几个资源限制加起来的总数超过800,则系统自动终止会话。

DLE_TIME 20

CONNECT_TIME 120

CPU_PER_CALL 750

COMPOSITE_LIMT 800

演示应用

1)创建一个用户资源文件

create profile hr_users limit

SESSIONS_PER_USER 3

cpu_per_session UNLIMITED

connect_time 30

logical_reads_per_session DEFAULT

logical_reads_per_call 1000

private_sga 15K

composite_limit 500000

password_life_time 90

2)显示用户资源文件信息

SQL> select * from dba_profiles where profile = upper('hr_users');

3)给用户设定用户资源文件

sql>alter user tom profile hr_users

4)删除Profile

   sql>drop profile hr_user

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值