Oracle 学习笔记4 —— 使用profile管理系统资源

在大型数据库中,用户众多,为了有效利用系统资源。应根据用户所承担任务的不同分配合理的资源。profile不仅可以管理用户密码,也可以管理用户资源。要使用profile管理资源,首先需要将RESOURCE_LIMIT参数修改为TRUE:

SQL> show parameter resource_limit;

NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
resource_limit                       boolean                FALSE

SQL> alter system set resource_limit=true;

系统已更改。



使用profile管理系统资源,常用的参数有:

    
     SESSION_PER_USER 用户可以同时连接的会话数量。如果用户的连接数达到该限制,则不能继续登录。
     CPU_PER_SESSION 限制用户在一次数据库会话期间可以使用的CPU时间,单位为百分之一秒。到达该值以后,会话会被终止。
     CPU_PER_CALL 该参数用于限制每条sql语句所能使用的CPU时间。单位为百分之一秒。
     LOGICAL_READS_PER_SESSION 限制每个会话所能读取的数据块数量。包括从内存中读取和从磁盘读取。
     LOGICAL_READS_PER_CALL 限制每条sql所能读取的数据块数量。
     PRIVATE_SGA 在共享服务器模式下,改参数限制用户的一个会话可以使用的内存SGA区的大小,单位会数据块。在专用服务器模式下,该参数无效。
    CONNECT_TIME 限制每个用户连接到数据库的最长时间,单位为分钟,当连接时间超出改设置时,该连接终止。
     IDLE_TIME 限制每个用户会话连接到数据库的最长时间。超过该空闲时间,会话会被终止。
     COMPOSITE_LIMIT 该参数是一项由多个资源限制参数构成的复杂限制参数,利用该参数可以对所有的混合资源限定作用设置。
    
    在创建profile的时候,对用户可以访问的系统资源进行如下限制:
  
 create profile resource_limit limit   -- 用户最多只能建立5个数据库会话
    cpu_per_session unlimited   -- 会话占用的总cpu时间不进行限制
    cpu_per_call 100    -- 会话中每条sql最多占用100个单位的cpu时间
    connect_time 60  -- 每个会话持续连接到数据库的时间为1小时
    idle_time 30     -- 保持30分钟的空闲状态后会被断开
    logical_reads_per_session unlimited -- 会话中读取的数据块不进行限制
    logical_reads_per_call 1000;-- 会话中每条sql最多占用100个单位的cpu时间


    
    大部分资源限制都可以在两个级别进行限制:会话级和调用级。会话级资源限制是对用户在一个会话过程中所使用的资源进行限制;调用级资源限制是对一个sql语句执行是所和使用的资源。
    当一个会话或sql语句占用资源超过限制时,Oracle将会终止并回滚当前事务,然后返回错误信息。如果是会话及限制,还会终止会话。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值