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

    以上。

  • 相关阅读:
    [go]go addressable 详解
    [go]灵活的处理json与go结构体
    [django]django内置的用户模型
    [go]文件读写&io操作
    *2.3.2_加入env
    UVM_INFO
    uvm_config_db在UVM验证环境中的应用
    *2.2.4 加入virtual interface
    *2.2.3 加入objection机制
    2.2.2 加入factory机制
  • 原文地址:https://www.cnblogs.com/vanwoos/p/10057904.html
Copyright © 2011-2022 走看看