ORACLE_OCP之數據庫資源管理器

ORACLE_OCP之數據庫資源管理器

  • 文章目標:
    • 配置數據庫資源管理器
    • 訪問並創建資源計劃
    • 創建消費組
    • 指定用於將資源分配給消費組的指令
    • 將消費組羣體映射到計劃
    • 激活資源計劃
    • 監視資源管理器

一、數據庫資源管理器:概述

  • 使用資源管理器去做:
    • 管理混合工作量負載
    • 控制系統性能

在這裏插入圖片描述

二、數據庫資源管理器:概念

在這裏插入圖片描述

三、使用資源管理器

  • 您可以管理數據庫和操作系統資源,例如:

    • CPU使用率 SQL/PLSQL JOB SGA/PGA內存地址調撥
    • 並行度 網絡資源 內存資源
    • 活動會話數 (會話要進行協議解析內存)
    • UNDO生成 磁盤
    • 操作執行時間 內存 CPU
    • 空閒時間 CPU空閒時間
    • 數據庫整合 CPU 內存 IO 網絡
    • 相關服務整合 CPU 內存 IO 網絡
  • 您還可以指定條件,如果滿足這些條件,則將會話自動切換到另一個消費組中。

四、創建一個簡單的資源計劃

  • 通過執行單個存儲過程來調用創建消費組併爲其分配資源:

BEGIN
DBMS_RESOURCE_MANAGER.CREATE_SIMPLE_PLAN(SIMPLE_PLAN => ‘SIMPLE_RESPLAN1’,
CONSUMER_GROUP1 => ‘CONSGROUP1’, GROUP1_PERCENT => 80,
CONSUMER_GROUP2 => ‘CONSGROUP2’, GROUP2_PERCENT => 20);
END;



在這裏插入圖片描述

五、制定複雜的資源計劃

  • 創建一個掛起的區域。
  • 創建,修改或刪除消費組。
  • 將會話映射到消費組。
  • 創建資源計劃。
  • 創建資源計劃指標。
  • 驗證掛起的區域。
  • 提交待處理區域。

六、資源計劃的資源分配方法

在這裏插入圖片描述

七、參數:重點和比例的比較

在這裏插入圖片描述

八、活動會話池機制

在這裏插入圖片描述

九、指定閾值

  • 指定執行時間限制:
    • 主動估計操作的執行時間(通過基於成本的優化器(CBO)統計信息),默認值:UNLIMITED
    • 在資源消費組級別指定最大估計執行時間
    • 如果估算時間超過MAX_EST_EXEC_TIME:(ORA-07455),則不允許啓動大量作業。
  • 指定其他閾值:
    • 使用SWITCH_IO_MEGABYTES 限制會話I / O(以MB爲單位)
    • 使用SWITCH_IO_REQS 限制會話I / O請求
    • 使用SWITCH_FOR_CALL返回原始消費組(默認值:FALSE,不會還原消費組)

十、設置空閒超時

DBMS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE
 (PLAN => 'DAY_PLAN',
  GROUP_OR_SUBPLAN => 'APPUSER',
  COMMENT => 'Limit Idle Time Example',
  NEW_MAX_IDLE_TIME => 600,
  NEW_MAX_IDLE_BLOCKER_TIME => 300);

十一、在數據庫級別限制CPU使用率

  • 數據庫整合要求:
    • 相互隔離的應用程序
    • 性能要保持一致
  • CPU指標可用於:
    • 爲每個應用程序指定最小的CPU分配
    • 指定如何重新分配未使用的分配
    • 指定MAX_UTILIZATION_LIMIT屬性以對CPU利用率施加絕對上限(該值將覆蓋計劃中CPU現有分配值)
    • 不錯的選擇:自動維護任務

十二、在數據庫級別限制CPU使用率

在這裏插入圖片描述

十三、在服務器級別限制CPU使用率:實例限制

  • 在具有多個數據庫實例的多CPU服務器上管理CPU分配

  • 啓用實例限制:

    • 啓用默認CPU資源計劃

      ALTER SYSTEM SET resource_manager_plan = ‘default_plan’;

    • 指定實例可以隨時使用的最大CPU數.

      ALTER SYSTEM SET cpu_count=4;

  • 兩種方法:

    • 過度方法:每個實例的CPU限制總和超過了CPU的實際數量。
    • 分區方法:每個實例的CPU限制總和等於實際的CPU數量。

十四、實例限制:舉例

在這裏插入圖片描述

十五、監視實例限制(實例牢籠)

  • 查看CPU_COUNT參數的值:

    SELECT value FROM v$parameter WHERE name = ‘cpu_count’ AND (isdefault = ‘FALSE’ OR ismodified != ‘FALSE’);

  • 確定資源管理器狀態:

    SELECT name FROM v$rsrc_plan
    WHERE is_top_plan = ‘TRUE’ AND cpu_managed = ‘ON’;

  • 管理限制:

    SELECT begin_time, consumer_group_name, cpu_consumed_time, cpu_wait_time
    FROM v$rsrcmgrmetric_history
    ORDER BY begin_time;

    SELECT name, consumed_cpu_time, cpu_wait_time
    FROM v$rsrc_consumer_group;

十六、過載(失控)查詢和資源管理器

  • 用於觸發消費組切換的參數: (實際切換情形視你運行狀況而定。可上可下)
    • SWITCH_IO_LOGICAL 邏輯IO交換
    • SWITCH_ELAPSED_TIME 切換運行時間
  • 元消費組稱爲LOG_ONLY
  • V$SQL_MONITOR中的列:
    • RM_LAST_ACTION 資源管理器最後一次啓動
    • RM_LAST_ACTION_REASON 資源管理器最後一次啓動原因
    • RM_LAST_ACTION_TIME 資源管理器最後一次啓動時間
    • RM_CONSUMER_GROUP 資源管理消費組
  • 始終填充V R S R C M G R M E T R I C 和 V RSRCMGRMETRIC和V RSRCMGRMETRICVRSRCMGRMETRIC_HISTORY

十七、數據庫資源管理器信息

在這裏插入圖片描述

十八、監視資源管理器

  • V$SESSION:包含RESOURCE_CONSUMER_GROUP列,該列顯示會話的當前組
  • V$RSRC_PLAN:顯示活動資源計劃的視圖
  • V$RSRC_CONSUMER_GROUP:包含所有活動組的統計信息的視圖
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章