- ユーザーズ・ガイド
- I/Oリソースの管理
- IORMの管理
- I/Oリソース管理の構成の確認
5.2.9 I/Oリソース管理の構成の確認
このチェックリストを使用して、I/Oリソース管理(IORM)が正しく構成されていることを確認します。
- IORMを使用してデータベース内のI/Oリソースを管理する場合、次の基準が満たされていることを確認します。
- リソース・プランが有効化されていること。
- すべてのデータベース・インスタンスで同じリソース・プランが有効化されていること。
- スケジューラ・ウィンドウを使用してOracle Database Resource Managerを有効化すると、すべてのデータベース・インスタンスで常に同じプランが有効化されます。
RESOURCE_MANAGER_PLAN
パラメータを使用してOracle Database Resource Managerを有効化する場合、sid='*'
を使用してすべてのデータベース・インスタンスにパラメータを設定します。
- リソース・プランのコンシューマ・グループごとに、リソース・プランに
MGMT_P[1-8]
ディレクティブが含まれていること。
次の問合せを使用して、前述の基準が満たされているかどうかを確認できます。
SELECT DECODE(count(*), 0, 'Intra-Instance IORM Plan Enabled', 'No Intra-Instance IORM Plan Enabled') status FROM gv$instance WHERE inst_id NOT IN (SELECT inst_id FROM gv$rsrc_plan WHERE cpu_managed = 'ON');
- IORMを使用して複数のデータベースのI/Oリソースを管理する場合、データベース間プランが適切に構成されているかどうかを確認します。
CellCLI> LIST IORMPLAN DETAIL
データベース間プランが構成されていない場合、CellCLIの
ALTER IORMPLAN
コマンドを使用してプランを構成します。各アクティブ・データベースは、dbPlan
パラメータに独自のディレクティブを保持している必要があります。 - セッションが正しいコンシューマ・グループにマップされているかどうかを確認します。
ワークロードの実行中に、次の問合せを実行します。
SELECT r.sid, c.consumer_group current_consumer_group FROM v$rsrc_session_info r, dba_rsrc_consumer_groups c WHERE r.current_consumer_group_id = c.consumer_group_id UNION SELECT sid, 'OTHER_GROUPS' from v$rsrc_session_info WHERE current_consumer_group_id = 0;
次の構成エラーが原因で、セッションが適切なコンシューマ・グループに存在していないことがあります。
-
権限の不足: セッションをいずれかのコンシューマ・グループに切り替えるには、そのコンシューマ・グループに切り替える権限がユーザーまたはロールに付与されている必要があります。次の問合せにより、すべてのコンシューマ・グループの権限が表示されます。
SELECT grantee, granted_group FROM DBA_RSRC_CONSUMER_GROUP_PRIVS ORDER BY granted_group;
次のコマンドを使用して、任意のセッションをコンシューマ・グループに切り替える権限を付与します。この例は、
BATCH_GROUP
に権限を付与する方法を示しています。EXEC dbms_resource_manager_privs.grant_switch_consumer_group - ('public', 'BATCH_GROUP', FALSE);
-
アクティブではないコンシューマ・グループ: 現在のリソース・プランに含まれていないコンシューマ・グループにセッションがマップされるか、手動で切り替えられると、そのセッションはデフォルトのコンシューマ・グループである
OTHER_GROUPS
に切り替えられます。セッションがマッピング・ルールを使用してコンシューマ・グループに割り当てられている場合、次の問合せを使用して、マッピング・ルールにより選択されたコンシューマ・グループ、使用されたマッピング属性、およびセッション開始時の本来のコンシューマ・グループを確認できます。
SELECT r.sid, r.mapped_consumer_group, r.mapping_attribute, c.consumer_group original_consumer_group FROM v$rsrc_session_info r, dba_rsrc_consumer_groups c WHERE r.orig_consumer_group_id = c.consumer_group_id;
マップ済のコンシューマ・グループが元のコンシューマ・グループと異なる場合、マップ済のコンシューマ・グループはリソース・プランに含まれていなかったことになります。
-
- CellCLIを使用して、すべてのデータベースの各コンシューマ・グループで発行された大小のI/Oリクエストの数を表示します。
CellCLI> LIST METRICCURRENT CG_IO_RQ_LG, CG_IO_RQ_SM ATTRIBUTES name, - metricObjectName, metricValue, collectionTime;
アクティブなI/Oワークロードを保持する各コンシューマ・グループは、これらのメトリックのとおりに大小のI/Oリクエストを生成しています。
- ワークロードの実行中に、I/O負荷が正しいコンシューマ・グループで管理されているかどうかを確認します。
次のCellCLIコマンドでは、すべてのデータベースの各コンシューマ・グループで発行された大小のI/Oリクエストの数が表示されます。
CellCLI> LIST METRICCURRENT CG_IO_RQ_LG, CG_IO_RQ_SM ATTRIBUTES name, - metricObjectName, metricValue, collectionTime;
- ワークロードを実行中は、各カテゴリ、データベース、およびコンシューマ・グループの実際のI/O使用率を問合せます。
次のCellCLIコマンドは、Oracle Exadata Storage Serverで実行中の各データベースの大小I/O使用率のリストです。
CellCLI> LIST METRICCURRENT DB_IO_UTIL_LG, DB_IO_UTIL_SM ATTRIBUTES name, - metricObjectName, metricValue, collectionTime;
出力はデータベースからの大小のリクエストによって使用されるディスク・リソースのパーセントを示したものです。
関連トピック
親トピック: IORMの管理