zoukankan      html  css  js  c++  java
  • 利用Oracle Database Resource Manager实现UNDO表空间的quota

    1.查出当前使用的是哪个resource plan

    select * from GV$RSRC_PLAN

    2.创建pending area

    begin
      dbms_resource_manager.create_pending_area;
    end;

    3.创建consumer group

    BEGIN
      DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP=>'SALES_APP',COMMENT=>'');
    END;

    4.创建plan directive

    begin
      dbms_resource_manager.create_plan_directive(PLAN=>'DB_CONSOLIDATE_PLAN',group_or_subplan => 'SALES_APP',undo_pool => 1024,comment=>'');
    end;

    5.设置session到consumer group的映射:

    begin
      dbms_resource_manager.SET_CONSUMER_GROUP_MAPPING(DBMS_RESOURCE_MANAGER.ORACLE_USER,'USER4','SALES_APP');
    end;

    6.检查pending area是否有错误:

    begin
      dbms_resource_manager.validate_pending_area;
    end;

    7.提交pending area中的内容:

    begin
      dbms_resource_manager.submit_pending_area;
    end;

    8.设置用户到consumer group的权限:

    BEGIN
      DBMS_RESOURCE_MANAGER_PRIVS.GRANT_SWITCH_CONSUMER_GROUP (GRANTEE_NAME   => 'USER4',CONSUMER_GROUP => 'SALES_APP',GRANT_OPTION   =>  FALSE);
    END;

    以上的步骤为实现对特定用户的undo空间设置quota的语句,有以下几点还需要注意:

    (1) select * from V$RSRC_PLAN_HISTORY 可以通过这个语句来查询数据库的resource plan 的切换情况。

    (2) 根据(1)中的语句可能会发现resource plan是不停地自动切换的,如下想让其不自动切换,可以在设置resource plan 的时候设置 FORCE: 前缀,例如:

    ALTER SYSTEM SET RESOURCE_MANAGER_PLAN = 'FORCE:mydb_plan';

    FORCE:前缀对于DBMS_RESOURCE_MANAGER.SWITCH_PLAN 这个存储过程中的resource plan 的指定也同样适用。

    其实加FORCE:前缀影响的是V$RSRC_PLAN_HISTORY视图的ALLOWED_AUTOMATED_SWITCHES

    以上。

  • 相关阅读:
    MongoDB 基础命令 (MongoDB Shell)
    MongoDB 在 Mac OSX 平台安装
    数组根据index拆分和查询下标
    简单介绍递归算法以及应用场景
    android studio ndk开发环境搭建
    基于vue开发的多功能的时间选择器组件,开箱即用
    简单了解JS中的几种遍历
    零基础学习webpack打包管理
    让你高效的理解JavaScript中的同步、异步和事件循环
    学习flex布局(弹性布局)
  • 原文地址:https://www.cnblogs.com/vanwoos/p/10057904.html
Copyright © 2011-2022 走看看