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

    以上。

  • 相关阅读:
    [算法] 归并排序(自顶向下、自底向上)
    [算法] 快速排序(单路、双路、三路)
    [算法] O(nlogn)和O(n^2)算法性能比较
    [算法] O(n^2)算法的效率比较
    [设计模式] 设计模式课程(十九)--职责链模式
    [OS] 汇编语言
    [c++] 内存模型
    [c++] 内存与变量
    [Qt] 基本概念
    42. Trapping Rain Water
  • 原文地址:https://www.cnblogs.com/vanwoos/p/10057904.html
Copyright © 2011-2022 走看看