リソース・マネージャー新機能(11g)

1. 11gリソース・マネジャー新機能概要

1.1 10gR2のリソース・マネジャー

リソース・マネージャの概念 リソース・マネージャの管理

1.2 11gR1の新機能
  • ストレージのI/O機能較正(I/O calibration)
  • デフォルトメンテナンスプラン:DEFAULT_MAINTENANCE_PLAN
  • Built-inリソースプラン:MIXED_WORKLOAD_PLAN
  • AWRにリソース・マネジャー統計履歴を保存
  • 新しいリソースプラン・ディレクティブ

2. ストレージのI/O機能較正(I/O calibration)

2.1 新規DBMS_RESOURCE_MANAGER.CALIBRATE_IOプロシージャ

使用例

set serveroutput on
declare
    v_max_iops pls_integer:=1;
    v_max_mbps pls_integer:=1;
    v_actual_latency pls_integer:=1;
begin
    dbms_resource_manager.calibrate_io(
        max_iops=>v_max_iops,
        max_mbps=>v_max_mbps,
        actual_latency=>v_actual_latency);
        dbms_output.put_line('results follow: ');
        dbms_output.put_line('max iops: '||v_max_iops);
        dbms_output.put_line('max mbps: '||v_max_mbps);
        dbms_output.put_line('actual latency: '||v_actual_latency);
end;
/

同期I/Oのデータベースで実行すると、下記のエラーが出てくる。
ORA-56708: Could not find any datafiles with asynchronous i/o capability
2.2 非同期I/Oの変更

DISK_ASYNCH_IO デフォルト:TRUE
FILESYSTEMIO_OPTIONS パラメータリスト{none | setall | directIO | asynch}

  • none:デフォルト。同期I/O
  • setall:非同期I/O且つダイレクトI/O(OSキャッシュバッファをバイパス)
  • directIO:ダイレクトI/O(OSキャッシュバッファをバイパス)
  • asynch:非同期I/O
SQL> alter system set filesystemio_options=setall scope=spfile;

System altered.

SQL>
2.3 DBMS_RESOURCE_MANAGER.CALIBRATE_IOプロシージャの実行例
SQL> set serveroutput on
SQL> declare
    v_max_iops pls_integer:=1;
    v_max_mbps pls_integer:=1;
    v_actual_latency pls_integer:=1;
begin
    dbms_resource_manager.calibrate_io(
        max_iops=>v_max_iops,
        max_mbps=>v_max_mbps,
        actual_latency=>v_actual_latency);
        dbms_output.put_line('results follow: ');
        dbms_output.put_line('max iops: '||v_max_iops);
        dbms_output.put_line('max mbps: '||v_max_mbps);
        dbms_output.put_line('actual latency: '||v_actual_latency);
end;
/
results follow:
max iops: 145
max mbps: 34
actual latency: 19

PL/SQL procedure successfully completed.

SQL>

結果はDBA_RSRC_IO_CALIBRATEビューに配置される。
OMR(SYS)> col start_time format a20
OMR(SYS)> col end_time format a20
OMR(SYS)> select * from DBA_RSRC_IO_CALIBRATE;

START_TIME           END_TIME               MAX_IOPS   MAX_MBPS  MAX_PMBPS    LATENCY NUM_PHYSICAL_DISKS
-------------------- -------------------- ---------- ---------- ---------- ---------- ------------------
24-NOV-09 10.56.30.2 24-NOV-09 11.06.01.5        145         34         35         19                  1
10230 AM             32085 AM

OMR(SYS)>

3. 新しいリソースプラン・ディレクティブ

  • switch_io_megabytes:セッションが消費できるI/Oの量(単位:MB)を定義する。デフォルトはNULLで無制限になる。
  • switch_io_reqs:セッションのI/Oリクエスト数を制限する。デフォルトはNULLで無制限。
  • switch_for_call:従来のSWITCH_TIME_IN_CALLを置き換える。switch_for_callをTRUEにすると、switch_time,switch_io_megabytes,switch_io_reqsによって他のコンシューマ・グループにスイッチされたコールが終わったら、オリジナルコンシューマ・グループに切替える。
  • mgmt_p1 to mgmt_p8:従来のCPU_P1 to CUP_P8を置き換える。CPU_MTHをEMPHASISに設定すれば、mgmt_p1 to mgmt_p8によって、レベル1~8に応じるCPUのパーセンテージを定義できる。
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License