プライマリ・コンテンツに移動
Oracle® Exadata Storage Server Softwareユーザーズ・ガイド
12cリリース2 (12.2)
E84909-03
目次へ移動
目次

前
次

7 Oracle Exadata Storage Server Softwareの監視およびチューニング

この章では、Oracle Exadata Storage Server Softwareの監視およびチューニングについて説明します。Oracleでは、Oracle Exadata Storage Server環境のほとんどの監視タスクに対応するユーティリティを提供しています。

関連項目

  • Oracle Database 2日でデータベース管理者
  • Oracle Database管理者ガイド
  • Oracle Databaseパフォーマンス・チューニング・ガイド
  • 『Oracle Databaseテスト・ガイド』
  • 『Oracle Enterprise Manager Exadata管理スタート・ガイド』

7.1 メトリックとアラートの理解

メトリックとアラートを使用して、Oracle Exadata Storage Server Softwareを監視できます。メトリックは、セルやセル・ディスクなどのオブジェクトに関連付けられ、cumulative、rateまたはinstantaneousにできます。メトリックを確認してアラートのしきい値を設定することにより、リソース管理をチューニングして最適化できます。

7.1.1 メトリックについて

メトリックは、セル・ディスクやグリッド・ディスクなど、ストレージ・セルとそのコンポーネントの重要なランタイム・プロパティまたは内部のインスツルメンテーション値を観測して記録したものです。メトリックは、一定間隔で計算されてメモリーに保存される一連の測定値で、永続的な履歴としてディスクに格納されます。

通常、メトリック値では、特定の観測期間における累計カウンタの絶対値または累計カウンタの増減率を記録します。一部のメトリックは、状態遷移の時間の記録にも使用されます。

メトリック値としきい値を比較することにより、メトリック値がしきい値を超えた場合にアラートを送信できます。メトリックの極端な値が、管理者に注意を促す問題またはその他のイベントを示す場合、メトリックを警告およびクリティカルのしきい値に関連付けることができます。

7.1.2 アラートについて

アラートは、ストレージ・セル内で発生した重要なイベントを表し、通常はストレージ・セルの機能が損なわれているか、または障害が発生する危険性があることを示します。これらのアラートが発生した場合は是正または予防措置が必要になる可能性があるため、管理者はこれらのアラートを調べる必要があります。

アラートには、情報、警告またはクリティカルの3つのタイプがあります。通常、アラートはOracle Enterprise Managerなどの監視インフラストラクチャに伝播され、ストレージ管理者に通知されます。考えられるアラートには、物理ディスクの障害、ディスクの読取り/書込みエラー、推奨値を超えるセル温度の上昇、Oracle Exadata Storage Server Softwareの障害、過度なI/Oレイテンシなどがあります。メトリックは、警告またはクリティカルのしきい値を使用したアラートの送信に使用できます。メトリック値がしきい値を超えた場合に、アラートを送信できます。

アラートは、ステートフルまたはステートレスのいずれかになります。ステートフル・アラートは観測可能なセルの状態を表し、後で再テストして状態が変化したかどうかを検出できます。これにより、前に観測したアラートの状態が問題なくなったかどうかを確認できます。ステートレス・アラートは、永続的な状態を表さないポイント・イン・タイムのイベントを表し、発生した内容を示すだけです。

注意:

環境の温度について、組込みのしきい値があります。温度が高すぎる、または低すぎる場合、アラートが自動的に送信されます。

7.2 メトリックを使用したOracle Exadata Storage Serverの監視

Oracle Exadata Storage Serverのメトリックを表示することにより、セルを監視できます。メトリックには次のタイプがあります。

  • cumulative: メトリックが作成されてからの統計。

  • instantaneous: メトリックが収集される時点の値。

  • rate: 特定の時間の統計を平均して計算される値。

表の説明では、「小さい」は128KB以下のサイズ、「大きい」は128KBより大きいサイズを意味します。

この項では、次の項目について説明します。

7.2.1 メトリックの表示

CellCLIのLISTコマンドを使用すると、セル・オブジェクトのメトリックを表示および監視できます。LISTコマンドを使用して、メトリック定義、現在のメトリック、およびメトリック履歴を表示できます。次の各項では、メトリックでLISTコマンドを使用する方法について説明します。

7.2.1.1 メトリック定義の表示

セルのメトリック定義を表示するには、LIST METRICDEFINITIONコマンドを使用します。メトリック定義のリストには、メトリックの構成が表示されます。

例7-1 メトリック定義の表示

この例は、METRICDEFINITIONオブジェクトの属性を表示する方法を示しています。

CellCLI> LIST METRICDEFINITION CL_CPUT DETAIL

CellCLI> LIST METRICDEFINITION WHERE objectType = 'GRIDDISK'

CellCLI> LIST METRICDEFINITION WHERE name LIKE 'CD_IO_RQ.*' -
         ATTRIBUTES name, metricType, description

関連項目

7.2.1.2 現在のメトリックの表示

セルの現在のメトリック値を表示するには、LIST METRICCURRENTコマンドを使用します。現在のメトリックのリストには、各メトリックの現在値の観測データのセットが表示されます。

例7-2 現在のメトリック値の表示

この例は、METRICCURRENTオブジェクトの属性を表示する方法を示しています。

CellCLI> LIST METRICCURRENT CL_TEMP DETAIL

         name:                   CL_TEMP
         alertState:             normal
         collectionTime:         2009-12-17T15:32:25-08:00
         metricObjectName:       abcd2x3
         metricType:             Instantaneous
         metricValue:            48.0 C
         objectType:             CELL

CellCLI> LIST METRICCURRENT WHERE objectType = 'CELLDISK' AND                 - 
         metricValue != 0 ATTRIBUTES name, metricObjectName,                  -
         metricValue, collectionTime

         CD_IO_BY_R_LG   CD_00_abcd2x3    1.9 MB  2009-12-17T15:46:52-08:00
         CD_IO_BY_R_LG   CD_01_abcd2x3    1.0 MB  2009-12-17T15:46:52-08:00
         CD_IO_BY_R_LG   CD_02_abcd2x3    4.1 MB  2009-12-17T15:46:52-08:00
         CD_IO_BY_R_LG   CD_03_abcd2x3    9.5 MB  2009-12-17T15:46:52-08:00
         CD_IO_BY_R_LG   CD_04_abcd2x3    0.1 MB  2009-12-17T15:46:52-08:00
         CD_IO_BY_R_LG   CD_05_abcd2x3    0.4 MB  2009-12-17T15:46:52-08:00
         ...

7.2.1.3 メトリック履歴の表示

セルのメトリック履歴を表示するには、LIST METRICHISTORYコマンドを使用します。メトリック履歴のリストは、すべてのメトリック値の過去の各観測データを収集したものです。

メトリック履歴ファイルの保存期間は、metricHistoryDaysセル属性で指定されます。この設定は、CellCLIのALTER CELLコマンドで変更できます。

例7-3 メトリック履歴の値の表示

この例は、METRICHISTORYオブジェクトの属性を表示する方法を示しています。

CellCLI> LIST METRICHISTORY CD_IO_RQ_R_LG WHERE alertState='critical' DETAIL

CellCLI> LIST METRICHISTORY WHERE objectType = 'CELLDISK' AND metricValue != 0   -
         AND collectionTime > '2009-08-12T09:10:51-07:00' -ATTRIBUTES name,      -
         metricObjectName, metricValue, collectionTime

7.2.2 セルのメトリックの監視

セルのメトリックでは、CPU使用率、メモリー、ネットワーク・インターコネクトなど、セルに関する情報が提供されます。セルのメトリックを表示するには、METRICCURRENTオブジェクト、METRICDEFINITIONオブジェクトおよびMETRICHISTORYオブジェクトでCELLと同等のオブジェクト・タイプ属性を使用します。例7-4は、セルのメトリックを表示する方法を示しています。

次の表は、セル・メトリックのメトリック名および説明の一覧です。メトリックを表示するセルは、METRICCURRENTオブジェクトおよびMETRICHISTORYオブジェクトのmetricObjectName属性で指定されます。

注意:

Oracle Exadata Storage Server Softwareでは、セルで利用可能なほとんどのメモリーを使用できます。Oracle Exadata Storage Server Softwareには、メモリーの過剰使用を避けるための内部コントロールが備わっています。スワップ領域が少なくなると、再起動サーバーによりアラートが生成され、Oracle Exadata Storage ServerのCELLSRVプロセスが再起動されます。これらのアラートは、Oracleサポート・サービスに報告する必要があります。Oracle Enterprise ManagerによるOracle Exadata Storage Serverのメモリー使用率の監視にその他のアラートを構成することはお薦めしません。

表7-1 セルのメトリックおよび説明

メトリック 説明

CL_BBU_CHARGE

ディスク・コントローラのバッテリ充電。

CL_BBU_TEMP

ディスク・コントローラのバッテリの温度。

CL_CPUT

セルのCPU使用率(システムCPUがアイドル状態でなくなる直前の1分間のCPU使用率(/proc/statで取得))。

CL_CPUT_CS

CELLSRVが使用しているCPU時間の割合(%)。

CL_CPUT_MS

MSが使用しているCPU時間の割合(%)。

CL_FANS

セルで動作中のファンの回転数。

CL_FSUT

現在使用中のファイル・システムで使用されている合計領域の割合。このメトリックは、セルの様々なファイル・システムの領域使用率を示します。

CL_IO_RQ_NODATA

データを返さなかったI/Oリクエストの数。

CL_IO_RQ_NODATA_SEC

データを返さなかったI/Oリクエストの1秒当たりの数。

CL_MEMUT

セルで使用されている合計物理メモリーの割合。

CL_MEMUT_CS

CELLSRVが使用している物理メモリーの割合(%)。

CL_MEMUT_MS

MSが使用している物理メモリーの割合(%)。

CL_RUNQ

running(実行中)またはuninterruptible(無停止)とマークされるLinuxの実行キューの(直前の1分間の)プロセスの平均数(/proc/loadavgで取得)。

CL_SWAP_IN_BY_SEC

1秒当たりの読み取られたスワップ・ぺージのKB数。

CL_SWAP_OUT_BY_SEC

1秒当たりの書き込まれたスワップ・ぺージのKB数。

CL_SWAP_USAGE

使用済のスワップ領域の割合(%)。

CL_TEMP

ベースボード管理コントローラ(BMC)で提供されるサーバーの瞬間温度(摂氏)。

CL_VIRTMEM_CS

CELLSRVが使用している仮想メモリー量(MB)。

CL_VIRTMEM_MS

MSで使用中の合計メモリー(常駐およびスワップ)(MB)。

IORM_MODE

セルのI/Oリソース管理目標。

N_HCA_MB_RCV_SEC

InfiniBandインタフェースが1秒当たりに受信したMB数。

N_HCA_MB_TRANS_SEC

InfiniBandインタフェースが1秒当たりに送信したMB数。

N_NIC_KB_RCV_SEC

イーサネット・インタフェースが1秒当たりに受信したKB数。

N_NIC_KB_TRANS_SEC

イーサネット・インタフェースが1秒当たりに送信したKB数。

N_NIC_RCV_SEC

インターコネクトによって受信されるI/Oパケットの1秒当たりの合計数。

N_NIC_TRANS_SEC

インターコネクトによって送信されるI/Oパケットの1秒当たりの合計数。

例7-4 セルのメトリックの表示

CellCLI> LIST METRICCURRENT CL_CPUT DETAIL

         name:                   CL_CPUT
         alertState:             normal
         collectionTime:         2009-12-17T15:54:25-08:00
         metricObjectName:       abcd2x3
         metricType:             Instantaneous
         metricValue:            4.3 %
         objectType:             CELL

7.2.3 セル・ディスクのメトリックの監視

セル・ディスクのメトリックでは、セル・ディスクからの大きいブロック読取り数など、セル・ディスクのI/O負荷に関する情報が提供されます。セル・ディスクのメトリックを表示するには、METRICCURRENTオブジェクト、METRICDEFINITIONオブジェクトおよびMETRICHISTORYオブジェクトでCELLDISKと同等のオブジェクト・タイプ属性を使用します。

次の表は、セル・ディスク・メトリックのメトリック名および説明の一覧です。メトリックを表示するセル・ディスクは、METRICCURRENTオブジェクトおよびMETRICHISTORYオブジェクトのmetricObjectName属性で指定されます。cumulativeメトリックの場合は、様々なcollectionTime期間から値を減算することにより、特定の期間のメトリック値を算出できます。rateメトリックの場合は、メトリック値の期間は直前の1分間になります。

表7-2 セル・ディスクのメトリックおよび説明

メトリック 説明

CD_BY_FC_DIRTY

セル・ディスクと同期されないフラッシュ・キャッシュのMB数。

CD_IO_BY_R_LG

セル・ディスクから大きいブロックを読み取るときの読取りMB数の累計。

CD_IO_BY_R_LG_SEC

セル・ディスクから大きいブロックを読み取るときの1秒当たりの読取りMB数。

CD_IO_BY_R_SCRUB

修正ジョブによってセル・ディスクから読み取られたMB数。

CD_IO_BY_R_SCRUB_SEC

修正ジョブによってセル・ディスクから1秒当たりに読み取られたMB数。

CD_IO_BY_R_SM

セル・ディスクから小さいブロックを読み取るときの読取りMB数の累計。

CD_IO_BY_R_SM_SEC

セル・ディスクから小さいブロックを読み取るときの1秒当たりの読取りMB数。

CD_IO_BY_W_LG

セル・ディスクに大きいブロックを書き込むときの書込みMB数の累計。

CD_IO_BY_W_LG_SEC

セル・ディスクに大きいブロックを書き込むときの1秒当たりの書込みMB数。

CD_IO_BY_W_SM

セル・ディスクに小さいブロックを書き込むときの書込みMB数の累計。

CD_IO_BY_W_SM_SEC

セル・ディスクに小さいブロックを書き込むときの1秒当たりの書込みMB数。

CD_IO_ERRS

セル・ディスクでのI/Oエラーの累計。

CD_IO_ERRS_MIN

セル・ディスクでの1分当たりのI/Oエラー数。

CD_IO_ERRS_SCRUB

修正ジョブによってセル・ディスクで検出された不良1MBブロックの数。

CD_IO_LOAD

セル・ディスクからの平均I/O負荷。

I/O負荷によってディスク・キューの長さが決まります。これはiostatのavgqu-szに似ていますが、I/O負荷はディスクのタイプ応じて重みが付けられた値です。

  • ハード・ディスクの場合、大きなI/Oの重みは小さなI/Oの3倍です。

  • フラッシュ・ディスクの場合、大きなI/Oと小さなI/Oの重みは同じです。

このメトリックはIORMによって計算されるため、データベースまたはPDBごとに使用することもできます。

CD_IO_RQ_R_LG

セル・ディスクからの大きいブロックの読取りリクエストの累計。

CD_IO_RQ_R_LG_SEC

セル・ディスクからの大きいブロックの1秒当たりの読取りリクエスト数。

CD_IO_RQ_R_SCRUB

修正ジョブによってセル・ディスクから読み取られるリクエストの数。

CD_IO_RQ_R_SCRUB_SEC

修正ジョブによってセル・ディスクから1秒当たりに読み取られるリクエストの数。

CD_IO_RQ_R_SM

セル・ディスクからの小さいブロックの読取りリクエストの累計。

CD_IO_RQ_R_SM_SEC

セル・ディスクからの小さいブロックの1秒当たりの読取りリクエスト数。

CD_IO_RQ_W_LG

セル・ディスクへの大きいブロックの書込みリクエストの累計。

CD_IO_RQ_W_LG_SEC

セル・ディスクへの大きいブロックの1秒当たりの書込みリクエスト数。

CD_IO_RQ_W_SM

セル・ディスクへの小さいブロックの書込みリクエストの累計。

CD_IO_RQ_W_SM_SEC

セル・ディスクへの小さいブロックの1秒当たりの書込みリクエスト数。

CD_IO_ST_RQ

セル・ディスクへの小さなI/Oリクエストのリクエスト当たりの平均サービス時間。

CD_IO_TM_R_LG

セル・ディスクからの大きいブロック読取りのレイテンシの累計。単位はマイクロ秒/リクエストです。

CD_IO_TM_R_LG_RQ

セル・ディスクに対する大きいブロック読取りリクエストごとの平均レイテンシ。単位はマイクロ秒/リクエストです。

CD_IO_TM_R_SM

セル・ディスクからの小さいブロック読取りのレイテンシの累計。

CD_IO_TM_R_SM_RQ

セル・ディスクからの小さいブロック読取りリクエストごとの平均レイテンシ。単位はマイクロ秒/リクエストです。

CD_IO_TM_W_LG

セル・ディスクへの大きいブロック書込みのレイテンシの累計。単位はマイクロ秒/リクエストです。

CD_IO_TM_W_LG_RQ

セル・ディスクへの大きいブロック書込みリクエストごとの平均レイテンシ。単位はマイクロ秒/リクエストです。

CD_IO_TM_W_SM

セル・ディスクへの小さいブロック書込みのレイテンシの累計。単位はマイクロ秒/リクエストです。

CD_IO_TM_W_SM_RQ

セル・ディスクへの小さいブロック書込みリクエストごとの平均レイテンシ。単位はマイクロ秒/リクエストです。

CD_IO_UTIL

セル・ディスクに使用されているディスク・リソースの割合(%)。

CD_IO_UTIL_LG

セル・ディスクに対する大きいリクエストによって使用されているディスク・リソースの割合(%)。

CD_IO_UTIL_SM

セル・ディスクに対する小さいリクエストによって使用されているディスク・リソースの割合(%)。

7.2.4 フラッシュ・キャッシュのメトリックの監視

フラッシュ・キャッシュのメトリックでは、フラッシュ・キャッシュからの1秒当たりの読取りMB数など、フラッシュ・キャッシュの使用率に関する情報が提供されます。

フラッシュ・キャッシュのメトリックを表示するには、METRICCURRENTオブジェクト、METRICDEFINITIONオブジェクトおよびMETRICHISTORYオブジェクトでFLASHCACHEと同等のオブジェクト・タイプ属性を使用します。

次の表は、フラッシュ・キャッシュ・メトリックのメトリック名および説明の一覧です。メトリックを表示するフラッシュ・キャッシュは、METRICCURRENTオブジェクトおよびMETRICHISTORYオブジェクトのmetricObjectName属性で指定されます。

表7-3 フラッシュ・キャッシュのメトリックおよび説明

メトリック 説明

FC_BY_ALLOCATED

フラッシュ・キャッシュに割り当てられているMB数。フラッシュ・キャッシュで使用されるキャッシュラインの数を追跡します。値がフラッシュ・キャッシュのサイズに近い場合、フラッシュ・キャッシュは満杯です。

FC_BY_ALLOCATED_DIRTY

フラッシュ・キャッシュの未フラッシュ・データに割り当てられているMB数。

FC_BY_ALLOCATED_OLTP

フラッシュ・キャッシュのOLTPデータに割り当てられているMB数。

FC_BY_DIRTY

グリッド・ディスクと同期されないフラッシュ・キャッシュのMB数。

FC_BY_STALE_DIRTY

キャッシュされたディスクにアクセスできないため、同期できないフラッシュ・キャッシュのMB数。

FC_BY_USED

フラッシュ・キャッシュで使用されているMB数。フラッシュ・キャッシュの有効バイト数を追跡します。OLTPなどのワークロードについて、OLTP書込みでは64Kのキャッシュラインのうち8Kしか使用されないため、FC_BY_USEDFC_BY_ALLOCATEDよりもずっと小さい値にすることができます。

FC_BYKEEP_DIRTY

フラッシュ・キャッシュの未フラッシュkeepオブジェクトに割り当てられたMB数。

FC_BYKEEP_OLTP

フラッシュ・キャッシュのOLTP keepオブジェクトのMB数。

FC_BYKEEP_OVERWR

keepオブジェクトの領域制限のためにフラッシュ・キャッシュから除外されたメガバイト数。

FC_BYKEEP_OVERWR_SEC

keepオブジェクトの領域制限のためにフラッシュ・キャッシュから1秒当たりに除外されたメガバイト数。

FC_BYKEEP_USED

フラッシュ・キャッシュのkeepオブジェクトに使用されているメガバイト数。

FC_COL_BY_USED

列フラッシュ・キャッシュで使用されているMB数。

FC_COL_BYKEEP_USED

列フラッシュ・キャッシュのkeepオブジェクトに使用されているMB数。

FC_COL_IO_BY_R

列フラッシュ・キャッシュから読み取られたMB数。

FC_COL_IO_BY_R_ELIGIBLE

列フラッシュ・キャッシュからの読取りに適格なMB数。

FC_COL_IO_BY_R_ELIGIBLE_SEC

列フラッシュ・キャッシュからの読取りに適格な1秒当たりのMB数。

FC_COL_IO_BY_R_SEC

列フラッシュ・キャッシュから読み取られた1秒当たりのMB数。

FC_COL_IO_BY_SAVED

列フラッシュ・キャッシュからの読取りによって保存されたMB数。

FC_COL_IO_BY_SAVED_SEC

列フラッシュ・キャッシュからの読取りによって1秒当たりに保存されたMB数。

FC_COL_IO_BY_W_POPULATE

読取りミスが原因で列フラッシュ・キャッシュに移入として書き込まれるMB数。

FC_COL_IO_BY_W_POPULATE_SEC

読取りミスが原因で列フラッシュ・キャッシュに移入として書き込まれる1秒当たりのMB数。

FC_COL_IO_BYKEEP_R

keepオブジェクトを対象として列フラッシュ・キャッシュから読み取られたMB数。

FC_COL_IO_BYKEEP_R_SEC

keepオブジェクトを対象として列フラッシュ・キャッシュから1秒当たりに読み取られたMB数。

FC_COL_IO_RQ_R

列フラッシュ・キャッシュから読み取られたリクエスト数。

FC_COL_IO_RQ_R_ELIGIBLE

列フラッシュ・キャッシュに適格な読取りリクエスト数。

FC_COL_IO_RQ_R_ELIGIBLE_SEC

列フラッシュ・キャッシュに適格な1秒当たりの読取りリクエスト数。

FC_COL_IO_RQ_R_SEC

列フラッシュ・キャッシュから読み取られた1秒当たりのリクエスト数。

FC_COL_IO_RQ_W_POPULATE

読取りミスが原因で列フラッシュ・キャッシュに移入として書き込まれるリクエスト数。

FC_COL_IO_RQ_W_POPULATE_SEC

読取りミスが原因で列フラッシュ・キャッシュに移入として1秒当たりに書き込まれるリクエスト数。

FC_COL_IO_RQKEEP_R

列フラッシュ・キャッシュからkeepオブジェクトに対して読み取られたリクエスト数。

FC_COL_IO_RQKEEP_R_SEC

列フラッシュ・キャッシュからkeepオブジェクトに対して1秒当たりに読み取られたリクエスト数。

FC_IO_BY_ALLOCATED_OLTP

フラッシュ・キャッシュのOLTPデータに割り当てられているMB数。

FC_IO_BY_DISK_WRITE

フラッシュ・キャッシュからハード・ディスクに書き込まれたMB数。

FC_IO_BY_DISK_WRITE_SEC

フラッシュ・キャッシュからハード・ディスクに1秒当たりに書き込まれたMB数。

FC_IO_BY_R

フラッシュ・キャッシュから読み取られたMB数。

FC_IO_BY_R_ACTIVE_SECONDARY

アクティブなセカンダリの読取りについてフラッシュ・キャッシュで対応できたMB数。

FC_IO_BY_R_ACTIVE_SECONDARY_MISS

アクティブなセカンダリの読取りについてフラッシュ・キャッシュで対応できなかったMB数。

FC_IO_BY_R_ACTIVE_SECONDARY_MISS_SEC

アクティブなセカンダリの読取りについてフラッシュ・キャッシュで対応できなかった1秒当たりのMB数。

FC_IO_BY_R_ACTIVE_SECONDARY_SEC

アクティブなセカンダリの読取りについてフラッシュ・キャッシュで対応できた1秒当たりのMB数。

FC_IO_BY_R_DISK_WRITER

ディスク・ライターによってフラッシュ・キャッシュから読み取られたMB数。

FC_IO_BY_R_DISK_WRITER_SEC

ディスク・ライターによってフラッシュ・キャッシュから1秒当たりに読み取られたMB数。

FC_IO_BY_R_DW

フラッシュ・キャッシュから読み取られたDWデータのMB数。

FC_IO_BY_R_MISS

リクエストされたデータの一部がフラッシュ・キャッシュに存在しなかったためにディスクから読み取られたMB数。

FC_IO_BY_R_MISS_DW

リクエストされたデータの一部がフラッシュ・キャッシュに存在しなかったためにディスクから読み取られたDWデータのMB数。

FC_IO_BY_R_MISS_SEC

リクエストされたデータの一部がフラッシュ・キャッシュに存在しなかったためにディスクから1秒当たりに読み取られたMB数。

FC_IO_BY_R_SEC

フラッシュ・キャッシュから1秒当たりに読み取られたMB数。

FC_IO_BY_R_SKIP

フラッシュ・キャッシュをバイパスするI/Oリクエストに対してディスクから読み取られたMB数。

フラッシュ・キャッシュをバイパスする読取りI/Oリクエストは、直接ディスクに移動します。これらのリクエストでは、リクエストされたデータを読み取った後にフラッシュ・キャッシュに移入しません。たとえば、CELL_FLASH_CACHE=NONEを使用したデータベース・オブジェクトの読取りや、CELL_FLASH_CACHE=DEFAULTを使用したデータベース・オブジェクトのスマート・スキャンI/Oなどです。

FC_IO_BY_R_SKIP_FC_THROTTLE

フラッシュ・キャッシュの負荷が高いためにフラッシュ・キャッシュをバイパスするI/Oリクエストに対してディスクから読み取られたMB数。

FC_IO_BY_R_SKIP_FC_THROTTLE_SEC

フラッシュ・キャッシュの負荷が高いためにフラッシュ・キャッシュをバイパスするI/Oリクエストに対してディスクから1秒当たりに読み取られたMB数。

FC_IO_BY_R_SKIP_LG

I/Oサイズが大きいためにフラッシュ・キャッシュをバイパスするI/Oリクエストに対してディスクから読み取られたMB数。

FC_IO_BY_R_SKIP_LG_SEC

I/Oサイズが大きいためにフラッシュ・キャッシュをバイパスするI/Oリクエストに対してディスクから1秒当たりに読み取られたMB数。

FC_IO_BY_R_SKIP_NCMIRROR

I/Oが非プライマリの非アクティブなセカンダリ・ミラーに対するものである場合にフラッシュ・キャッシュをバイパスするI/Oリクエストに対してディスクから読み取られたMB数。

FC_IO_BY_R_SKIP_SEC

フラッシュ・キャッシュをバイパスするI/Oリクエストに対してディスクから1秒当たりに読み取られたMB数。

フラッシュ・キャッシュをバイパスする読取りI/Oリクエストは、直接ディスクに移動します。これらのリクエストでは、リクエストされたデータを読み取った後にフラッシュ・キャッシュに移入しません。たとえば、CELL_FLASH_CACHE=NONEを使用したデータベース・オブジェクトの読取りや、CELL_FLASH_CACHE=DEFAULTを使用したデータベース・オブジェクトのスマート・スキャンI/Oなどです。

FC_IO_BY_W

フラッシュ・キャッシュに書き込まれたMB数。

FC_IO_BY_W_DISK_WRITER

ディスク・ライターによってハード・ディスクに書き込まれたMB数。

FC_IO_BY_W_DISK_WRITER_SEC

ディスク・ライターによってハード・ディスクに1秒当たりに書き込まれたMB数。

FC_IO_BY_W_FIRST

フラッシュ・キャッシュへの初回書込みで書き込まれるMB数。

FC_IO_BY_W_FIRST_SEC

フラッシュ・キャッシュへの初回書込みで1秒当たりに書き込まれるMB数。

FC_IO_BY_W_OVERWRITE

フラッシュ・キャッシュへの上書きで書き込まれるMB数。

FC_IO_BY_W_OVERWRITE_SEC

フラッシュ・キャッシュへの上書きで1秒当たりに書き込まれるMB数。

FC_IO_BY_W_POPULATE

読取りミスが原因でフラッシュ・キャッシュに移入として書き込まれるMB数。

FC_IO_BY_W_POPULATE_SEC

フラッシュ・キャッシュへの読取りミスが原因でフラッシュ・キャッシュに移入として1秒当たりに書き込まれるMB数。

FC_IO_BY_W_SEC

フラッシュ・キャッシュに1秒当たりに書き込まれたMB数。

FC_IO_BY_W_SKIP

フラッシュ・キャッシュをバイパスするI/Oリクエストに対してディスクに書き込まれたMB数。

FC_IO_BY_W_SKIP_FC_THROTTLE

フラッシュ・キャッシュの負荷が高いためにフラッシュ・キャッシュをバイパスするI/Oリクエストに対してディスクに書き込まれたMB数。

FC_IO_BY_W_SKIP_FC_THROTTLE_SEC

フラッシュ・キャッシュの負荷が高いためにフラッシュ・キャッシュをバイパスするI/Oリクエストに対してディスクに1秒当たりに書き込まれたMB数。

FC_IO_BY_W_SKIP_LG

I/Oサイズが大きいためにフラッシュ・キャッシュをバイパスするI/Oリクエストに対してディスクに書き込まれたMB数。

FC_IO_BY_W_SKIP_LG_SEC

I/Oサイズが大きいためにフラッシュ・キャッシュをバイパスするI/Oリクエストに対してディスクに1秒当たりに書き込まれたMB数。

FC_IO_BY_W_SKIP_NCMIRROR

I/Oが非プライマリの非アクティブなセカンダリ・ミラーに対するものである場合にフラッシュ・キャッシュをバイパスするI/Oリクエストに対してディスクに書き込まれたMB数。

FC_IO_BY_W_SKIP_SEC

フラッシュ・キャッシュをバイパスするI/Oリクエストに対してディスクに1秒当たりに書き込まれたMB数。

FC_IO_BYKEEP_R

keepオブジェクトを対象としてフラッシュ・キャッシュから読み取られたメガバイト数。

FC_IO_BYKEEP_R_SEC

keepオブジェクトを対象としてフラッシュ・キャッシュから1秒当たりに読み取られたメガバイト数。

FC_IO_BYKEEP_W

keepオブジェクトを対象としてフラッシュ・キャッシュに書き込まれたメガバイト数。

FC_IO_BYKEEP_W_SEC

keepオブジェクトを対象としてフラッシュ・キャッシュに1秒当たりに書き込まれたメガバイト数。

FC_IO_ERRS

フラッシュ・キャッシュでのI/Oエラーの数。

FC_IO_RQ_DISK_WRITE

フラッシュ・キャッシュからハード・ディスクに書き込まれたリクエスト数。

FC_IO_RQ_DISK_WRITE_SEC

フラッシュ・キャッシュからハード・ディスクにデータを書き込むように要求する1秒当たりのリクエスト数。

FC_IO_RQ_R

フラッシュ・キャッシュで対応できた読取りI/Oリクエストの数。

FC_IO_RQ_R_ACTIVE_SECONDARY

アクティブなセカンダリの読取りについてフラッシュ・キャッシュで対応できたリクエスト数。

FC_IO_RQ_R_ACTIVE_SECONDARY_MISS

アクティブなセカンダリの読取りについてフラッシュ・キャッシュで対応できなかったリクエスト数。

FC_IO_RQ_R_ACTIVE_SECONDARY_MISS_SEC

アクティブなセカンダリの読取りについてフラッシュ・キャッシュで対応できなかった1秒当たりのリクエスト数。

FC_IO_RQ_R_ACTIVE_SECONDARY_SEC

アクティブなセカンダリの読取りについてフラッシュ・キャッシュで対応できた1秒当たりのリクエスト数。

FC_IO_RQ_R_DISK_WRITER

ディスク・ライターによってフラッシュ・キャッシュから読み取られたリクエスト数。

FC_IO_RQ_R_DISK_WRITER_SEC

ディスク・ライターによってフラッシュ・キャッシュから1秒当たりに読み取られたリクエスト数。

FC_IO_RQ_R_DW

フラッシュ・キャッシュから読み取られたDWデータの読取りI/Oリクエストの数。

FC_IO_RQ_R_MISS

フラッシュ・キャッシュで一部のデータを見つけることができなかった読取りI/Oリクエストの数。

FC_IO_RQ_R_MISS_DW

リクエストされたデータの一部がフラッシュ・キャッシュに存在しなかったためにディスクから読み取られたDWデータの読取りI/Oリクエストの数。

FC_IO_RQ_R_MISS_SEC

フラッシュ・キャッシュで一部のデータを見つけることができなかった1秒当たりの読取りI/Oリクエストの数。

FC_IO_RQ_R_SEC

フラッシュ・キャッシュで対応できた1秒当たりの読取りI/Oリクエストの数。

FC_IO_RQ_R_SKIP

フラッシュ・キャッシュをバイパスする読取りI/Oリクエストの数。

フラッシュ・キャッシュをバイパスする読取りI/Oリクエストは、直接ディスクに移動します。これらのリクエストでは、リクエストされたデータを読み取った後にフラッシュ・キャッシュに移入しません。たとえば、CELL_FLASH_CACHE=NONEを使用したデータベース・オブジェクトの読取りや、CELL_FLASH_CACHE=DEFAULTを使用したデータベース・オブジェクトのスマート・スキャンI/Oなどです。

FC_IO_RQ_R_SKIP_FC_THROTTLE

ディスクから読み取られたリクエストのうち、フラッシュ・キャッシュの負荷が高いためにフラッシュ・キャッシュをバイパスするリクエストの数。

FC_IO_RQ_R_SKIP_FC_THROTTLE_SEC

ディスクから1秒当たりに読み取られたリクエストのうち、フラッシュ・キャッシュの負荷が高いためにフラッシュ・キャッシュをバイパスしたリクエストの数。

FC_IO_RQ_R_SKIP_LG

I/Oサイズが大きいためにフラッシュ・キャッシュをバイパスする読取りI/Oリクエストの数。

FC_IO_RQ_R_SKIP_LG_SEC

I/Oサイズが大きいためにフラッシュ・キャッシュをバイパスする1秒当たりの読取りI/Oリクエストの数。

FC_IO_RQ_R_SKIP_NCMIRROR

ディスクから読み取られたリクエストのうち、I/Oが非プライマリの非アクティブなセカンダリ・ミラーに対するものである場合にフラッシュ・キャッシュをバイパスするリクエストの数。

FC_IO_RQ_R_SKIP_SEC

フラッシュ・キャッシュをバイパスする1秒当たりの読取りI/Oリクエストの数。

フラッシュ・キャッシュをバイパスする読取りI/Oリクエストは、直接ディスクに移動します。これらのリクエストでは、リクエストされたデータを読み取った後にフラッシュ・キャッシュに移入しません。たとえば、CELL_FLASH_CACHE=NONEを使用したデータベース・オブジェクトの読取りや、CELL_FLASH_CACHE=DEFAULTを使用したデータベース・オブジェクトのスマート・スキャンI/Oなどです。

FC_IO_RQ_REPLACEMENT_ATTEMPTED

フラッシュ・キャッシュ内の領域の検索を試みたリクエストの数。

FC_IO_RQ_REPLACEMENT_FAILED

フラッシュ・キャッシュ内の領域の検索に失敗したリクエストの数。

FC_IO_RQ_W

フラッシュ・キャッシュにデータを移入する結果となったI/Oリクエストの数。

FC_IO_RQ_W_DISK_WRITER

ディスク・ライターによってハード・ディスクに書き込まれたリクエスト数。

FC_IO_RQ_W_DISK_WRITER_SEC

ディスク・ライターによってハード・ディスクに1秒当たりに書き込まれたリクエスト数。

FC_IO_RQ_W_FIRST

フラッシュ・キャッシュへの初回書込みで書き込まれるリクエスト数。

FC_IO_RQ_W_FIRST_SEC

フラッシュ・キャッシュへの初回書込みで1秒当たりに書き込まれるリクエスト数。

FC_IO_RQ_W_OVERWRITE

フラッシュ・キャッシュへの上書きで書き込まれるリクエスト数。

FC_IO_RQ_W_OVERWRITE_SEC

フラッシュ・キャッシュへの上書きで1秒当たりに書き込まれるリクエスト数。

FC_IO_RQ_W_POPULATE

読取りミスが原因でフラッシュ・キャッシュに移入として書き込まれるリクエスト数。

FC_IO_RQ_W_POPULATE_SEC

読取りミスが原因でフラッシュ・キャッシュに移入として1秒当たりに書き込まれるリクエスト数。

FC_IO_RQ_W_SEC

フラッシュ・キャッシュにデータを移入する結果となった1秒当たりのI/Oリクエストの数。

FC_IO_RQ_W_SKIP

フラッシュ・キャッシュをバイパスする書込みI/Oリクエストの数。

FC_IO_RQ_W_SKIP_FC_THROTTLE

ディスクに書き込まれたリクエストのうち、フラッシュ・キャッシュの負荷が高いためにフラッシュ・キャッシュをバイパスするリクエストの数。

FC_IO_RQ_W_SKIP_FC_THROTTLE_SEC

ディスクに1秒当たりに書き込まれたリクエストのうち、フラッシュ・キャッシュの負荷が高いためにフラッシュ・キャッシュをバイパスするリクエストの数。

FC_IO_RQ_W_SKIP_LG

ディスクに書き込まれたリクエストのうち、I/Oサイズが大きいためにフラッシュ・キャッシュをバイパスするリクエストの数。

FC_IO_RQ_W_SKIP_LG_SEC

ディスクに1秒当たりに書き込まれたリクエストのうち、I/Oサイズが大きいためにフラッシュ・キャッシュをバイパスするリクエストの数。

FC_IO_RQ_W_SKIP_NCMIRROR

ディスクに書き込まれたリクエストのうち、I/Oが非プライマリの非アクティブなセカンダリ・ミラーに対するものである場合にフラッシュ・キャッシュをバイパスするリクエストの数。

FC_IO_RQ_W_SKIP_SEC

フラッシュ・キャッシュをバイパスする1秒当たりの書込みI/Oリクエストの数。

FC_IO_RQKEEP_R

フラッシュ・キャッシュのkeepオブジェクトを対象とする読取りI/Oリクエストの数。

FC_IO_RQKEEP_R_MISS

keepオブジェクトを対象とする読取りI/Oリクエストのうち、フラッシュ・キャッシュで一部のデータを見つけることができなかったリクエストの数。

FC_IO_RQKEEP_R_MISS_SEC

keepオブジェクトを対象とする1秒当たりの読取りI/Oリクエストのうち、フラッシュ・キャッシュで一部のデータを見つけることができなかったリクエストの数。

FC_IO_RQKEEP_R_SEC

keepオブジェクトを対象とする1秒当たりの読取りI/Oリクエストのうち、フラッシュ・キャッシュで対応できたリクエストの数。

FC_IO_RQKEEP_R_SKIP

フラッシュ・キャッシュをバイパスするkeepオブジェクトを対象とする読取りI/Oリクエストの数。

フラッシュ・キャッシュをバイパスする読取りI/Oリクエストは、直接ディスクに移動します。これらのリクエストでは、リクエストされたデータを読み取った後にフラッシュ・キャッシュに移入しません。たとえば、CELL_FLASH_CACHE=NONEを使用したデータベース・オブジェクトの読取りや、CELL_FLASH_CACHE=DEFAULTを使用したデータベース・オブジェクトのスマート・スキャンI/Oなどです。

FC_IO_RQKEEP_R_SKIP_SEC

フラッシュキャッシュをバイパスするkeepオブジェクトを対象とする1秒当たりの読取りI/Oリクエストの数。

フラッシュ・キャッシュをバイパスする読取りI/Oリクエストは、直接ディスクに移動します。これらのリクエストでは、リクエストされたデータを読み取った後にフラッシュ・キャッシュに移入しません。たとえば、CELL_FLASH_CACHE=NONEを使用したデータベース・オブジェクトの読取りや、CELL_FLASH_CACHE=DEFAULTを使用したデータベース・オブジェクトのスマート・スキャンI/Oなどです。

FC_IO_RQKEEP_W

keepオブジェクトを対象とするI/Oリクエストのうち、フラッシュ・キャッシュにデータを移入する結果となったリクエストの数。

FC_IO_RQKEEP_W_SEC

keepオブジェクトを対象とする1秒当たりのI/Oリクエストのうち、フラッシュ・キャッシュにデータを移入する結果となったリクエストの数。

FC_PREFETCH_HIT

フラッシュ・キャッシュのプリフェッチ・ヒット数。ヒットは、ページがプリフェッチされ、後からクライアントによって読取りまたは書込みのために使用されたことを意味します。プリフェッチされたページがヒットすると、そのページはプリフェッチとしてマークされなくなります。

FC_PREFETCH_MISS

フラッシュ・キャッシュのプリフェッチ・ミス数。ミスは、ページがプリフェッチされたが、クライアントによってまったく使用されずに、解放または再使用されたことを意味します。

FC_PREFETCH_RQ

フラッシュ・キャッシュのプリフェッチ・リクエスト数。

FC_PREFETCH_SKIP

フラッシュ・キャッシュのスキップされたプリフェッチ・リクエスト数。エラーや抑制のため、またはバッファがないためにプリフェッチ・ディスクIOが発行されない場合、プリフェッチ・リクエストがスキップされることがあります。

FC_PREFETCH_USED

クライアントがまだ使用していないプリフェッチ・ページを保持する、フラッシュ・キャッシュ内のMB数。

次の表およびビューでもフラッシュ・キャッシュのメトリックを確認できます。

7.2.5 メトリックを使用したOracle Exadataスマート・フラッシュ・ログの監視

Oracle Exadataスマート・フラッシュ・ログのメトリックでは、1秒当たりの書込みMB数など、フラッシュ・ログの使用率に関する情報が提供されます。Oracle Exadataスマート・フラッシュ・ログのメトリックを表示するには、METRICCURRENTオブジェクト、METRICDEFINITIONオブジェクトおよびMETRICHISTORYオブジェクトでFLASHLOGと同等のオブジェクト・タイプ属性を使用します。

次の表は、Oracle Exadataスマート・フラッシュ・ログのメトリックのメトリック名および説明の一覧です。メトリックを表示するフラッシュ・ログは、METRICCURRENTオブジェクトおよびMETRICHISTORYオブジェクトのmetricObjectName属性で指定されます。

Oracle Exadataスマート・フラッシュ・ログのサイズを設定できます。サイズが小さすぎる場合は、FL_IO_W_SKIP_LARGEおよびFL_IO_W_SKIP_BUSY_MINメトリックの値を高くできます。

表7-4 Oracle Exadataスマート・フラッシュ・ログのメトリックおよび説明

メトリック 説明

FL_ACTUAL_OUTLIERS

外れしきい値を超えてフラッシュおよびディスクに書き込まれたREDO書込みの数。

FL_BY_KEEP

ディスクI/Oエラーによってフラッシュに保存されたREDOデータ・バイトの数。

FL_DISK_FIRST

最初にディスクに書き込まれたREDO書込みの数。

FL_DISK_IO_ERRS

Oracle Exadataスマート・フラッシュ・ログで発生したディスクI/Oエラーの数。

FL_EFFICIENCY_PERCENTAGE

パーセントで表したOracle Exadataスマート・フラッシュ・ログの効率。

FL_EFFICIENCY_PERCENTAGE_HOUR

パーセントで表した過去の時間のOracle Exadataスマート・フラッシュ・ログの効率。

FL_FLASH_FIRST

最初にフラッシュに書き込まれたREDO書込みの数。

FL_FLASH_IO_ERRS

Oracle Exadataスマート・フラッシュ・ログで発生したフラッシュI/Oエラーの数。

FL_FLASH_ONLY_OUTLIERS

外れしきい値を超えてフラッシュに書き込まれたREDO書込みの数。

FL_IO_DB_BY_W

Oracle Exadataスマート・フラッシュ・ログによってハード・ディスクに書き込まれたMB数。

FL_IO_DB_BY_W_SEC

Oracle Exadataスマート・フラッシュ・ログによってハード・ディスクに1秒当たりに書き込まれたMB数。

FL_IO_FL_BY_W

Oracle Exadataスマート・フラッシュ・ログによってフラッシュに書き込まれたMB数。

FL_IO_FL_BY_W_SEC

Oracle Exadataスマート・フラッシュ・ログによってフラッシュに1秒当たりに書き込まれたMB数。

FL_IO_TM_W

REDOログ書込みの累計レイテンシ。これには、Oracle Exadataスマート・フラッシュ・ログによって処理されないリクエストのレイテンシが含まれます。

このメトリックはOracle Exadata 12.2.1.1.0の新機能です。

FL_IO_TM_W_RQ

REDOログ書込みの平均レイテンシ。これには、書込みI/Oレイテンシのみが含まれます。

このメトリックはOracle Exadata 12.2.1.1.0の新機能です。

FL_IO_W

Oracle Exadataスマート・フラッシュ・ログがサービスを提供した書込みの数。

FL_IO_W_SKIP_BUSY

フラッシュ・ログ・ディスクに含まれるアクティブ・データ(ディスクにまだ書き込まれていないデータ、またはフラッシュ・ログによってチェックポイントが実行されたデータ)が多すぎるために、Oracle Exadataスマート・フラッシュ・ログをバイパスしたREDO書込みの数。

REDO書込みがフラッシュ・ログをバイパスする場合、次のような要因があります。

  • フラッシュ・ディスクが十分な速度で実行していません。つまり、書込みレイテンシが高くなっています。これを確認するには、関連するフラッシュ・ディスク・パフォーマンス・メトリックをチェックします。FL_Flash_ONLY_OUTLIERSをチェックすることもできます。このメトリック値が高い場合は、フラッシュ・ディスクのパフォーマンスに問題があることを示しています。

  • ログ・ファイル・データを含むハード・ディスクが十分な速度で実行していません。これを確認するには、関連するハード・ディスク・パフォーマンス・メトリックをチェックします。FL_PREVENTED_OUTLIERSをチェックすることもできます。このメトリック値が高い場合は、ハード・ディスクのパフォーマンスに問題があることを示しています。

  • 大量のREDOログ・データが高速で生成されているため、フラッシュ・ロギングが対応できません。これを確認するには、FL_IO_DB_BY_W_SECをチェックします。このメトリック値が1秒当たり数MBの場合、REDOログ生成速度がフラッシュ・ログの処理能力を超えている可能性があります。この問題に対処するには、フラッシュ・ログのサイズを増やします。ただし、このためにはフラッシュ・キャッシュのサイズを再構成して小さくする必要があります。こうすることで、対応する領域をフラッシュ・ログに割り当てられるようになります。

通常、FL_IO_W_SKIP_BUSYは、ログ・ファイル並列書込みの待機時間(AWRで示される)やFL_ACTUAL_OUTLIERSなど、その他の要因ほど重要ではありません。

ログ・ファイル並列書込みの待機時間が長い(0.5秒超)か、FL_ACTUAL_OUTLIERSが多い場合、フラッシュ・ログ機能が効率よく実行していません。

FL_IO_W_SKIP_BUSY_MIN

ディスクへの書込み前のデータが多すぎるため、最後の1分間にOracle Exadataスマート・フラッシュ・ログがサービスを提供できなかったREDO書込みの数。

FL_IO_W_SKIP_LARGE

データ・サイズがフラッシュ・ディスクの使用可能領域より大きいため、Oracle Exadataスマート・フラッシュ・ログがサービスを提供できなかった大規模なREDO書込みの数。

FL_IO_W_SKIP_NO_BUFFER

使用可能なバッファがないため、Oracle Exadataスマート・フラッシュ・ログがサービスを提供できなかったREDO書込みの数。

FL_PREVENTED_OUTLIERS

外れしきい値を超えてディスクに書き込まれたREDO書込みの数。Oracle Exadataスマート・フラッシュ・ログでない場合、これらの書込みは外れ値になります。

FL_RQ_TM_W

REDOログ書込みリクエストの累計レイテンシ。これには、ネットワークや他のオーバーヘッドが含まれます。

このメトリックはOracle Exadata 12.2.1.1.0の新機能です。

ネットワークや処理などの要因によるレイテンシのオーバーヘッドを取得するには、(FL_RQ_TM_W - FL_IO_TM_W)を使用します。

FL_RQ_TM_W_RQ

REDOログ書込みリクエストの平均レイテンシ。

このメトリックはOracle Exadata 12.2.1.1.0の新機能です。

FL_RQ_W

REDOログ書込みリクエストの合計数。これには、Oracle Exadataスマート・フラッシュ・ログによって処理されないリクエストが含まれます。

このメトリックはOracle Exadata 12.2.1.1.0の新機能です。

Oracle Exadataスマート・フラッシュ・ログによって処理されないREDOログ書込みリクエスト数を取得するには、(FL_RQ_W - FL_IO_W)を使用します。

注意:

  • 外れ値は0.5秒を超えたREDOログ書込みです。

  • フラッシュ前にディスクに対して最初に実行されるREDOログ書込み操作が増加する場合があります。FL_DISK_FIRSTの値は、FL_FLASH_FIRSTの値よりも大きくなります。これは、スマート・フラッシュ・ロギング機能が無効か不要であることを意味します。

7.2.6 グリッド・ディスクのメトリックの監視

グリッド・ディスクのメトリックでは、グリッド・ディスクからの大きいブロック読取り数など、グリッド・ディスクのI/O負荷に関する情報が提供されます。グリッド・ディスクのメトリックを表示するには、METRICCURRENTオブジェクト、METRICDEFINITIONオブジェクトおよびMETRICHISTORYオブジェクトでGRIDDISKと同等のオブジェクト・タイプ属性を使用します。

次の表は、グリッド・ディスク・メトリックのメトリック名および説明の一覧です。メトリックを表示するグリッド・ディスクは、METRICCURRENTオブジェクトおよびMETRICHISTORYオブジェクトのmetricObjectName属性で指定されます。cumulativeメトリックの場合は、様々なcollectionTime期間から値を減算することにより、特定の期間のメトリック値を算出できます。rateメトリックの場合は、メトリック値の期間は直前の1分間になります。

表7-5 グリッド・ディスクのメトリックおよび説明

メトリック 説明

GD_BY_FC_DIRTY

グリッド・ディスクと同期されないフラッシュ・キャッシュにキャッシュされるMB数。

GD_IO_BY_R_LG

グリッド・ディスクから大きいブロックを読み取るときの読取りMB数の累計。

GD_IO_BY_R_LG_SEC

グリッド・ディスクから大きいブロックを読み取るときの1秒当たりの読取りMB数。

GD_IO_BY_R_SCRUB

修正ジョブによってグリッド・ディスクから読み取られたMB数。

GD_IO_BY_R_SCRUB_SEC

修正ジョブによってグリッド・ディスクから1秒当たりに読み取られたMB数。

GD_IO_BY_R_SM

グリッド・ディスクから小さいブロックを読み取るときの読取りMB数の累計。

GD_IO_BY_R_SM_SEC

グリッド・ディスクから小さいブロックを読み取るときの1秒当たりの読取りMB数。

GD_IO_BY_W_LG

グリッド・ディスクに大きいブロックを書き込むときの書込みMB数の累計。

GD_IO_BY_W_LG_SEC

グリッド・ディスクに大きいブロックを書き込むときの1秒当たりの書込みMB数。

GD_IO_BY_W_SM

グリッド・ディスクに小さいブロックを書き込むときの書込みMB数の累計。

GD_IO_BY_W_SM_SEC

グリッド・ディスクに小さいブロックを書き込むときの1秒当たりの書込みMB数。

GD_IO_ERRS

グリッド・ディスクでのI/Oエラーの累計。

GD_IO_ERRS_MIN

グリッド・ディスクでの1分当たりのI/Oエラー数。

GD_IO_ERRS_SCRUB

修正ジョブによってグリッド・ディスクで検出された不良1MBブロックの数。

GD_IO_RQ_R_LG

グリッド・ディスクからの大きいブロックの読取りリクエストの累計。

GD_IO_RQ_R_LG_SEC

グリッド・ディスクからの大きいブロックの1秒当たりの読取りリクエスト数。

GD_IO_RQ_R_SCRUB

修正ジョブによってグリッド・ディスクから読み取られるリクエストの数。

GD_IO_RQ_R_SCRUB_SEC

修正ジョブによってグリッド・ディスクから1秒当たりに読み取られるリクエストの数。

GD_IO_RQ_R_SM

グリッド・ディスクからの小さいブロックの読取りリクエストの累計。

GD_IO_RQ_R_SM_SEC

グリッド・ディスクからの小さいブロックの1秒当たりの読取りリクエスト数。

GD_IO_RQ_W_LG

グリッド・ディスクへの大きいブロックの書込みリクエストの累計。

GD_IO_RQ_W_LG_SEC

グリッド・ディスクへの大きいブロックの1秒当たりの書込みリクエスト数。

GD_IO_RQ_W_SM

グリッド・ディスクへの小さいブロックの書込みリクエストの累計。

GD_IO_RQ_W_SM_SEC

グリッド・ディスクへの小さいブロックの1秒当たりの書込みリクエスト数。

GD_SP_BY_ALLOCATED

グリッド・ディスクに割り当てられた物理領域のバイト数。

GD_SP_IO_BY_PARTIAL

部分I/Oによって返されたバイト数。

GD_SP_IO_BY_PARTIAL_SEC

部分I/Oによって返された1秒当たりのバイト数。

GD_SP_IO_BY_REDIRECTED

元のデータ・ブロックにリダイレクトされたスパースのバイト数。

GD_SP_IO_BY_REDIRECTED_SEC

元のデータ・ブロックにリダイレクトされたスパースの1秒当たりのバイト数。

GD_SP_IO_RQ_PARTIAL

部分データを返したI/Oリクエストの数。

GD_SP_IO_RQ_PARTIAL_SEC

部分データを返したI/Oリクエストの1秒当たりの数。

GD_SP_PRCT_ALLOCATED

グリッド・ディスクに割り当てられた物理領域の割合(%)。領域使用率が95%を超えると警告アラートが生成されます。領域使用率が99%に達するとクリティカル・アラートが生成されます。

アラートが発生した場合、スパース・グリッド・ディスクのサイズを大きくするか、一部のスナップショット・データベースを削除して領域を解放してください。

7.2.7 ホストのインターコネクトのメトリックの監視

ホストのインターコネクトのメトリックでは、セル・ストレージにアクセスするホストのI/O転送に関する情報が提供されます。ホストのインターコネクトのメトリックを表示するには、METRICCURRENTオブジェクト、METRICDEFINITIONオブジェクトおよびMETRICHISTORYオブジェクトでHOST_INTERCONNECTと同等のオブジェクト・タイプ属性を使用します。

次の表は、ホストのインターコネクト・メトリックのメトリック名および説明の一覧です。メトリックを表示するホストのインターコネクトは、METRICCURRENTオブジェクトおよびMETRICHISTORYオブジェクトのmetricObjectName属性で指定されます。cumulativeメトリックの場合は、様々なcollectionTime期間から値を減算することにより、特定の期間のメトリック値を算出できます。rateメトリックの場合は、メトリック値の期間は直前の1分間になります。

表7-6 ホストのインターコネクトのメトリックおよび説明

メトリック 説明

N_MB_DROP

特定のホストへの送信中に削除されたMB数の累計。

N_MB_DROP_SEC

特定のホストへの送信中に1秒当たりに削除されたMB数。

N_MB_RDMA_DROP

特定のホストへのリモート・ダイレクト・メモリー・アクセス(RDMA)送信中に削除されたMB数の累計。

N_MB_RDMA_DROP_SEC

特定のホストへのRDMA送信中に1秒当たりに削除されたMB数。

N_MB_RECEIVED

特定のホストから受信したMB数の累計。

N_MB_RECEIVED_SEC

特定のホストから1秒当たりに受信したMB数。

N_MB_RESENT

特定のホストに再送信されたMB数の累計。

N_MB_RESENT_SEC

特定のホストに1秒当たりに再送信されたMB数。

N_MB_SENT

特定のホストに送信されたMB数の累計。

N_MB_SENT_SEC

特定のホストに1秒当たりに送信されたMB数。

N_RDMA_RETRY_TM

特定のホストにRDMA送信中の再試行アクションの累積レイテンシ。

7.2.8 スマートI/Oのメトリックの監視

スマートI/Oのメトリックでは、スマートI/Oのパフォーマンスに関する情報が提供されます。スマートI/Oとは、Oracle Exadata Storage Serverのオフロード機能によって実行されるスマート・スキャンやスマート増分バックアップなどのI/O処理のことです。スマートI/Oのメトリックを表示するには、METRICCURRENTオブジェクト、METRICDEFINITIONオブジェクトおよびMETRICHISTORYオブジェクトでSMARTIOと同等のオブジェクト・タイプ属性を使用します。

次の表は、スマートI/Oのメトリックのメトリック名および説明の一覧です。メトリックを表示するスマートI/Oは、METRICCURRENTオブジェクトおよびMETRICHISTORYオブジェクトのmetricObjectName属性で指定されます。cumulativeメトリックの場合は、様々なcollectionTime期間から値を減算することにより、特定の期間のメトリック値を算出できます。

表7-7 スマートI/Oのメトリックおよび説明

メトリック 説明

SIO_IO_EL_OF

スマートI/Oによるオフロードの対象となるMB数の累計。

SIO_IO_EL_OF_SEC

スマートI/Oによるオフロードの対象となる1秒当たりのMB数。

SIO_IO_OF_RE

スマートI/Oによって返されたインターコネクトMB数の累計。

SIO_IO_OF_RE_SEC

スマートI/Oによって返された1秒当たりのインターコネクトMB数。

SIO_IO_PA_TH

スマートI/OによるパススルーI/OのMB数の累計。

SIO_IO_PA_TH_SEC

スマートI/OによるパススルーI/Oの1秒当たりのMB数。

SIO_IO_RD_FC

スマートI/Oによってフラッシュ・キャッシュから読み取られたMB数の累計。

SIO_IO_RD_FC_HD

スマートI/Oによってフラッシュ・キャッシュとハード・ディスクの両方から読み取られたMB数の累計。

SIO_IO_RD_FC_HD_SEC

スマートI/Oによってフラッシュ・キャッシュとハード・ディスクの両方から1秒当たりに読み取られたMB数。

SIO_IO_RD_FC_SEC

スマートI/Oによってフラッシュ・キャッシュから1秒当たりに読み取られたMB数。

SIO_IO_RD_HD

スマートI/Oによってハード・ディスクから読み取られたMB数の累計。

SIO_IO_RD_HD_SEC

スマートI/Oによってハード・ディスクから1秒当たりに読み取られたMB数。

SIO_IO_RD_RQ_FC

スマートI/Oによるフラッシュ・キャッシュからの読取りI/Oリクエストの累計。

SIO_IO_RD_RQ_FC_HD

スマートI/Oによるフラッシュ・キャッシュとハード・ディスクの両方からの読取りI/Oリクエストの累計。

SIO_IO_RD_RQ_FC_HD_SEC

スマートI/Oによるフラッシュ・キャッシュとハード・ディスクの両方からの1秒当たりの読取りI/Oリクエストの数。

SIO_IO_RD_RQ_FC_SEC

スマートI/Oによるフラッシュ・キャッシュからの1秒当たりの読取りI/Oリクエストの数。

SIO_IO_RD_RQ_HD

スマートI/Oによるハード・ディスクからの読取りI/Oリクエストの累計。

SIO_IO_RD_RQ_HD_SEC

スマートI/Oによるハード・ディスクからの1秒当たりの読取りI/Oリクエストの数。

SIO_IO_RV_OF

スマートI/OによってCPUのバランス調整のためにデータベース・ノードに送信されたMB数の累計。

SIO_IO_RV_OF_SEC

スマートI/OによってCPUのバランス調整のためにデータベース・ノードに1秒当たりに送信されたMB数。

SIO_IO_SI_SV

ストレージ索引によって保存されたMB数の累計。

SIO_IO_SI_SV_SEC

ストレージ索引によって1秒当たりに保存されたMB数。

SIO_IO_WR_FC

スマートI/Oによってフラッシュ・キャッシュに移入として書き込まれるMB数の累計。

SIO_IO_WR_FC_SEC

スマートI/Oによってフラッシュ・キャッシュに移入として1秒当たりに書き込まれるMB数。

SIO_IO_WR_HD

スマートI/Oによってハード・ディスクに書き込まれたMB数の累計。

SIO_IO_WR_HD_SEC

スマートI/Oによってハード・ディスクに1秒当たりに書き込まれたMB数。

SIO_IO_WR_RQ_FC

スマートI/Oによってフラッシュ・キャッシュに移入として書き込まれるように要求するI/Oリクエストの累計。

SIO_IO_WR_RQ_FC_SEC

スマートI/Oによってフラッシュ・キャッシュに移入として書き込まれるように要求する1秒当たりのI/Oリクエストの数。

SIO_IO_WR_RQ_HD

スマートI/Oによるハード・ディスクに対する書込みI/Oリクエストの累計。

SIO_IO_WR_RQ_HD_SEC

スマートI/Oによるハード・ディスクに対する1秒当たりの書込みI/Oリクエストの数。

7.3 メトリックを使用したIORMの監視

I/Oリソース管理(IORM)は、Oracle Exadata Storage Server Softwareのメトリックを使用して監視できます。IORMではデータベース識別子ではなくデータベース名を使用して、統計を収集し、出力を表示します。この項では、次のトピックについて説明します。

7.3.1 カテゴリ・メトリックを使用したIORMの監視

カテゴリ・メトリックでは、現在のIORMカテゴリ・プランで指定した各カテゴリからのI/O負荷のサイズに関する情報が提供されます。METRICCURRENTオブジェクト、METRICDEFINITIONオブジェクトおよびMETRICHISTORYオブジェクトのobjectType属性は、カテゴリ・メトリックのIORM_CATEGORYと同等です。

次の表は、カテゴリ・メトリックのメトリック名および説明の一覧です。メトリックを表示するカテゴリは、METRICCURRENTオブジェクトおよびMETRICHISTORYオブジェクトのmetricObjectName属性で指定されます。cumulativeメトリックの場合は、様々なcollectionTime期間から値を減算することにより、特定の期間のメトリック値を算出できます。rateメトリックの場合は、メトリック値の期間は直前の1分間になります。表の説明では、「小さい」は128KB以下のサイズ、「大きい」は128KBより大きいサイズを意味します。

表7-8 カテゴリのメトリックおよび説明

メトリック 説明

CT_FC_IO_BY_SEC

フラッシュ・キャッシュへのこのカテゴリの1秒当たりのI/OのMB数。

CT_FC_IO_RQ

IORMカテゴリがフラッシュ・キャッシュに発行するI/Oリクエストの数。

CT_FC_IO_RQ_LG

IORMカテゴリがフラッシュ・キャッシュに発行する大きいI/Oリクエストの数。

CT_FC_IO_RQ_LG_SEC

IORMカテゴリがフラッシュ・キャッシュに1秒当たりに発行する大きいI/Oリクエストの数。

CT_FC_IO_RQ_SEC

IORMカテゴリがフラッシュ・キャッシュに1秒当たりに発行するI/Oリクエストの数。

CT_FC_IO_RQ_SM

IORMカテゴリがフラッシュ・キャッシュに発行する小さいI/Oリクエストの数。

CT_FC_IO_RQ_SM_SEC

IORMカテゴリがフラッシュ・キャッシュに1秒当たりに発行する小さいI/Oリクエストの数。

CT_FD_IO_BY_SEC

フラッシュ・ディスクへのこのカテゴリの1秒当たりのI/OのMB数。

CT_FD_IO_LOAD

フラッシュ・ディスクへのこのカテゴリからの平均I/O負荷。I/O負荷の詳細は、CD_IO_LOADを参照してください。

CT_FD_IO_RQ_LG

IORMカテゴリがフラッシュ・ディスクに発行する大きいI/Oリクエストの数。

CT_FD_IO_RQ_LG_SEC

IORMカテゴリがフラッシュ・ディスクに1秒当たりに発行する大きいI/Oリクエストの数。

CT_FD_IO_RQ_SM

IORMカテゴリがフラッシュ・ディスクに発行する小さいI/Oリクエストの数。

CT_FD_IO_RQ_SM_SEC

IORMカテゴリがフラッシュ・ディスクに1秒当たりに発行する小さいI/Oリクエストの数。

CT_FD_IO_TM

フラッシュ・ディスクからのこのカテゴリのブロックの読取り/書込みの累積待機時間。

CT_FD_IO_TM_LG

フラッシュ・ディスクからのこのカテゴリの大きいブロックの読取り/書込みの累積待機時間。

CT_FD_IO_TM_LG_RQ

フラッシュ・ディスクからのこのカテゴリの大きいブロックの読取り/書込みの1リクエスト当たりの平均待機時間。

CT_FD_IO_TM_RQ

フラッシュ・ディスクからのこのカテゴリのブロックの読取り/書込みの1リクエスト当たりの平均待機時間。

CT_FD_IO_TM_SM

フラッシュ・ディスクからのこのカテゴリの小さいブロックの読取り/書込みの累積待機時間。

CT_FD_IO_TM_SM_RQ

フラッシュ・ディスクからのこのカテゴリの小さいブロックの読取り/書込みの1リクエスト当たりの平均待機時間。

CT_FD_IO_UTIL

このカテゴリから使用されているフラッシュ・リソースの割合(%)。

CT_FD_IO_UTIL_LG

このカテゴリからの大きいリクエストによって使用されているフラッシュ・リソースの割合(%)。

CT_FD_IO_UTIL_SM

このカテゴリからの小さいリクエストによって使用されているフラッシュ・リソースの割合(%)。

CT_FD_IO_WT_LG

IORMカテゴリがフラッシュ・ディスクに発行する大きいI/OリクエストのIORM待機時間。

CT_FD_IO_WT_LG_RQ

IORMカテゴリがフラッシュ・ディスクに発行する大きいI/Oリクエストのリクエスト当たりの平均IORM待機時間。

CT_FD_IO_WT_SM

IORMカテゴリがフラッシュ・ディスクに発行する小さいI/OリクエストのIORM待機時間。

CT_FD_IO_WT_SM_RQ

IORMカテゴリがフラッシュ・ディスクに発行する小さいI/Oリクエストのリクエスト当たりの平均IORM待機時間。

CT_IO_BY_SEC

ハード・ディスクへのこのカテゴリの1秒当たりのI/OのMB数。

CT_IO_LOAD

ハード・ディスクへのこのカテゴリからの平均I/O負荷。I/O負荷の詳細は、CD_IO_LOADを参照してください。

CT_IO_RQ_LG

ハード・ディスクに対するカテゴリによって発行された大きいI/Oリクエストの累積数。大きい値は、このカテゴリからのI/Oの処理負荷が高いことを示します。

CT_IO_RQ_LG_SEC

このメトリックはCT_IO_RQ_LGから導出されます。これはハード・ディスクに対するカテゴリによって発行された大きいI/Oリクエストの率を示します。この単位は1秒当たりのI/Oリクエスト数です。大きい値は、直前の1分間にこのカテゴリから発行されたI/Oの処理負荷が高いことを示します。

CT_IO_RQ_SM

ハード・ディスクに対するカテゴリによって発行された小さいI/Oリクエストの累積数。大きい値は、このカテゴリからのI/Oの処理負荷が高いことを示します。

CT_IO_RQ_SM_SEC

このメトリックはCT_IO_RQ_SMから導出されます。これはハード・ディスクに対するカテゴリによって発行された小さいI/Oリクエストの率を示します。この単位は1秒当たりのI/Oリクエスト数です。大きい値は、直前の1分間にこのカテゴリから発行されたI/Oの処理負荷が高いことを示します。

CT_IO_TM_LG

ハード・ディスクからのこのカテゴリの大きいブロックの読取り/書込みの累積待機時間。

CT_IO_TM_LG_RQ

ハード・ディスクからのこのカテゴリの大きいブロックの読取り/書込みの1リクエスト当たりの平均待機時間。

CT_IO_TM_SM

ハード・ディスクからのこのカテゴリの小さいブロックの読取り/書込みの累積待機時間。

CT_IO_TM_SM_RQ

ハード・ディスクからのこのカテゴリの小さいブロックの読取り/書込みの1リクエスト当たりの平均待機時間。

CT_IO_UTIL_LG

このカテゴリからの大きいリクエストによって使用されているディスク・リソースの割合(%)。

CT_IO_UTIL_SM

このカテゴリからの小さいリクエストによって使用されているディスク・リソースの割合(%)。

CT_IO_WT_LG

カテゴリがハード・ディスクに発行する大きいI/OリクエストがIORMでスケジュールされるまでの待機時間の累計(ミリ秒)。大きい値は、このカテゴリからのI/Oの処理負荷がカテゴリ・プランで指定した割当てを超えていることを示します。

CT_IO_WT_LG_RQ

IORMカテゴリがハード・ディスクに発行する大きいI/Oリクエストのリクエスト当たりの平均IORM待機時間。

CT_IO_WT_SM

カテゴリがハード・ディスクに発行する小さいI/OリクエストがIORMでスケジュールされるまでの待機時間の累計(ミリ秒)。大きい値は、このカテゴリからのI/Oの処理負荷がカテゴリ・プランで指定した割当てを超えていることを示します。

CT_IO_WT_SM_RQ

IORMカテゴリがハード・ディスクに発行する小さいI/Oリクエストのリクエスト当たりの平均IORM待機時間。

すべてのカテゴリの累積メトリックは、カテゴリ、IORMまたはデータベース・リソースのプランが変更されるとゼロにリセットされます。データベース間のプランのカテゴリ・メトリックの履歴を表示するには、次のCellCLIコマンドを使用します。

CellCLI> LIST METRICHISTORY WHERE objectType = 'IORM_CATEGORY' AND            -
         metricValue != 0 ATTRIBUTES name, metricObjectName, metricValue,     -
         collectionTime

また、カテゴリ・メトリックは、内部生成または自動的に管理される次のカテゴリで提供されます。

  • _ASM_: Oracle ASM関連のI/O

  • _ORACLE_BG_CATEGORY_: Oracle Databaseバックグラウンド・プロセスで発行される優先度の高いI/O

  • _ORACLE_MEDPRIBG_CATEGORY_: Oracle Databaseバックグラウンド・プロセスで発行される優先度が中位のI/O

  • _ORACLE_LOWPRIBG_CATEGORY_: Oracle Databaseバックグラウンド・プロセスで発行される優先度の低いI/O

7.3.2 プラガブル・データベース・メトリックを使用したIORMの監視

プラガブル・データベース(PDB)メトリックは、コンテナ・データベース(CDB)プランで指定された各PDBのI/O負荷のサイズに関する情報を提供します。METRICCURRENTオブジェクト、METRICDEFINITIONオブジェクトおよびMETRICHISTORYオブジェクトのobjectType属性は、データベース・メトリックのIORM_PLUGGABLE_DATABASEと同等です。

次の表は、データベース・メトリックのメトリック名および説明の一覧です。メトリックを表示するPDBは、METRICCURRENTオブジェクトおよびMETRICHISTORYオブジェクトのmetricObjectName属性で指定されます。PDB名は、CDB名とPDB名を連結した名前です。cumulativeメトリックの場合は、様々なcollectionTime期間から値を減算することにより、特定の期間のメトリック値を算出できます。rateメトリックの場合は、メトリック値の期間は直前の1分間になります。表の説明では、「小さい」は128KB以下のサイズ、「大きい」は128KBより大きいサイズを意味します。

表7-9 プラガブル・データベースのメトリックおよび説明

メトリック 説明

PDB_FC_BY_ALLOCATED

このプラガブル・データベースに対してフラッシュ・キャッシュで割り当てられるMB数。

PDB_FC_IO_BY_SEC

フラッシュ・キャッシュへのプラガブル・データベースの1秒当たりのI/OのMB数。

PDB_FC_IO_RQ

このプラガブル・データベースがフラッシュ・キャッシュに発行するI/Oリクエストの数。

PDB_FC_IO_RQ_LG

このプラガブル・データベースがフラッシュ・キャッシュに発行する大きいI/Oリクエストの数。

PDB_FC_IO_RQ_LG_SEC

このプラガブル・データベースがフラッシュ・キャッシュに発行する大きいI/Oリクエストの1秒当たりの数。

PDB_FC_IO_RQ_SEC

このプラガブル・データベースがフラッシュ・キャッシュに発行する1秒当たりのI/Oリクエストの数。

PDB_FC_IO_RQ_SM

このプラガブル・データベースがフラッシュ・キャッシュに発行する小さいI/Oリクエストの数。

PDB_FC_IO_RQ_SM_SEC

このプラガブル・データベースがフラッシュ・キャッシュに発行する小さいI/Oリクエストの1秒当たりの数。

PDB_FD_IO_BY_SEC

フラッシュ・ディスクへのプラガブル・データベースの1秒当たりのI/OのMB数。

PDB_FD_IO_LOAD

フラッシュ・ディスクへのこのプラガブル・データベースからの平均I/O負荷。I/O負荷の詳細は、CD_IO_LOADを参照してください。

PDB_FD_IO_RQ_LG

プラガブル・データベースがフラッシュ・ディスクに発行する大きいI/Oリクエストの数。

PDB_FD_IO_RQ_LG_SEC

プラガブル・データベースがフラッシュ・ディスクに1秒当たりに発行する大きいI/Oリクエストの数。

PDB_FD_IO_RQ_SM

プラガブル・データベースがフラッシュ・ディスクに発行する小さいI/Oリクエストの数。

PDB_FD_IO_RQ_SM_SEC

プラガブル・データベースがフラッシュ・ディスクに1秒当たりに発行する小さいI/Oリクエストの数。

PDB_FD_IO_TM

フラッシュ・ディスクからのこのプラガブル・データベースによるブロックの読取り/書込みの累積待機時間。

PDB_FD_IO_TM_LG

フラッシュ・ディスクからのこのプラガブル・データベースによる大きいブロックの読取り/書込みの累積待機時間。

PDB_FD_IO_TM_LG_RQ

フラッシュ・ディスクからのこのプラガブル・データベースによる大きいブロックの読取り/書込みの1リクエスト当たりの平均待機時間。

PDB_FD_IO_TM_RQ

フラッシュ・ディスクからのこのプラガブル・データベースによるブロックの読取り/書込みの1リクエスト当たりの平均待機時間。

PDB_FD_IO_TM_SM

フラッシュ・ディスクからのこのプラガブル・データベースによる小さいブロックの読取り/書込みの累積待機時間。

PDB_FD_IO_TM_SM_RQ

フラッシュ・ディスクからのこのプラガブル・データベースによる小さいブロックの読取り/書込みの1リクエスト当たりの平均待機時間。

PDB_FD_IO_UTIL

このプラガブル・データベースから使用されているフラッシュ・リソースの割合(%)。

PDB_FD_IO_UTIL_LG

このプラガブル・データベースからの大きいリクエストによって使用されているフラッシュ・リソースの割合(%)。

PDB_FD_IO_UTIL_SM

このプラガブル・データベースからの小さいリクエストによって使用されているフラッシュ・リソースの割合(%)。

PDB_FD_IO_WT_LG

このプラガブル・データベースがフラッシュ・ディスクに発行する大きいI/OリクエストのIORM待機時間。

PDB_FD_IO_WT_LG_RQ

このプラガブル・データベースがフラッシュ・ディスクに発行する大きいI/Oリクエストのリクエスト当たりの平均IORM待機時間。

PDB_FD_IO_WT_SM

このプラガブル・データベースがフラッシュ・ディスクに発行する小さいI/OリクエストのIORM待機時間。

PDB_FD_IO_WT_SM_RQ

このプラガブル・データベースがフラッシュ・ディスクに発行する小さいI/Oリクエストのリクエスト当たりの平均IORM待機時間。

PDB_IO_BY_SEC

ハード・ディスクへのプラガブル・データベースの1秒当たりのI/OのMB数。

PDB_IO_LOAD

ハード・ディスクへのこのプラガブル・データベースからの平均I/O負荷。I/O負荷の詳細は、CD_IO_LOADを参照してください。

PDB_IO_RQ_LG

プラガブル・データベースがハード・ディスクに発行する大きいI/Oリクエストの累積数。大きい値は、このプラガブル・データベースからの大きいI/Oの処理負荷が高いことを示します。

PDB_IO_RQ_LG_SEC

ハード・ディスクに対して直前の1分間にプラガブル・データベースが1秒当たりに発行した大きいI/Oリクエストの率。大きい値は、直前の1分間のこのプラガブル・データベースからの大きいI/Oの処理負荷が高いことを示します。

PDB_IO_RQ_SM

プラガブル・データベースがハード・ディスクに発行する小さいI/Oリクエストの累積数。大きい値は、このプラガブル・データベースからの小さいI/Oの処理負荷が高いことを示します。

PDB_IO_RQ_SM_SEC

ハード・ディスクに対して直前の1分間にプラガブル・データベースが1秒当たりに発行した小さいI/Oリクエストの率。大きい値は、直前の1分間にこのプラガブル・データベースが発行した小さいI/Oの処理負荷が高いことを示します。

PDB_IO_TM_LG

ハード・ディスクからのこのプラガブル・データベースによる大きいブロックの読取り/書込みの累積待機時間。

PDB_IO_TM_LG_RQ

ハード・ディスクからのこのプラガブル・データベースによる大きいブロックの読取り/書込みの1リクエスト当たりの平均待機時間。

PDB_IO_TM_SM

ハード・ディスクからのこのプラガブル・データベースによる小さいブロックの読取り/書込みの累積待機時間。

PDB_IO_TM_SM_RQ

ハード・ディスクからのこのプラガブル・データベースによる小さいブロックの読取り/書込みの1リクエスト当たりの平均待機時間。

PDB_IO_UTIL_LG

このプラガブル・データベースからの大きいリクエストによって使用されているディスク・リソースの割合(%)。

PDB_IO_UTIL_SM

このプラガブル・データベースからの小さいリクエストによって使用されているディスク・リソースの割合(%)。

PDB_IO_WT_LG

このプラガブル・データベースがハード・ディスクに発行する大きいI/OリクエストのIORM待機時間。

PDB_IO_WT_LG_RQ

このプラガブル・データベースがハード・ディスクに発行する大きいI/Oリクエストのリクエスト当たりの平均IORM待機時間。

PDB_IO_WT_SM

このプラガブル・データベースがハード・ディスクに発行する小さいI/OリクエストのIORM待機時間。

PDB_IO_WT_SM_RQ

このプラガブル・データベースがハード・ディスクに発行する小さいI/Oリクエストのリクエスト当たりの平均IORM待機時間。

7.3.3 データベース・メトリックを使用したIORMの監視

データベース・メトリックでは、データベース間のプランで指定した各データベースからのI/O負荷のサイズに関する情報が提供されます。METRICCURRENTオブジェクト、METRICDEFINITIONオブジェクトおよびMETRICHISTORYオブジェクトのobjectType属性は、データベース・メトリックのIORM_DATABASEと同等です。

次の表は、データベース・メトリックのメトリック名および説明の一覧です。メトリックを表示するデータベースは、METRICCURRENTオブジェクトおよびMETRICHISTORYオブジェクトのmetricObjectName属性で指定されます。cumulativeメトリックの場合は、様々なcollectionTime期間から値を減算することにより、特定の期間のメトリック値を算出できます。rateメトリックの場合は、メトリック値の期間は直前の1分間になります。表の説明では、「小さい」は128KB以下のサイズ、「大きい」は128KBより大きいサイズを意味します。

表7-10 データベースのメトリックおよび説明

メトリック 説明

DB_FC_BY_ALLOCATED

このデータベースに対してフラッシュ・キャッシュで割り当てられるMB数。

DB_FC_IO_BY_SEC

フラッシュ・キャッシュへのこのデータベースの1秒当たりのI/OのMB数。

DB_FC_IO_RQ

データベースがフラッシュ・キャッシュに発行するI/Oリクエストの数。

DB_FC_IO_RQ_LG

データベースがフラッシュ・キャッシュに発行する大きいI/Oリクエストの数。

DB_FC_IO_RQ_LG_SEC

データベースがフラッシュ・キャッシュに1秒当たりに発行する大きいI/Oリクエストの数。

DB_FC_IO_RQ_SEC

データベースがフラッシュ・キャッシュに1秒当たりに発行するI/Oリクエストの数。

DB_FC_IO_RQ_SM

データベースがフラッシュ・キャッシュに発行する小さいI/Oリクエストの数。

DB_FC_IO_RQ_SM_SEC

データベースがフラッシュ・キャッシュに1秒当たりに発行する小さいI/Oリクエストの数。

DB_FD_IO_BY_SEC

フラッシュ・ディスクへのこのデータベースの1秒当たりのI/OのMB数。

DB_FD_IO_LOAD

フラッシュ・ディスクへのこのデータベースからの平均I/O負荷。I/O負荷の詳細は、CD_IO_LOADを参照してください。

DB_FD_IO_RQ_LG

データベースがフラッシュ・ディスクに発行する大きいI/Oリクエストの数。

DB_FD_IO_RQ_LG_SEC

データベースがフラッシュ・ディスクに1秒当たりに発行する大きいI/Oリクエストの数。

DB_FD_IO_RQ_SM

データベースがフラッシュ・ディスクに発行する小さいI/Oリクエストの数。

DB_FD_IO_RQ_SM_SEC

データベースがフラッシュ・ディスクに1秒当たりに発行する小さいI/Oリクエストの数。

DB_FD_IO_TM

フラッシュ・ディスクからのデータベースによるブロックの読取り/書込みの累積待機時間。

DB_FD_IO_TM_LG

フラッシュ・ディスクからのデータベースによる大きいブロックの読取り/書込みの累積待機時間。

DB_FD_IO_TM_LG_RQ

フラッシュ・ディスクからのデータベースによる大きいブロックの読取り/書込みの1リクエスト当たりの平均待機時間。

DB_FD_IO_TM_RQ

フラッシュ・ディスクからのデータベースによるブロックの読取り/書込みの1リクエスト当たりの平均待機時間。

DB_FD_IO_TM_SM

フラッシュ・ディスクからのデータベースによる小さいブロックの読取り/書込みの累積待機時間。

DB_FD_IO_TM_SM_RQ

フラッシュ・ディスクからのデータベースによる小さいブロックの読取り/書込みの1リクエスト当たりの平均待機時間。

DB_FD_IO_UTIL

このデータベースから使用されているフラッシュ・リソースの割合(%)。

DB_FD_IO_UTIL_LG

このデータベースからの大きいリクエストによって使用されているキャッシュ・リソースの割合(%)。

DB_FD_IO_UTIL_SM

このデータベースからの小さいリクエストによって使用されているフラッシュ・リソースの割合(%)。

DB_FD_IO_WT_LG

データベースがフラッシュ・ディスクに発行する大きいI/OリクエストのIORM待機時間。

DB_FD_IO_WT_LG_RQ

データベースがフラッシュ・ディスクに発行する大きいI/Oリクエストのリクエスト当たりの平均IORM待機時間。

DB_FD_IO_WT_SM

データベースがフラッシュ・ディスクに発行する小さいI/OリクエストのIORM待機時間。

DB_FD_IO_WT_SM_RQ

データベースがフラッシュ・ディスクに発行する小さいI/Oリクエストのリクエスト当たりの平均IORM待機時間。

DB_FL_IO_BY

Oracle Exadataスマート・フラッシュ・ログに書き込まれたMB数。

DB_FL_IO_BY_SEC

Oracle Exadataスマート・フラッシュ・ログに1秒当たりに書き込まれたMB数。

DB_FL_IO_RQ

Oracle Exadataスマート・フラッシュ・ログに発行されたI/Oリクエストの数。

DB_FL_IO_RQ_SEC

Oracle Exadataスマート・フラッシュ・ログに1秒当たりに発行されたI/Oリクエストの数。

DB_IO_BY_SEC

ハード・ディスクへのこのデータベースの1秒当たりのI/OのMB数。

DB_IO_LOAD

ハード・ディスクへのこのデータベースからの平均I/O負荷。I/O負荷の詳細は、CD_IO_LOADを参照してください。

DB_IO_RQ_LG

データベースによってハード・ディスクに発行された大きいI/Oリクエストの累積数。大きい値は、このデータベースからのI/Oの処理負荷が非常に高いことを示します。

DB_IO_RQ_LG_SEC

直前の1分間にデータベースがハード・ディスクに1秒当たりに発行した大きいI/Oリクエストの率。大きい値は、直前の1分間にこのデータベースから発行されたI/Oの処理負荷が非常に高いことを示します。

DB_IO_RQ_SM

データベースによってハード・ディスクに発行された小さいI/Oリクエストの累積数。大きい値は、このデータベースからのI/Oの処理負荷が非常に高いことを示します。

DB_IO_RQ_SM_SEC

直前の1分間にデータベースがハード・ディスクに1秒当たりに発行した小さいI/Oリクエストの率。大きい値は、直前の1分間にこのデータベースが発行する小さいI/Oの処理負荷が非常に高いことを示します。

DB_IO_TM_LG

ハード・ディスクからのデータベースによる大きいブロックの読取り/書込みの累積待機時間。

DB_IO_TM_LG_RQ

ハード・ディスクからのデータベースによる大きいブロックの読取り/書込みの1リクエスト当たりの平均待機時間。

DB_IO_TM_SM

ハード・ディスクからのデータベースによる小さいブロックの読取り/書込みの累積待機時間。

DB_IO_TM_SM_RQ

ハード・ディスクからのデータベースによる小さいブロックの読取り/書込みの1リクエスト当たりの平均待機時間。

DB_IO_UTIL_LG

このデータベースからの大きいリクエストによって使用されているハード・ディスク・リソースの割合(%)。

DB_IO_UTIL_SM

このデータベースからの小さいリクエストによって使用されているハード・ディスク・リソースの割合(%)。

DB_IO_WT_LG

データベースがハード・ディスクに発行する大きいI/OリクエストのIORM待機時間。

DB_IO_WT_LG_RQ

データベースがハード・ディスクに発行する大きいI/Oリクエストのリクエスト当たりの平均IORM待機時間。

DB_IO_WT_SM

データベースがハード・ディスクに発行する小さいI/OリクエストのIORM待機時間。

DB_IO_WT_SM_RQ

データベースがハード・ディスクに発行する小さいI/Oリクエストのリクエスト当たりの平均IORM待機時間。

すべてのデータベースの累積メトリックは、カテゴリ、IORMまたはデータベース・リソースのプランが変更されるとゼロにリセットされます。

データベース間のプランのデータベース・メトリックの履歴を表示するには、次のCellCLIコマンドを使用します。

CellCLI> LIST METRICHISTORY WHERE objectType = 'IORM_DATABASE' AND - 
metricValue != 0 ATTRIBUTES name, metricObjectName, metricValue, collectionTime

また、データベース・メトリックは、Oracle ASMおよび_OTHER_DATABASE_という名前のメトリックのすべてのデータベースで提供されます。

7.3.4 コンシューマ・グループ・メトリックを使用したIORMの監視

コンシューマ・グループ・メトリックでは、データベース・リソース・プランで指定した各コンシューマ・グループからのI/O負荷のサイズに関する情報が提供されます。データベース間プランの各データベースには、そのコンシューマ・グループごとにメトリックが設定されます。METRICCURRENTオブジェクト、METRICDEFINITIONオブジェクトおよびMETRICHISTORYオブジェクトのobjectType属性は、コンシューマ・グループ・メトリックのIORM_CONSUMER_GROUPと同等です。

次の表は、コンシューマ・グループ・メトリックのメトリック名および説明の一覧です。メトリックを表示するコンシューマ・グループおよびデータベースは、METRICCURRENTオブジェクトおよびMETRICHISTORYオブジェクトのmetricObjectName属性で指定されます。名前の書式は、データベース名の後にピリオド(.)、コンシューマ・グループ名を続ける書式で指定します。たとえば、データベース名がPRODUCTIONDBでコンシューマ・グループ名がOLTPの場合、metricObjectNameはPRODUCTIONDB.OLTPになります。

cumulativeメトリックの場合は、様々なcollectionTime期間から値を減算することにより、特定の期間のメトリック値を算出できます。rateメトリックの場合は、メトリック値の期間は直前の1分間になります。表の説明では、「小さい」は128KB以下のサイズ、「大きい」は128KBより大きいサイズを意味します。

表7-11 コンシューマ・グループのメトリックおよび説明

メトリック 説明

CG_FC_IO_BY_SEC

フラッシュ・キャッシュへのこのコンシューマ・グループの1秒当たりのI/OのMB数。

CG_FC_IO_RQ

コンシューマ・グループがフラッシュ・キャッシュに発行するI/Oリクエストの数。

CG_FC_IO_RQ_LG

コンシューマ・グループがフラッシュ・キャッシュに発行する大きいI/Oリクエストの数。

CG_FC_IO_RQ_LG_SEC

コンシューマ・グループがフラッシュ・キャッシュに1秒当たりに発行する大きいI/Oリクエストの数。

CG_FC_IO_RQ_SEC

コンシューマ・グループがフラッシュ・キャッシュに1秒当たりに発行するI/Oリクエストの数。

CG_FC_IO_RQ_SM

コンシューマ・グループがフラッシュ・キャッシュに発行する小さいI/Oリクエストの数。

CG_FC_IO_RQ_SM_SEC

コンシューマ・グループがフラッシュ・キャッシュに1秒当たりに発行する小さいI/Oリクエストの数。

CG_FD_IO_BY_SEC

フラッシュ・ディスクへのこのコンシューマ・グループの1秒当たりのI/OのMB数。

CG_FD_IO_LOAD

このメトリックは、このコンシューマ・グループからフラッシュ・ディスクへの平均I/O負荷を示しています。I/O負荷の詳細は、CD_IO_LOADを参照してください。

CG_FD_IO_RQ_LG

コンシューマ・グループがフラッシュ・ディスクに発行する大きいI/Oリクエストの数。

CG_FD_IO_RQ_LG_SEC

コンシューマ・グループがフラッシュ・ディスクに1秒当たりに発行する大きいI/Oリクエストの数。

CG_FD_IO_RQ_SM

コンシューマ・グループがフラッシュ・ディスクに発行する小さいI/Oリクエストの数。

CG_FD_IO_RQ_SM_SEC

コンシューマ・グループがフラッシュ・ディスクに1秒当たりに発行する小さいI/Oリクエストの数。

CG_FD_IO_TM

フラッシュ・ディスクからのコンシューマ・グループによるブロックの読取り/書込みの累積待機時間。

CG_FD_IO_TM_LG

フラッシュ・ディスクからのコンシューマ・グループによる大きいブロックの読取り/書込みの累積待機時間。

CG_FD_IO_TM_LG_RQ

フラッシュ・ディスクからのコンシューマ・グループによる大きいブロックの読取り/書込みの1リクエスト当たりの平均待機時間。

CG_FD_IO_TM_RQ

フラッシュ・ディスクからのコンシューマ・グループによるブロックの読取り/書込みの1リクエスト当たりの平均待機時間。

CG_FD_IO_TM_SM

フラッシュ・ディスクからのコンシューマ・グループによる小さいブロックの読取り/書込みの累積待機時間。

CG_FD_IO_TM_SM_RQ

フラッシュ・ディスクからのコンシューマ・グループによる小さいブロックの読取り/書込みの1リクエスト当たりの平均待機時間。

CG_FD_IO_UTIL

このコンシューマ・グループから使用されているフラッシュ・リソースの割合(%)。

CG_FD_IO_UTIL_LG

このコンシューマ・グループからの大きいリクエストによって使用されているフラッシュ・リソースの割合(%)。

CG_FD_IO_UTIL_SM

このコンシューマ・グループからの小さいリクエストによって使用されているフラッシュ・リソースの割合(%)。

CG_FD_IO_WT_LG

コンシューマ・グループがフラッシュ・ディスクに発行する大きいI/OリクエストのIORM待機時間。

CG_FD_IO_WT_LG_RQ

コンシューマ・グループがフラッシュ・ディスクに発行する大きいI/Oリクエストのリクエスト当たりの平均IORM待機時間。

CG_FD_IO_WT_SM

コンシューマ・グループがフラッシュ・ディスクに発行する小さいI/OリクエストのIORM待機時間。

CG_FD_IO_WT_SM_RQ

コンシューマ・グループがフラッシュ・ディスクに発行する小さいI/Oリクエストのリクエスト当たりの平均IORM待機時間。

CG_IO_BY_SEC

ハード・ディスクへのこのコンシューマ・グループの1秒当たりのI/OのMB数。

CG_IO_LOAD

このメトリックは、このコンシューマ・グループからハードディスクへの平均I/O負荷を示しています。I/O負荷の詳細は、CD_IO_LOADを参照してください。

CG_IO_RQ_LG

コンシューマ・グループによって発行された大きいI/Oリクエストの累積数。大きい値は、このコンシューマ・グループからのI/Oの処理負荷が高いことを示します。

CG_IO_RQ_LG_SEC

このメトリックはCG_IO_RQ_LGから導出されます。直前の1分間にコンシューマ・グループで発行された大きいI/Oリクエストの1秒当たりの数を示します。大きい値は、直前の1分間にこのコンシューマ・グループから発行されたI/Oの処理負荷が高いことを示します。

CG_IO_RQ_SM

コンシューマ・グループによって発行された小さいI/Oリクエストの累積数。大きい値は、このコンシューマ・グループからのI/Oの処理負荷が高いことを示します。

CG_IO_RQ_SM_SEC

このメトリックはCG_IO_RQ_SMから導出されます。直前の1分間にコンシューマ・グループで発行された小さいI/Oリクエストの1秒当たりの数を示します。大きい値は、直前の1分間にこのコンシューマ・グループから発行されたI/Oの処理負荷が高いことを示します。

CG_IO_TM_LG

ハード・ディスクからのコンシューマ・グループによる大きいブロックの読取り/書込みの累積待機時間。

CG_IO_TM_LG_RQ

ハード・ディスクからのコンシューマ・グループによる大きいブロックの読取り/書込みの1リクエスト当たりの平均待機時間。

CG_IO_TM_SM

ハード・ディスクからのコンシューマ・グループによる小さいブロックの読取り/書込みの累積待機時間

CG_IO_TM_SM_RQ

ハード・ディスクからのコンシューマ・グループによる小さいブロックの読取り/書込みの1リクエスト当たりの平均待機時間。

CG_IO_UTIL_LG

このコンシューマ・グループからの大きいリクエストによって使用されているディスク・リソースの割合(%)。

CG_IO_UTIL_SM

このコンシューマ・グループからの小さいリクエストによって使用されているディスク・リソースの割合(%)。

CG_IO_WT_LG

コンシューマ・グループがハード・ディスクに発行する大きいI/OリクエストのIORM待機時間。

CG_IO_WT_LG_RQ

コンシューマ・グループがハード・ディスクに発行する大きいI/Oリクエストのリクエスト当たりの平均IORM待機時間。

CG_IO_WT_SM

コンシューマ・グループがハード・ディスクに発行する小さいI/OリクエストのIORM待機時間。

CG_IO_WT_SM_RQ

コンシューマ・グループがハード・ディスクに発行する小さいI/Oリクエストのリクエスト当たりの平均IORM待機時間。

すべてのコンシューマ・グループの累積メトリックは、カテゴリ、IORMまたはデータベース・リソースのプランが変更されるとゼロにリセットされます。

コンシューマ・グループの現在のメトリックを表示するには、次のCellCLIコマンドを使用します。

CellCLI> LIST METRICCURRENT WHERE objectType = 'IORM_CONSUMER_GROUP' AND        -
         metricValue != 0 ATTRIBUTES name, metricObjectName, metricValue,       -
         collectionTime

Oracle ASMおよびそれ以外のすべてのデータベースでは、メトリックはBACKGROUNDおよびOTHERコンシューマ・グループで提供されます。BACKGROUNDコンシューマ・グループは次のとおりです。

  • _ORACLE_BACKGROUND_GROUP_: Oracle Databaseバックグラウンド・プロセスからの優先度の高いI/Oリクエスト

  • _ORACLE_MEDPRIBG_GROUP_: Oracle Databaseバックグラウンド・プロセスからの優先度が中位のI/Oリクエスト

  • _ORACLE_LOWPRIBG_GROUP_: Oracle Databaseバックグラウンド・プロセスからの優先度の低いI/Oリクエスト

7.3.5 IORM使用率の監視

OLTPワークロードとDSSワークロードがOracle Exadata Storage Serverを共有する場合は、短いレイテンシまたは高スループットのいずれに対して最適化するかがIORMにより決定されます。短いレイテンシに対して最適化するには、ディスクの使用率がフルにならないように大きいI/Oリクエストを分散する必要があります。高いスループットに対して最適化するには、各Oracle Exadata Storage Serverで多くの大きい同時I/Oリクエストを処理し、最適化アルゴリズムを適用中にセルをフルに使用できるようにする必要があります。ただし、セルに多くの大きい同時I/Oリクエストがある場合は、各I/Oは他の多くのI/Oの後でキューに入れられるため、I/Oレイテンシは長くなります。

データベース、PDBおよびコンシューマ・グループからのI/Oリクエストの使用率メトリックは、データベース、PDBまたはコンシューマ・グループがセルを使用した時間に対応します。大きいI/Oリクエストは小さいI/Oリクエストよりセルを多く使用します。次は、IORM最適化を決定する使用率メトリックを示したものです。

  • CG_IO_UTIL_LG

  • CG_IO_UTIL_SM

  • PDB_IO_UTIL_LG

  • PDB_IO_UTIL_SM

  • CT_IO_UTIL_LG

  • CT_IO_UTIL_SM

  • DB_IO_UTIL_LG

  • DB_IO_UTIL_SM

I/Oリソース割当てで使用したI/Oリソース量を比較して、データベース管理者はIORMをレイテンシまたはスループットに切り替える必要があるかどうかを判断できます。IORMメトリックIORM_MODEは、IORMのモードを示しています。メトリック値は1から3の範囲内です。値の定義は次のとおりです。

  • 1はセルのIORM目標がlow_latencyに設定されていたことを示します。

  • 2はセルのIORM目標がbalancedに設定されていたことを示します。

  • 3はセルのIORM目標がhigh_throughputに設定されていたことを示します。

1から2または2から3の間の値は、IORM目標がメトリック期間中同じでなかったことを示し、値は指定目標への近接度を示します。ワークロードの組合せが絶えず変化することも示しています。

7.3.6 メトリックを使用したデータベース間プランのチューニング

I/Oリソース管理(IORM)に関連するOracle Exadata Storage Server Softwareのメトリックは複数の方法で使用できます。メトリックを使用すると、I/Oの処理負荷の全体のサイズおよび各カテゴリ、データベースまたはコンシューマ・グループのI/Oの処理負荷の割合を確認できます。たとえば、特定のデータベースが予想以上に高いI/Oの処理負荷を発行していることがメトリックからわかります。

また、カテゴリ、データベース、PDBまたはコンシューマ・グループの中で、リソース割当てを使用していないものや、リソース割当てを超えているものもメトリックから確認できます。次に例を示します。

  • 待機時間(DB_IO_WT_SM_RQDB_IO_WT_LG_RQPDB_IO_WT_SM_RQPDB_IO_WT_LG_RQおよびCG_IO_WT_SM_RQ)が短いまたはゼロになる場合は、プラン割当ては十分といえます。

  • 待機時間が長い場合、プラン割当ては不十分です。

  • 待機時間によりパフォーマンスが著しく低下する場合は、プランを調整して割当てを大きくするか、セルまたはディスクを追加して全体のI/Oリソースを増やしてください。

7.4 Oracle Exadata Storage Serverのリクエストおよびアラートの監視

アクティブ・リクエストでは、セルで処理中のクライアントI/Oリクエストのクライアント集中型またはアプリケーション集中型のビューが提供されます。アラートは、セル内で発生した重要なイベントを表します。通常、アラートはOracle Exadata Storage Serverの機能が損なわれているか、または障害が発生する危険性があることを示します。セルのアクティブ・リクエストおよびアラートを監視できます。また、アラートの電子メール通知を受信することもできます。通知を受信するには、ALTER CELLコマンドを使用します。

この項では、次の項目について説明します。

7.4.1 アクティブ・リクエストの表示

セルのアクティブ・リクエストを表示するには、LIST ACTIVEREQUESTコマンドを使用します。「アクティブ・リクエスト属性の表示」は、指定したリクエストのI/Oタイプの属性の詳細リストを表示する方法を示しています。

ACTIVEREQUEST属性を表示するには、DESCRIBE ACTIVEREQUESTコマンドを使用します。

例7-5 アクティブ・リクエスト属性の表示

CellCLI> LIST ACTIVEREQUEST WHERE IoType = 'predicate pushing' DETAIL

7.4.2 アラート定義の表示

セルのアラート定義を表示するには、LIST ALERTDEFINITIONコマンドを使用します。アラート定義では、セルで生成可能なすべてのアラートの定義が提供されます。

例7-6 アラート定義属性の表示

この例は、アラート定義の属性の詳細リストを表示する方法を示しています。

CellCLI> LIST ALERTDEFINITION ADRAlert DETAIL
         name:                   ADRAlert
         alertShortName:         ADR
         alertSource:            "Automatic Diagnostic Repository"
         alertType:              Stateless
         description:            "CELLSRV Incident Error"
         metricName:

例7-7 アラート定義名および説明の属性の表示

アラート定義の指定した属性のリストを表示できます。この例は、アラート名、メトリック名および説明を表示する方法を示しています。メトリック名では、アラートの基準となるメトリックを識別します。ADRAlertHardwareAlertStateful_HardwareAlertおよびStateful_SoftwareAlertはメトリックに基づいていないため、メトリック名はありません。

CellCLI> LIST ALERTDEFINITION ATTRIBUTES name, metricName, description 
    ADRAlert                                        "Incident Alert"
    HardwareAlert                                   "Hardware Alert"
    StatefulAlert_CD_IO_ERRS_MIN    CD_IO_ERRS_MIN  "Threshold Alert"
    StatefulAlert_CG_IO_RQ_LG       CG_IO_RQ_LG     "Threshold Alert"
    StatefulAlert_CG_IO_RQ_LG_SEC   CG_IO_RQ_LG_SEC "Threshold Alert"
    StatefulAlert_CG_IO_RQ_SM       CG_IO_RQ_SM     "Threshold Alert"
    StatefulAlert_CG_IO_RQ_SM_SEC   CG_IO_RQ_SM_SEC "Threshold Alert"
    StatefulAlert_CG_IO_WT_LG       CG_IO_WT_LG     "Threshold Alert"
    StatefulAlert_CG_IO_WT_LG_RQ    CG_IO_WT_LG_RQ  "Threshold Alert"
    StatefulAlert_CG_IO_WT_SM       CG_IO_WT_SM     "Threshold Alert"
    StatefulAlert_CG_IO_WT_SM_RQ    CG_IO_WT_SM_RQ  "Threshold Alert"
    StatefulAlert_CL_FSUT           CL_FSUT         "Threshold Alert"
    StatefulAlert_CL_MEMUT          CL_MEMUT        "Threshold Alert"
    StatefulAlert_CT_IO_RQ_LG       CT_IO_RQ_LG     "Threshold Alert"
    StatefulAlert_CT_IO_RQ_LG_SEC   CT_IO_RQ_LG_SEC "Threshold Alert"
    StatefulAlert_CT_IO_RQ_SM       CT_IO_RQ_SM     "Threshold Alert"
    StatefulAlert_CT_IO_RQ_SM_SEC   CT_IO_RQ_SM_SEC "Threshold Alert"
    StatefulAlert_CT_IO_WT_LG       CT_IO_WT_LG     "Threshold Alert"
    StatefulAlert_CT_IO_WT_LG_RQ    CT_IO_WT_LG_RQ  "Threshold Alert"
    StatefulAlert_CT_IO_WT_SM       CT_IO_WT_SM     "Threshold Alert"
    StatefulAlert_CT_IO_WT_SM_RQ    CT_IO_WT_SM_RQ  "Threshold Alert"
    StatefulAlert_DB_IO_RQ_LG       DB_IO_RQ_LG     "Threshold Alert"
    StatefulAlert_DB_IO_RQ_LG_SEC   DB_IO_RQ_LG_SEC "Threshold Alert"
    StatefulAlert_DB_IO_RQ_SM       DB_IO_RQ_SM     "Threshold Alert"
    StatefulAlert_DB_IO_RQ_SM_SEC   DB_IO_RQ_SM_SEC "Threshold Alert"
    StatefulAlert_DB_IO_WT_LG       DB_IO_WT_LG     "Threshold Alert"
    StatefulAlert_DB_IO_WT_LG_RQ    DB_IO_WT_LG_RQ  "Threshold Alert"
    StatefulAlert_DB_IO_WT_SM       DB_IO_WT_SM     "Threshold Alert"
    StatefulAlert_DB_IO_WT_SM_RQ    DB_IO_WT_SM_RQ  "Threshold Alert"
    StatefulAlert_GD_IO_ERRS_MIN    GD_IO_ERRS_MIN  "Threshold Alert"
    Stateful_HardwareAlert                          "Hardware Stateful Alert"
    Stateful_SoftwareAlert                          "Software Stateful Alert"

7.4.3 アラート通知の受信

Oracle Exadata Storage Server Softwareの管理者は、電子メールまたはSimple Network Management Protocol (SNMP) トラップ・アラートでアラート通知を受信できます。SNMPアラートを使用すると、Oracle Enterprise Managerなどの管理アプリケーションでOracle Exadata Storage Serverを監視できるようになります。電子メール・メッセージまたはSNMPトラップ・アラートを送信するようにOracle Exadata Storage Serverを構成するには、ALTER CELLコマンドを使用します。

注意:

SNMPアラートは、Oracle Exadata Storage Server Softwareの各インストールに含まれているMIB(管理情報ベース)に準拠しています。Oracle Exadata Storage ServerのMIBファイルは、/opt/oracle/cell/cellsrv/deploy/config/cell_alert.mibにあります。SNMPアラートとMIBはSNMPバージョン 1(SNMPv1)に準拠しています。

7.4.4 syslogメッセージのリモート監視

デフォルトで、ストレージ・サーバーのsyslogメッセージは論理ログ・ファイルに書き込まれます。loghostサーバーと呼ばれる独立した管理サーバーでは、Oracle Exadata Storage Serverからsyslogメッセージを受信できます。syslogメッセージをリモートで監視するには、loghostサーバーの/etc/sysconfig/syslogファイルでSYSLOGD_OPTIONS -rを設定し、loghostサーバーのsyslogサービスが着信syslogメッセージをリスニングするように構成します。また、ALTER CELLコマンドを使用して各Oracle Exadata Storage Serverを構成し、指定されたsyslogメッセージがloghostサーバーに転送されるようにします。Oracle Exadata Storage Serverの構成は、再起動や更新を行っても維持されます。ALTER CELL VALIDATE SYSLOGCONFコマンドを使用すると、セルが送信したメッセージをloghostサーバーが受信するかどうかをテストできます。

関連項目

7.4.5 アラート履歴の表示

セルで発生したアラートの履歴を表示するには、LIST ALERTHISTORYコマンドを使用します。

アラート履歴エントリは、最大で100日間保持されます。アラート履歴エントリの数が500を超えると、アラート履歴エントリは7日間のみ保持されます。ステートフル・アラートがクリアされると(つまり、基礎となるメトリック、ハードウェアまたはソフトウェアの状態がnormalに戻ると)、そのステートフル・アラートは、アラート履歴エントリの数に応じて100日間または7日間保持されます。クリアされていないステートフル・アラートは、経過期間にかかわらず保持されます。

例7-8 アラート履歴属性の表示

この例は、severity属性がcriticalに設定され、examinedBy属性が設定されていないアラート履歴エントリの属性の詳細リストを表示する方法を示しています。

CellCLI> LIST ALERTHISTORY WHERE severity = 'critical' AND examinedBy = '' DETAIL

7.4.6 アラート履歴の変更

セルのアラート履歴を更新するには、ALTER ALERTHISTORYコマンドを使用します。

例7-9 アラート履歴属性の変更

この例は、アラートを確認した管理者のユーザーIDをexaminedBy属性に設定する方法を示しています。examinedBy属性は、変更可能な唯一のALERTHISTORY属性です。

CellCLI> ALTER ALERTHISTORY 1671443714 examinedBy="jdoe"

7.5 ビューを使用したOracle Exadata Storage Serverの監視

複数の動的V$ビューを使用して、Oracle Exadata Storage Server環境を監視できます。この項では、次の項目について説明します。

7.5.1 V$CELLビューおよびGV$CELLビューを使用したOracle Exadata Storage Serverの識別情報の表示

V$CELLビューでは、セルの識別情報が提供されます。

表7-12 V$CELLビュー列および説明

説明

CELL_HASHVAL

セルのハッシュ数値。次に例を示します。

138889696

注意: P1引数は、多くの場合、V$SESSION_WAITビューとV$ACTIVE_SESSION_HISTORYビューにおけるセル関連の待機イベントのセル・ハッシュ名であるため、この値は便利です。この値を使用して、cell_hashに基づいてV$CELLビューと結合することで、対応するセル名を特定できます。

CELL_PATH

セルのIPアドレスを指定する文字列(最大400文字)。これらは、cellip.oraファイルで指定されるIPアドレスです。

CELL_TYPE

ストレージ・セルのタイプ。

GV$CELLビューには、V$CELLビューと同じ列およびINST_ID列が含まれます。INST_ID列にはインスタンス番号が表示され、この番号に基づいて関連するV$ビュー情報が取得されます。GV$ビュー問合せを実行すると、条件を満たすすべてのインスタンスからV$ビュー情報が取得されます。

7.5.2 Oracle Exadata Storage ServerでのV$BACKUP_DATAFILEの使用

V$BACKUP_DATAFILEビューには、Oracle Recovery Manager (RMAN)増分バックアップ時のOracle Exadata Storage Serverに関連する列が含まれます。

表7-13 V$BACKUP_DATAFILE列および説明

説明

BLOCKS

バックアップのデータ・ファイルのブロック・サイズ。

BLOCKS_READ

このバックアップの実行中にスキャンされたブロック数。このバックアップが増分バックアップで、バックアップの最適化にブロック・チェンジ・トラッキングが使用された場合、この列の値はDATAFILE_BLOCKSより小さくなります。それ以外の場合、この列の値はDATAFILE_BLOCKSと同じになります。

BLOCKS_SKIPPED_IN_CELL

RMAN増分バックアップを最適化するために、Oracle Exadata Storage Serverで読み取られてフィルタ処理されたブロック数。

DATAFILE_BLOCKS

バックアップ時のデータ・ファイルのブロック・サイズ。この値は、このバックアップから再起動されたデータ・ファイルによって取得されたブロック数にもなります。

Oracle Exadata Storage Server Softwareでスキップされるブロックの割合は次のように計算されます。

(BLOCKS_SKIPPED_IN_CELL / BLOCKS_READ) * 100

この数は、ブロック・チェンジ・トラッキングに基づいて大幅に変化します。

高速の増分バックアップ用にブロック・チェンジ・トラッキングが使用されている場合、ほとんどのフィルタ処理は変更トラッキング・ファイルを使用してデータベースで実行され、ブロックはI/Oリクエストをセルに発行するまでスキップされます。ブロック・チェンジ・トラッキングが使用されていない場合は、すべてのブロックがセルでフィルタ処理されます。

7.5.3 Oracle Exadata Storage Server SoftwareでのV$SYSSTATの使用

V$SYSSTATビュー問合せを実行すると、Oracle Exadata Storage Server Softwareの有効性の計算に使用できる統計を取得できます。

表7-14 V$SYSSTATビューのキー統計

統計 説明

cell flash cache read hits

Exadataフラッシュ・キャッシュでキャッシュ・ヒットした読取りリクエストの数。

cell IO uncompressed bytes

セルで処理された非圧縮データの合計サイズ。ハイブリッド列圧縮表に対するスキャンでは、この統計が解凍後のデータのサイズになります。

cell overwrites in flash

ディスクに書き込まれていなかったExadataスマート・フラッシュ・キャッシュの既存のミラーを上書きしたミラー書込みリクエストの合計数。この統計はミラー書込みが1回行われるたびに増分されます。

cell partial writes in flash

Exadataスマート・フラッシュ・キャッシュとディスクの両方に書き込まれたミラー書込みリクエストの合計数。データの一部はフラッシュに書き込まれ、残りはディスクに書き込まれました。この統計はミラー書込みが1回行われるたびに増分されます。

cell physical IO bytes eligible for predicate offload

処理がセルにオフロードされたときに物理ディスクで処理されたI/Oバイト数の合計。

cell physical IO bytes saved by storage index

ストレージ索引によって保存されたバイト数。

cell physical IO bytes saved during optimized file creation

ファイル作成操作をセルにオフロードして、データベース・ホストで保存されたI/Oバイト数。この統計は、最適化されたファイル作成操作がOracle Exadata Storage Server Softwareに有効であることを示します。

cell physical IO bytes saved during optimized RMAN file restore

RMANのファイル・リストア操作をセルにオフロードして、データベース・ホストで保存されたI/Oバイト数。この統計は、最適化されたRMANのファイル・リストア操作がOracle Exadata Storage Server Softwareに有効であることを示します。

cell physical IO bytes sent directly to DB node to balance CPU usage

Oracle Exadata Storage ServerでのCPU使用率が原因でデータベース・サーバーに処理のために戻されたI/Oバイト数。

cell physical IO interconnect bytes

インターコネクト(データベース・ホストとセル間)で交換されたI/Oバイト数。

cell physical IO interconnect bytes returned by smart scan

スマート・スキャンのみを対象にセルによって返されたバイト数。他のデータベースI/Oのバイト数は含まれません。

cell writes to flash

Exadataスマート・フラッシュ・キャッシュに完全に書き込まれたミラー書込みリクエストの合計数。この統計はミラー書込みが1回行われるたびに増分されます。

physical read partial requests

Exadataスマート・フラッシュ・キャッシュまたはハード・ディスクの両方で対応できた読取りリクエストの合計数。データの一部はフラッシュ上でダーティであり、残りはディスクから取得されます。

physical read requests optimized

Exadataスマート・フラッシュ・キャッシュまたはストレージ索引で対応できた読取りリクエストの合計数。

physical read snap IO requests no data

子ファイル・レベルで物理I/Oが行われない物理読取りI/Oリクエストの数。

physical read snap IO requests base

ベース・レベルでの物理I/Oの数。

physical read snap IO requests copy

任意のスナップショット階層での物理I/Oの数。

physical read snap bytes base

ベースからの読取りバイト数。

physical read snap bytes copy

スナップショットからの読取りバイト数。

physical write snap IO requests new allocation

スナップショットでの新規割当ての合計数。

physical read total bytes

物理ディスクで処理された読取りのI/Oバイト数の合計。処理がセルにオフロードされた場合とオフロードされなかった場合を含みます。

physical read total bytes optimized

Exadataスマート・フラッシュ・キャッシュまたはストレージ索引から読取られた合計バイト数。

physical read total IO requests

すべてのインスタンス・アクティビティ(アプリケーション、バックアップ、リカバリおよびその他のユーティリティを含む)で1つ以上のデータベース・ブロックを読み取る読取りリクエストの数。

physical write requests optimized

Exadataスマート・フラッシュ・キャッシュにすべてのミラーが書き込まれた書込みリクエストの合計数。

physical write total bytes

物理ディスクで処理された書込みのI/Oバイト数の合計。処理がセルにオフロードされた場合とオフロードされなかった場合を含みます。

physical write total bytes optimized

Exadataスマート・フラッシュ・キャッシュに最初に書き込まれる合計バイト数。これらのバイトはレイジー方式でディスクと同期され、フラッシュ・キャッシュに空き領域が作成されます。

physical write total IO requests

すべてのインスタンス・アクティビティ(アプリケーション・アクティビティ、バックアップ、リカバリおよびその他のユーティリティを含む)により1つ以上のデータベース・ブロックに書き込まれる書込みリクエストの数。

例7-10 V$SYSSTATビューでのセル統計の問合せ

この例は、V$SYSSTATの統計を示しています。

SQL> SELECT name, value/1024/1024 MB from v$sysstat a WHERE
        a.name = 'physical read total bytes' OR
        a.name = 'physical write total bytes' OR
        a.name = 'cell physical IO interconnect bytes' OR
        a.name = 'cell physical IO bytes eligible for predicate offload' OR
        a.name = 'cell physical IO bytes saved during optimized file creation' OR
        a.name = 'cell physical IO bytes saved during optimized RMAN file restore'
        OR
        a.name = 'cell IO uncompressed bytes' OR
        a.name = 'cell physical IO interconnect bytes returned by smart scan' OR
        a.name = 'cell physical IO bytes saved by storage index';
 
 
NAME                                                                          MB
----------------------------------------------------------------------------------
physical read total bytes                                                  5425.11
physical write total bytes                                                   26.24
cell physical IO interconnect bytes                                         550.94
cell physical IO bytes saved during optimized file creation                      0
cell physical IO bytes saved during optimized RMAN file restore                  0
cell physical IO bytes eligible for predicate offload                      5372.53
cell physical IO bytes saved by storage index                                    0
cell physical IO interconnect bytes returned by smart scan                  472.12
cell IO uncompressed bytes                                                 5372.53
 
9 rows selected.

次の計算を実行することで、実行されたディスクI/Oの量を特定できます。

physical read total bytes  + physical write total bytes - cell physical IO bytes
saved by storage index

関連項目

  • 『Oracle Databaseリファレンス』

7.5.3.1 書込み統計の監視

Exafusion Direct-to-Wireプロトコルを使用すると、Oracle Real Applications Cluster (Oracle RAC)インターコネクト全体にわたるキャッシュ・ブロックを読み取って処理するプロセスがInfiniBandネットワークを介してメッセージを直接送受信できるようになります。書込み統計は、V$SYSSTATビューを使用して監視できます。次の表は、セルの書込み統計の一覧です。

表7-15 セルの監視用の書込み統計

統計 説明

cell physical write IO bytes eligible for offload

この書込みイベントは、高スループットの書込みオフロードに適格となった書込みI/Oバイトの合計数です。

cell physical write IO host network bytes written during offload

この書込みイベントは、高スループットの書込みオフロードに適格となり、論理書込みを作成したデータベース・サーバー・プロセスから直接書き込まれた書込みI/Oバイトの合計数です。

cell logical write IO requests

この書込みイベントは、プロセスによって発行された論理書込みリクエストの合計数です。

cell logical write IO requests eligible for offload

この書込みイベントは、高スループットの書込みオフロード・モードに適格となった論理書込みリクエストの合計数です。

7.5.4 Oracle Exadata Storage Server SoftwareでのV$SEGMENT_STATISTICSの使用

V$SEGMENT_STATISTICSビューは、セグメント・ベースの統計を示したものです。

セグメント・レベルの統計は、セルから最適化読取りを実行中の表または索引などの固有のオブジェクトの検出に使用できます。optimized physical readセグメント統計は、Exadataスマート・フラッシュ・キャッシュまたはストレージ索引から読取られたオブジェクトの読取りリクエスト数を提供します。optimized physical read統計は、Exadataスマート・フラッシュ・キャッシュに最初に実行されたオブジェクトの書込みリクエスト数を提供します。これらの書込みリクエストは、後でレイジー方式でディスクと同期し、フラッシュに空き領域を作成できます。

例7-11 V$SEGMENT_STATISTICSビューの使用

この例は、セルから1000を超える最適化読取りを実行したすべてのオブジェクトを返す問合せを示しています。同様な問合せを使用して、ほとんど最適化読取りを実行しなかったオブジェクトを特定できます。

SELECT object_name, value FROM V$segment_statistics WHERE \
statistic_name='optimized physical reads' AND value>1000 ORDER BY value;

7.5.5 Oracle Exadata Storage Server SoftwareでのV$SQLの使用

V$SQLビューでは、共有SQL領域の統計が表示され、入力した元のSQLテキストの子が1行ずつ表示されます。

V$SQLビューの次の列を問い合せて、physical I/O read disk bytes、physical I/O write disk bytes、cell physical I/O interconnect bytes、cell physical I/O bytes eligible for predicate offload、cell uncompressed bytes、cell interconnect bytes returned for Smart Scan、およびExadataスマート・フラッシュ・キャッシュまたはストレージ索引によって返された物理的な読取りリクエスト数を確認できます。

  • PHYSICAL_READ_BYTES

  • PHYSICAL_WRITE_BYTES

  • IO_INTERCONNECT_BYTES

  • IO_CELL_OFFLOAD_ELIGIBLE_BYTES

  • IO_CELL_UNCOMPRESSED_BYTES

  • IO_CELL_OFFLOAD_RETURNED_BYTES

  • OPTIMIZED_PHY_READ_REQUESTS

ビューで返される値は、特定のインスタンスのパラレル問合せで読み取られるバイト数になります。

注意:

前述の列は、次のビューでも使用できます。

  • V$SQLAREA

  • V$SQLAREA_PLAN_HASH

  • V$SQLSTATS

  • V$SQLSTATS_PLAN_HASH

例7-12 V$SQLビューの問合せ

この例は、Oracle Exadata Storage Server Softwareのオフロード処理のパフォーマンス・データを返す問合せを示しています。WHERE条件は、対象のV$SQLコマンドのみを選択するために使用されています。この問合せでは、SALES表がスキャンされています。問合せでV$SQLに格納されるパフォーマンス・データは、SALES表のデータ(約5GB)がすべてオフロード処理に使用されていることを示しています。Oracle Exadata Storage Server Softwareのオフロード処理が有効なため、データベース・ホストにはネットワーク経由で417MBのデータしか配信されていません。

SELECT sql_text,
       io_cell_offload_eligible_bytes/1024/1024 cell_offload_eligible_mb,
       io_cell_uncompressed_bytes/1024/1024 io_uncompressed_mb,
       io_interconnect_bytes/1024/1024 io_interconnect_mb,
       io_cell_offload_returned_bytes/1024/1024 cell_return_bytes_mb,
       (physical_read_bytes + physical_write_bytes)/1024/1024 io_disk_mb 
       FROM v$sql WHERE
       sql_text LIKE '%from sales%';
SQL_TEXT CELL_OFFLOAD_ELIGIBLE_MB IO_UNCOMPRESSED_MB IO_INTERCONNECT_MB CELL_RETURN_BYTES_MB 
IO_DISK_MB
---------------------------------------------------------------------------------------------
select count(*) from sales
5283.06   5283.06  520.34  417.65  5385.75

7.5.6 V$CELL_STATEを使用したOracle Exadata Storage Server Softwareのパフォーマンス統計の表示

V$CELL_STATEビューでは、データベース・クライアントからアクセス可能なすべてのセルの状態を表示します。

状態には、セル・サーバー(CELLSRV)のネットワーク・レイヤー情報、スケジューリング・レイヤー情報、セル・サーバーの構成情報などのキー・パフォーマンス統計が含まれます。このビューはOracleサポート・サービスで使用されます。

表7-16 V$CELL_STATE列および説明

説明

CELL_NAME

セルのIPアドレスを指定する文字列(最大400文字)。これらは、cellip.oraファイルで指定されるIPアドレスです。

次に例を示します。

172.16.50.28

STATISTICS_TYPE

統計タイプ(thread_statsなど)。

OBJECT_NAME

特定の統計タイプのキー(例: STATISTICS_TYPEthread_statsの場合はスレッドID)。

STATISTICS_VALUE

XML文書の実際の統計値(属性と値のペア)。

例7-13 V$CELL_STATEビューからの統計の表示

この例は、読取り可能な形式のSTATISTICS_VALUE列の情報を取得する方法を示しています。

SQL> SPOOL /tmp/cell_state_080619.log
SQL> SET PAGESIZE 10000
SQL> SET LONG 500000
SQL> SELECT  statistics_type, XMLTYPE(statistics_value) FROM v$cell_state;
SQL> SPOOL OFF

7.5.7 V$CELL_THREAD_HISTORYを使用したOracle Exadata Storage Server Softwareのスレッドの表示

V$CELL_THREAD_HISTORYビューには、データベース・クライアントに表示されるセルのスレッドからセル・サーバーによって取得されるサンプルが含まれます。

このビューはOracleサポート・サービスで使用されます。

表7-17 V$CELL_THREAD_HISTORY列および説明

説明

CELL_NAME

セルのIPアドレスを指定する文字列(最大400文字)。これらは、cellip.oraファイルで指定されるIPアドレスです。

次に例を示します。

172.16.50.28

SNAPSHOT_ID

スナップショットのID(NUMBER)。

SNAPSHOT_TIME

スナップショットの日時。

THREAD_ID

スレッドID(NUMBER)。

JOB_TYPE

スナップショットの取得時にスレッドで実行されていたジョブ。

WAIT_STATE

待機場所が存在する場合にその場所を示す一意の状態。

WAIT_OBJECT_NAME

待機対象のオブジェクト(存在する場合)。たとえば、mutex名があります。

SQL_ID

実行中のジョブでクライアントが処理していたSQLコマンドの識別子。

DATABASE_ID

データベースのID(NUMBER)。

INSTANCE_ID

インスタンスのID(NUMBER)。

SESSION_ID

セッションのID(NUMBER)。

SESSION_SERIAL_NUM

セッション・シリアル番号(NUMBER)。

7.5.8 Oracle Exadata Storage Server SoftwareでのV$CELL_REQUEST_TOTALSの使用

V$CELL_REQUEST_TOTALSビューには、セルで実行中のリスクエストのタイプおよび頻度の履歴ビューが含まれています。

セル・サーバーでは、これらのリクエストを定期的にサンプリングし、このビューで使用できるように格納します。このビューはOracleサポート・サービスで使用されます。

表7-18 V$CELL_REQUEST_TOTALS列および説明

説明

CELL_NAME

セルのIPアドレスを指定する文字列(最大400文字)。これらは、cellip.oraファイルで指定されるIPアドレスです。

次に例を示します。

172.16.51.28

SNAPSHOT_ID

スナップショットのID(NUMBER)。

SNAPSHOT_TIME

スナップショットの日時。

STATISTICS_NAME

統計の名前。

STATISTICS_VALUE

統計の値。

7.5.9 V$ASM_DISK_SPARSE and V$ASM_DISKGROUP_SPARSEを使用したスパース・ディスクの監視

V$ASM_DISK_SPARSEビューおよびV$ASM_DISKGROUP_SPARSEビューにはスパース・ディスクに関する情報が含まれます。

表7-19 V$ASM_DISK_SPARSE列および説明

説明

GROUP_NUMBER

ディスクを含むディスク・グループの番号。

DISK_NUMBER

このディスク・グループ内のディスクに割り当てられた番号。

INCARNATION

ディスクのインカネーション番号。

ALLOCATED_MAT_MB

ディスク上の使用済物理容量およびマテリアライズド容量の合計。

TOTAL_MAT_MB

ディスク上の物理容量の合計。

SPARSE_READS

ディスクの非マテリアライズド・リージョンのI/O読取りリクエストの合計。

SPARSE_BYTES_READ

ディスクの非マテリアライズド・リージョンから読み取ったバイト数の合計。

SPARSE_READ_TIME

スパース読取りI/O操作にかかった時間。

表7-20 V$ASM_DISKGROUP_SPARSE列および説明

説明

GROUP_NUMBER

ディスク・グループに割り当てられたクラスタ全体の番号。

ALLOCATED_MAT_MB

ディスク・グループの使用済物理容量およびマテリアライズド容量の合計。

TOTAL_MAT_MB

ディスク・グループの物理容量の合計。

7.6 Oracle Exadata Storage Server Softwareの待機イベントの理解

Oracle Exadata Storage Server用に設計された待機イベントでは、アクセス中のセルおよびグリッド・ディスクが直接表示されるため、従来型のストレージに対するディスクI/Oではなく、Oracle Exadata Storage Serverに対するディスクI/Oの待機イベントのセットを使用します。この情報は、従来型のストレージの待機イベントで提供されるデータベースのfile#およびblock#の情報よりも、パフォーマンスおよび診断の用途に便利です。待機イベントに関する情報は、V$動的パフォーマンス・ビューに表示されます。

注意:

V$SESSION_ACTIVE_HISTORYビューは、待機イベントの分析に使用できます。このビューでは、発生したイベント、問合せの実行時期、および問合せの実行方法が表示されます。また、問合せが待機する必要のあったイベントも表示されます。

この項の内容は次のとおりです。

関連項目

  • V$SESSION_WAIT
  • V$SYSTEM_EVENT
  • V$SESSION_EVENT

7.6.1 Oracle Exadata Storage Server Softwareの待機イベントの監視

次の表は、セルの監視に役立つ待機イベントの一覧です。

表7-21 セルの監視に役立つ待機イベント

待機イベント 説明

cell interconnect retransmit during physical read

この待機イベントは、単一ブロック読取りまたはマルチブロック読取りのI/Oの再転送中に表示されます。V$SESSION_WAITビューのP1列のセル・ハッシュ番号は、cell single block physical readおよびcell multiblock physical readで識別されるセルと同じです。P2列には、セルに対するサブネット番号が格納され、P3列には、I/O読取り操作中に処理されたバイト数が格納されます。

cell list of blocks physical read

この待機イベントは、セルのdatabase file parallel readと同等です。このイベントのV$SESSION_WAITビューのP1列、P2列およびP3列は、セルのハッシュ番号、ディスクのハッシュ番号、I/O読取り操作中に処理されたブロック数をそれぞれ表します。

cell multiblock physical read(セルの複数ブロックの物理読込み)

この待機イベントは、セルのdb file scattered readと同等です。このイベントのV$SESSION_WAITビューのP1列、P2列およびP3列は、セルのハッシュ番号、ディスクのハッシュ番号、I/O読取り操作中に処理された合計バイト数をそれぞれ表します。

cell single block physical read(セルの単一ブロックの物理読込み)

この待機イベントは、セルのdb file sequential readと同等です。このイベントのV$SESSION_WAITビューのP1列、P2列およびP3列は、セルのハッシュ番号、ディスクのハッシュ番号、I/O読取り操作中に処理された合計バイト数をそれぞれ表します。

cell smart file creation(セルのスマート・ファイル作成)

この待機イベントは、セルでファイル作成が完了するのをデータベースが待機しているときに表示されます。このイベントのV$SESSION_WAITビューのP1列のセル・ハッシュ番号では、他のセルに比べて遅いセルを識別できます。

cell smart incremental backup(セルのスマート増分バックアップ)

この待機イベントは、セルで増分バックアップが完了するのをデータベースが待機しているときに表示されます。このイベントのV$SESSION_WAITビューのP1列のセル・ハッシュ番号では、他のセルに比べて遅いセルを識別できます。

cell smart index scan(セルのスマート索引スキャン)

この待機イベントは、索引または索引構成表(IOT)の高速全スキャンが完了するのをデータベースが待機しているときに表示されます。このイベントのV$SESSION_WAITビューのP1列のセル・ハッシュ番号では、他のセルに比べて遅いセルを識別できます。

cell smart restore from backup(バックアップからのセルのスマート・リストア)

この待機イベントは、セルでバックアップからのリストアのファイル初期化が完了するのをデータベースが待機しているときに表示されます。このイベントのV$SESSION_WAITビューのP1列のセル・ハッシュ番号では、他のセルに比べて遅いセルを識別できます。

cell smart table scan(セルのスマート表スキャン)

この待機イベントは、セルで表スキャンが完了するのをデータベースが待機しているときに表示されます。このイベントのV$SESSION_WAITビューのP1列のセル・ハッシュ番号では、他のセルに比べて遅いセルを識別できます。

cell sparse block physical read

この待機イベントは、I/Oがデータを返さなかったときに表示されます。

cell statistics gather

この待機イベントは、V$CELL_STATE表、V$CELL_THREAD_HISTORY表またはV$CELL_REQUEST_TOTALS表で選択が実行されると表示されます。この待機イベントには、選択時のセルからのデータおよび待機イベントが表示されます。

これらの待機イベントにセルのハッシュ番号またはディスクのハッシュ番号が関連付けられている場合は、値をV$CELLCELL_HASHVAL列およびV$ASM_DISKHASH_VALUE列と結合することにより、遅いセルまたはディスクを識別できます。

7.6.2 V$SESSION_WAITを使用したセッションの監視

V$SESSION_WAITビューには、各セッションの現在または最新の待機イベントが表示されます。

例7-14 V$SESSION_WAITビューの使用

この例は、V$SESSION_WAITビュー問合せを実行する方法を示しています。2番目のSELECT問合せで、セルのパスおよびディスク名が表示されます。

SELECT w.event, w.p1, w.p2, w.p3 FROM V$SESSION_WAIT w, V$EVENT_NAME e 
       WHERE e.name LIKE 'cell%' AND e.wait_class_id = w.wait_class_id;

SELECT w.event, c.cell_path, d.name, w.p3 FROM V$SESSION_WAIT w,
       V$EVENT_NAME e, V$ASM_DISK d, V$CELL c
       WHERE e.name LIKE 'cell%' AND e.wait_class_id = w.wait_class_id
       AND w.p1 = c.cell_hashval AND w.p2 = d.hash_value;

7.6.3 V$SYSTEM_EVENTを使用した待機イベントの監視

V$SYSTEM_EVENTビューには、待機イベントの合計数に関する情報が表示されます。

例7-15 V$SYSTEM_EVENTビューの使用

この例は、V$SYSTEM_EVENTビュー問合せを実行する方法を示しています。

SELECT s.event FROM V$SYSTEM_EVENT s, V$EVENT_NAME e WHERE e.name LIKE 'cell%'
       AND e.event_id = s.event_id;

7.6.4 V$SESSION_EVENTを使用したセッション別のイベントの監視

V$SESSION_EVENTビューには、セッション別の待機イベントに関する情報が表示されます。

例7-16 V$SESSION_EVENTビューの使用

この例は、V$SESSION_EVENTビュー問合せを実行する方法を示しています。

SELECT s.event FROM V$SESSION_EVENT s, V$EVENT_NAME e WHERE e.name LIKE 'cell%'
       AND e.event_id = s.event_id;

7.7 パフォーマンスの最適化

この項では、Oracle Exadata Storage Server Softwareのパフォーマンスを最適化するための設定について説明します。この項には次のトピックが含まれます:

7.7.1 Exadataハイブリッド列圧縮について

Exadataハイブリッド列圧縮では、行のグループの同じ列がまとめてデータベースに格納されます。データベースの列値をまとめて格納することで、圧縮アルゴリズムの効率性が向上します。行は、データ・ブロックに行優先形式で格納されません。データベースでは、任意のSQL操作によって処理されるデータを圧縮しますが、ダイレクト・パス・ロードでは圧縮レベルがより高くなります。

Exadataハイブリッド列圧縮により、サイズを大幅に削減できます。データベース操作は圧縮オブジェクトに対して透過的に実行されるため、アプリケーションを変更する必要はありません。

ユーザーの要件に応じて、次のタイプのExadataハイブリッド列圧縮を指定できます。

  • ウェアハウス圧縮: このタイプの圧縮は、問合せパフォーマンス用に最適化されており、データ・ウェアハウス・アプリケーション向けです。

  • アーカイブ圧縮: このタイプの圧縮は、最大の圧縮レベル用に最適化されており、履歴データおよび変更されないデータ向けです。

たとえば、Exadataハイブリッド列圧縮をdaily_sales表に適用するとします。1日の終わりに、品目と販売数が表に移入され、品目IDと日付がコンポジット主キーになります。表7-22は、行のサブセットを示しています。

表7-22 サンプル表daily_sales

Item_ID Date Num_Sold Shipped_From Restock

1000

01-JUN-07

2

WAREHOUSE1

Y

1001

01-JUN-07

0

WAREHOUSE3

N

1002

01-JUN-07

1

WAREHOUSE3

N

1003

01-JUN-07

0

WAREHOUSE2

N

1004

01-JUN-07

2

WAREHOUSE1

N

1005

01-JUN-07

1

WAREHOUSE2

N

データベースでは、圧縮ユニットと呼ばれる内部構造に行のセットを格納します。たとえば、表7-22の行が1つのユニットに格納されるとします。Exadataハイブリッド列圧縮では、値を行にマップするメタデータとともに、列4の一意の値をそれぞれ格納します。概念上は、圧縮値は次のように表現されます。

WAREHOUSE1WAREHOUSE3WAREHOUSE2

次に、データベースでは、この値で繰り返されているWAREHOUSEという語を圧縮するために、この語を1回だけ格納し、その各出現箇所を参照で置き換えます。参照のサイズが元の語より小さければ、データベースは圧縮に成功したことになります。圧縮の利点は、一意の値が1つのみ含まれるDate列で特に明らかです。

図7-1に示すように、各圧縮ユニットは、複数のデータ・ブロックにまたがることができます。特定の列の値は、複数のブロックにまたがる場合とまたがらない場合があります。

Exadataハイブリッド列圧縮では、暗黙的に行がロックされます。非圧縮のデータ・ブロックで行の更新が発生した場合、更新される行のみがロックされます。これに対して、更新が圧縮ユニットのいずれかの行で発生した場合、データベースではそのユニットのすべての行をロックする必要があります。Exadataハイブリッド列圧縮を使用して行を更新すると、ROWIDが変更されます。

注意:

表でExadataハイブリッド列圧縮を使用する場合、Oracle DMLでは、比較的大きなデータ・ブロック(圧縮ユニット)がロックされるため、同時実行性が低下する可能性があります。

Oracle Databaseでは、表の圧縮で4つの方法がサポートされます。表7-23は、各方法の概要を示しています。

表7-23 表の圧縮方法

表の圧縮方法 圧縮レベル CPUオーバーヘッド アプリケーション

基本圧縮

高い

最低

DSS

OLTP圧縮

高い

最低

OLTP、DSS

ウェアハウス圧縮

より高い(圧縮レベルは、指定された圧縮レベル(LOWまたはHIGH)に応じて変化します)

より高い(CPUオーバーヘッドは、指定された圧縮レベル(LOWまたはHIGH)に応じて変化します)

DSS

アーカイブ圧縮

最高(圧縮レベルは、指定された圧縮レベル(LOWまたはHIGH)に応じて変化します)

最高(CPUオーバーヘッドは、指定された圧縮レベル(LOWまたはHIGH)に応じて変化します)

アーカイブ

ウェアハウス圧縮とアーカイブ圧縮では、Exadataハイブリッド列圧縮テクノロジが使用されるため、最高の圧縮レベルが実現します。Exadataハイブリッド列圧縮テクノロジでは、行優先ストレージではなく、修正された形式の列指向ストレージが使用されます。これにより、データベースでは、同様のデータをまとめて格納できるため、圧縮アルゴリズムの効率性が向上します。Exadataハイブリッド列圧縮では、DMLでCPUオーバーヘッドが多く必要とされるため、更新頻度の低いデータにのみこの圧縮機能を使用してください。

より高い圧縮レベルのExadataハイブリッド列圧縮は、ダイレクト・パス・インサートが行われるデータでのみ実現されます。従来の挿入および更新もサポートされますが、その場合はより低い圧縮形式となり、圧縮レベルも低下します。

次の表は、表の各圧縮方法の特徴を示しています。

表7-24 表の圧縮の特徴

表の圧縮方法 CREATE/ALTER TABLEの構文 ダイレクト・パス・インサート DML

基本圧縮

COMPRESS [BASIC]

COMPRESSCOMPRESS BASICは同等です

注意:

  • 挿入および更新された行は圧縮されません。

OLTP圧縮

COMPRESS FOR OLTP

ウェアハウス圧縮

COMPRESS FOR QUERY [LOW|HIGH]

注意:

  • CPUオーバーヘッドが高くなります。

  • 挿入および更新された行は、より低い圧縮形式でブロックに配置されるため、圧縮レベルは低下します。

アーカイブ圧縮

COMPRESS FOR ARCHIVE [LOW|HIGH]

注意:

  • 挿入および更新された行は圧縮されません。

  • 挿入および更新された行は、より低い圧縮形式でブロックに配置されるため、圧縮レベルは低下します。

COMPRESS FOR QUERY HIGHオプションは、デフォルトのデータ・ウェアハウス圧縮モードです。これにより、適切な圧縮およびパフォーマンスが実現します。COMPRESS FOR QUERY LOWオプションは、ロード・パフォーマンスが非常に重要な環境で使用する必要があります。このオプションでは、COMPRESS FOR QUERY HIGHオプションで圧縮されたデータより高速にロードが行われます。

COMPRESS FOR ARCHIVE LOWオプションは、デフォルトのアーカイブ圧縮モードです。これにより、高い圧縮レベルと適切な問合せパフォーマンスが実現します。このオプションは、アクセス頻度の低いデータに適しています。めったにアクセスされないデータに対しては、COMPRESS FOR ARCHIVE HIGHオプションを使用する必要があります。

DBMS_COMPRESSIONパッケージで提供される圧縮アドバイザを使用すると、特定の表に特定の圧縮方法を適用したときに予想される圧縮レベルを確認できます。

表の圧縮は、CREATE TABLEコマンドのCOMPRESS句で指定します。既存の表で圧縮を有効にするには、ALTER TABLE文でこれらの句を使用します。この場合、圧縮の有効後に挿入または更新されたデータのみが圧縮されます。同様に、既存の圧縮表で表の圧縮を無効にするには、ALTER TABLE...NOCOMPRESSコマンドを使用します。この場合、すでに圧縮されているすべてのデータは圧縮されたままですが、新規データは圧縮されずに挿入されます。

7.7.1.1 表が圧縮されているかどうかの確認

*_TABLESデータ・ディクショナリ・ビューで、圧縮表にはCOMPRESSION列にENABLEDと表示されます。パーティション表では、この列はNULLですが、*_TAB_PARTITIONSビューのCOMPRESSION列に、圧縮されているパーティションが表示されます。また、COMPRESS_FOR列には、表またはパーティションで使用中の圧縮方法が表示されます。

SQL> SELECT table_name, compression, compress_for FROM user_tables;
 
TABLE_NAME       COMPRESSION   COMPRESS_FOR
---------------- ------------  -----------------
T1               DISABLED
T2               ENABLED       BASIC
T3               ENABLED       OLTP
T4               ENABLED       QUERY HIGH
T5               ENABLED       ARCHIVE LOW

SQL> SELECT table_name, partition_name, compression, compress_for
  FROM user_tab_partitions;

TABLE_NAME  PARTITION_NAME   COMPRESSION   COMPRESS_FOR
----------- ---------------- -----------   ------------------------------
SALES       Q4_2004          ENABLED       ARCHIVE HIGH
  ...
SALES       Q3_2008          ENABLED       QUERY HIGH
SALES       Q4_2008          ENABLED       QUERY HIGH
SALES       Q1_2009          ENABLED       OLTP
SALES       Q2_2009          ENABLED       OLTP

7.7.1.2 圧縮されている行の確認

Exadataハイブリッド列圧縮表が更新されると、行はCOMP_FOR_QUERY_HIGHからCOMP_FOR_OLTPまたはCOMP_NOCOMPRESSなどの低レベルの圧縮に変更されます。行の圧縮レベルを確認するには、次の問合せを使用します。

DBMS_COMPRESSION.GET_COMPRESSION_TYPE (
   ownname    IN    VARCHAR2, 
   tabname    IN    VARCHAR2, 
   row_id     IN    ROWID)
  RETURN NUMBER;

表の行をサンプリングすることで、高レベルの圧縮ではなくなった行の割合を確認できます。ALTER TABLEまたはMOVE PARTITIONを使用すると、行をより高い圧縮レベルに設定できます。たとえば、行の10%が最高の圧縮レベルでなくなった場合、それらの行をより高い圧縮レベルに変更または移行できます。

関連項目

  • Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス

7.7.1.3 圧縮レベルの変更

パーティション、表または表領域の圧縮レベルは、変更できます。たとえば、ある企業でその売上データにウェアハウス圧縮を使用している一方で、6か月より古い売上データにはめったにアクセスしないとします。売上データがその経過時間に基づいてパーティション化された表に格納されている場合、古いデータの圧縮レベルをアーカイブ圧縮に変更して、ディスク領域を解放できます。

表がパーティション化されている場合、DBMS_REDEFINITIONパッケージを使用して表の圧縮レベルを変更できます。このパッケージでは、表の再定義をオンラインで実行するために、再定義中に表のデータを保持する一時コピーを作成します。再定義される表は、再定義中でも引き続き問合せやDML文に対応できます。オンラインでの表の再定義に使用される空き領域の容量は、既存の表と新しい表の相対的な圧縮レベルに応じて変化します。DBMS_REDEFINITIONパッケージを使用する前に、システム上に十分なハード・ディスク領域が存在することを確認してください。

表がパーティション化されていない場合、ALTER TABLE...MOVE...COMPRESS FOR...コマンドを使用して圧縮レベルを変更できます。ALTER TABLE...MOVEコマンドでは、コマンドの実行中に表に対するDML文は許可されません。

パーティションの圧縮レベルを変更するには、ALTER TABLE...MODIFY PARTITIONコマンドを使用します。表領域の圧縮レベルを変更するには、ALTER TABLESPACEコマンドを使用します。

7.7.1.4 Exadataハイブリッド列圧縮表のインポートおよびエクスポート

Exadataハイブリッド列圧縮表は、データ・ポンプのインポート・ユーティリティのimpdpコマンドを使用してインポートできます。デフォルトでは、impdpコマンドは表プロパティを保存し、インポートされた表はExadataハイブリッド列圧縮表となります。表はexpdpコマンドでエクスポートすることもできます。

Exadataハイブリッド列圧縮をサポートしていない表領域では、impdpコマンドは失敗し、次のエラーが表示されます。

ORA-6430: hybrid columnar compression is only supported in tablespaces residing on
Exadata storage

Exadataハイブリッド列圧縮表は、 impdpコマンドのTRANSFORM:SEGMENT_ATTRIBUTES=nオプション句を使用して、非圧縮表としてインポートできます。

非圧縮表またはOLTP圧縮表は、インポート中にExadataハイブリッド列圧縮形式に変換できます。Exadata以外のハイブリッド列圧縮表をExadataハイブリッド列圧縮表に変換するには、次のようにします。

  1. ALTER TABLESPACE ... SET DEFAULT COMPRESSコマンドを使用して、表領域のデフォルト圧縮を指定します。
  2. インポート中にインポートされた表のSEGMENT_ATTRIBUTESオプションを上書きします。

7.7.1.5 Exadataハイブリッド列圧縮表のリストア

Exadataハイブリッド列圧縮表をバックアップからリストアする必要がある場合があります。表はExadataハイブリッド列圧縮をサポートしているシステム、またはExadataハイブリッド列圧縮をサポートしていないシステムにリストアできます。Exadataハイブリッド列圧縮が含まれる表をExadataハイブリッド列圧縮をサポートしているシステムにリストアする場合は、通常どおり、Oracle Recovery Manager (RMAN) を使用してファイルをリストアします。

Exadataハイブリッド列圧縮表がExadataハイブリッド列圧縮をサポートしていないシステムにリストアされている場合は、表をExadataハイブリッド列圧縮からOLTP圧縮形式または非圧縮形式に変換する必要があります。表をリストアするには、次のようにします。

  1. Oracle Exadata Storage Server以外の環境に、非圧縮形式またはOLTP圧縮形式のデータを保存するのに十分なストレージがあることを確認します。
  2. RMANを使用して、Exadataハイブリッド列圧縮表領域をリストアします。
  3. 次のコマンドを使用して、データ圧縮をExadataハイブリッド列圧縮からNOCOMPRESSに変更します。
    ALTER TABLE table_name MOVE NOCOMPRESS
    
  4. 各パーティションを変更するには、次のコマンドを使用します。
    ALTER TABLE table_name MOVE PARTITION partition_name NOCOMPRESS
    

    各パーティションは個別に変更します。

  5. 次のコマンドを使用して、データを並列で移動します。
    ALTER TABLE table_name MOVE NOCOMPRESS PARALLEL
    
  6. 次のコマンドを使用して、データ圧縮をExadataハイブリッド列圧縮からOLTP COMPRESSに変更します。
    ALTER TABLE table_name MOVE COMPRESS for OLTP
    

関連項目

  • 『Oracle Databaseバックアップおよびリカバリ・アドバンスト・ユーザーズ・ガイド』
  • Oracle Database SQL言語リファレンス

7.7.2 SQL処理のオフロードについて

表スキャンおよび索引スキャンを実行する問合せのパフォーマンスを最適化するために、データベースではデータ検索および取得処理をストレージ・セルにオフロードできます。この機能は、初期化パラメータのCELL_OFFLOAD_PROCESSINGおよびCELL_OFFLOAD_PLAN_DISPLAYで管理されます。

7.7.2.1 CELL_OFFLOAD_PROCESSING

CELL_OFFLOAD_PROCESSING初期化パラメータでは、SQL処理をOracle Exadata Storage Serverにオフロードできます。パラメータの値をTRUEに設定すると、条件評価をセルにオフロードできます。このパラメータのデフォルト値はTRUEです。セッション・レベルまたはシステム・レベルでパラメータの値をFALSEに設定すると、データベースでは、ブロックを使用するセルですべての条件評価が実行されます。SQLのALTER SYSTEMコマンドまたはALTER SESSIONコマンドを使用すると、CELL_OFFLOAD_PROCESSINGを動的に設定できます。次に例を示します。

SQL> ALTER SESSION SET CELL_OFFLOAD_PROCESSING = TRUE;

OPT_PARAMオプティマイザ・ヒントを使用してCELL_OFFLOAD_PROCESSINGパラメータを設定することもできます。これにより、特定のSQLコマンドで条件のフィルタ処理の有効/無効を切り替えることができます。次に例を示します。

-- to disable cell_offload_processing for a SQL command
SELECT /*+ OPT_PARAM('cell_offload_processing' 'false') */ COUNT(*) FROM EMPLOYEES;

-- to enable cell_offload_processing for a SQL command
SELECT /*+ OPT_PARAM('cell_offload_processing' 'true') */ COUNT(*) FROM EMPLOYEES;

注意:

CELL_OFFLOAD_PROCESSING初期化パラメータを使用して、Oracle Exadata Storage Serverと従来型のストレージのパフォーマンスを比較することはできません。CELL_OFFLOAD_PROCESSINGをFALSEに設定した場合でも、Oracle Exadata Storage Serverには従来型のストレージよりも多くの利点があります。Oracle Exadata Storage Serverは、サイズの大きい問合せを高速に処理できるように最適化されています。セル内にコントローラまたはその他のレベルのボトルネックが発生することはありません。Oracle Exadata Storage Server Softwareでは、最新のスケールアウト・アーキテクチャと、従来型のストレージ・ネットワークよりも非常に高いスループットを可能にするInfiniBandネットワークを使用しています。Oracle Exadata Storage Server SoftwareはOracle Databaseと密接に統合されており、設定、実行、監視、診断、リソース管理および破損防止のための独自の機能が用意されています。

関連項目

  • Oracle Database SQL言語リファレンス

7.7.2.2 CELL_OFFLOAD_PLAN_DISPLAY

データベース・パラメータのCELL_OFFLOAD_PLAN_DISPLAYでは、Oracle Exadata Storage Server Softwareで評価可能な条件を、SQLコマンドのSTORAGE条件としてSQL EXPLAIN PLANコマンドで表示するかどうかを指定します。

CELL_OFFLOAD_PLAN_DISPLAYパラメータの値は、AUTOALWAYSNEVERです。デフォルト値はAUTOです。

  • AUTOでは、SQL EXPLAIN PLANコマンドに、STORAGEとして評価できる条件を表示するように指示します(セルが存在する場合で、そのセルに表がある場合のみ)。

  • ALWAYSでは、Oracle Exadata Storage Server Softwareが存在するかどうか、または表がセル上にあるかどうかに関係なく、Oracle Exadata Storage Server Softwareに基づいてSQL EXPLAIN PLANコマンドが変更されます。この設定を使用して、Oracle Exadata Storage Serverに移行する前にOracle Exadata Storage Serverにオフロード可能な内容を確認できます。

  • NEVERでは、Oracle Exadata Storage Server Softwareに関してSQL EXPLAIN PLANコマンドは変更されません。

SQLのALTER SYSTEMコマンドまたはALTER SESSIONコマンドを使用すると、CELL_OFFLOAD_PLAN_DISPLAYパラメータを動的に設定できます。次に例を示します。

SQL> ALTER SESSION SET CELL_OFFLOAD_PLAN_DISPLAY = ALWAYS;

7.7.2.3 CELL_OFFLOAD_DECRYPTION

CELL_OFFLOAD_DECRYPTION初期化パラメータでは、復号化をOracle Exadata Storage Serverにオフロードできます。この復号化は、暗号化された表領域と列の両方に適用されます。パラメータの値をTRUEに設定すると、復号化をセルにオフロードできます。このパラメータのデフォルト値はTRUEです。システム・レベルでパラメータの値をFALSEに設定すると、データベースでは、ブロックを使用するセルですべての復号化が実行されます。SQL ALTER SYSTEMコマンドを使用すると、CELL_OFFLOAD_DECRYPTIONを動的に設定できます。次に例を示します。

SQL> ALTER SYSTEM SET CELL_OFFLOAD_DECRYPTION = FALSE;

7.7.3 SQLチューニング・アドバイザについて

SQLチューニング・アドバイザでは、1つ以上のSQL文を入力として使用し、自動チューニング・オプティマイザを使用してSQL文のチューニングを実行します。SQLチューニング・アドバイザの実行結果は、アドバイスまたは推奨事項の形式で出力され、推奨事項ごとに論理的根拠および予想される利点が示されます。SQLチューニング・アドバイザでは、次の情報が提供されます。

  • データ不足の統計や古い統計

  • 最適な実行プラン

  • 最適なアクセス・パスおよびオブジェクト

  • 最適なSQL文

Oracle Exadata Storage Server Software固有の統計を収集すると、オプティマイザでOracle Exadataスキャン速度を認識できます。スキャン操作の速度を正確に把握することで、オプティマイザでOracle Exadata環境の最適なプランを選択できるようになります。

Oracle Exadata固有の統計を収集しているかどうかを確認するには、次のコマンドを使用します。

select pname, PVAL1  from aux_stats$ where pname='MBRC';

PVAL1がNULLまたは設定されていない場合、統計は収集されていません。Oracle Exadata固有のシステム統計を収集するには、次のコマンドを使用します。

exec dbms_stats.gather_system_stats('EXADATA');

注意:

Oracle Exadata Storage Server Softwareが最新のパッチ・バンドルを使用している必要があります。

7.7.4 SQLモニターについて

Oracle Databaseには、実行中のSQL文を監視できるSQLモニターがあります。SQLモニターでは、問合せに関する広範囲な統計が提供され、シリアルまたはパラレル問合せを処理できます。SQLモニターは、SQL文でパラレル問合せが実行された場合や、1回の実行でSQL文が5秒以上のCPUまたはI/O時間を消費した場合にデフォルトで起動します。短い問合せを監視するには、MONITORヒントを使用します。

REPORT_SQL_MONITOR関数では、SQL文の実行に関して収集した監視情報のレポートをテキスト、HTMLまたはXML形式で生成します。

7.7.5 サービス管理の品質について

Oracle Exadata Quality of Service Management (QoS Management) を使用すると、システム管理者はOracle Exadata Database Machines上でホストされているアプリケーションのサービス・レベルを管理できます。QoS Managementはポリシー・ベースのアーキテクチャを使用して、正確なランタイム・パフォーマンスとリソース・メトリックを相互に関連付け、エキスパート・システムによってデータを分析してボトルネックを特定し、動的な負荷状態でパフォーマンス目標を満たして維持する推奨リソース調整を作成します。十分なリソースを使用できない場合、QoS Managementはあまりクリティカルではない目標を犠牲にして最も業務上クリティカルな目標を保持します。

QoS Management Memory GuardはOracle Clusterware Cluster Health Monitorと組み合せることで、メモリーのオーバーコミットにより障害の危険性があるサーバーを検出します。新しい接続を自動回避し、既存のワークロードを保持することで、そのような状態に対応します。QoS Managementは十分なメモリーを使用できるときに接続をリストアします。

関連項目

  • Oracle Database Quality of Service Managementユーザーズ・ガイド

7.7.6 障害分離について

Oracle Exadata Storage Server Softwareには、過去のイベントから学習して潜在的な致命的エラーを回避する機能があります。たとえば、過去に不完全なSQL文によってサーバーがクラッシュした場合、Oracle Exadata Storage Server SoftwareはSQL文を検疫し、再度不完全なSQL文が発生した場合は、SQL文がスマート・スキャンを実行できないようにします。これによって、サーバー・ソフトウェアがクラッシュする可能性が減り、ストレージ機能が改善されます。使用できる検疫タイプは、次のとおりです。

  • SQLプラン: SQL文にスマート・スキャンを実行中にOracle Exadata Storage Server Softwareがクラッシュすると作成されます。その結果、SQL文のSQLプランが検疫され、SQL文のスマート・スキャンは無効化されます。

  • ディスク領域: ディスク領域のスマート・スキャンを実行中にOracle Exadata Storage Server Softwareがクラッシュすると作成されます。その結果、1 MBのディスク領域が検疫され、ディスク領域のスマート・スキャンは無効化されます。

  • データベース: Oracle Exadata Storage Server Softwareが特定のデータベースがセルの不安定性を引き起こしていることを検出すると作成されます。不安定性検出は、データベースのSQLプラン検疫数に基づきます。データベースのスマート・スキャンは無効化されます。

  • セル・オフロード: Oracle Exadata Storage Server Softwareが一部のオフロード機能がセルの不安定性を引き起こしたことを検出すると作成されます。不安定性検出はセルのデータベース検疫数に基づきます。すべてのデータベースのスマート・スキャンは無効化されます。

  • Cell-to-Cellオフロード: 詳細は、「Cell-to-Cellオフロード操作に対する隔離マネージャのサポート」を参照してください。

検疫が作成されると、何が検疫され、検疫が作成された理由、検疫を手動で削除できるタイミングと方法、検疫が自動で削除されるタイミングが管理者にアラートで通知されます。セルにパッチが適用またはアップグレードされると、検疫はすべて自動的に削除されます。

CellCLIコマンドは手動で検疫を処理する場合に使用します。たとえば、管理者は検疫を手動で作成、削除、検疫の属性を変更、検疫を表示できます。

7.7.6.1 Cell-to-Cellオフロード操作に対する隔離マネージャのサポート

Exadataの最小ソフトウェア要件: 12.2.1.1.0

隔離マネージャのサポートは、Cell-to-Cellオフロード操作のリバランスおよび高スループット書込みで有効です。これらの操作中にExadataがクラッシュを検出すると、問題のある操作が隔離され、Exadataはオフロードされていない操作を使用する方法に戻ります。

これらのタイプの隔離は、互換性のないバージョンのCELLSRVが原因である可能性があります。ご使用のシステムでこのような隔離が発生した場合は、Oracleサポート・サービスに連絡してください。

リバランス操作の場合、隔離はASMクラスタIDに基づいています。リバランスは、より低速のフォールバック・パスを使用して続行されます。

データベースから発生した高スループット書込みの場合、隔離は、ASMクラスタIDとデータベースIDの組合せに基づいています。

CDBまたはPDBから発生した高スループット書込みの場合、隔離は、ASMクラスタIDとコンテナ・データベースIDの組合せに基づいています。

これらのタイプの隔離を識別するには、LIST QUARANTINE DETAILコマンドを実行し、quarantineType属性の値を確認します。これらの隔離に対するこの属性の値は、ASM_OFFLOAD_REBALANCEおよびHIGH_THROUGHPUT_WRITEです。HIGH_THROUGHPUT_WRITEタイプの場合、データベースのケースとCDBのケースがあります。

LIST QUARANTINE文によって生成される出力は次のようになります。

リバランスの場合:

CellCLI> list quarantine detail
 name:                   2
 asmClusterId:           b6063030c0ffef8dffcc99bd18b91a62
 cellsrvChecksum:        9f98483ef351a1352d567ebb1ca8aeab
 clientPID:              10308
 comment:                None
 crashReason:            ORA-600[CacheGet::process:C2C_OFFLOAD_CACHEGET_CRASH]
 creationTime:           2016-06-23T22:33:30-07:00
 dbUniqueID:             0
 dbUniqueName:           UnknownDBName
 incidentID:             1
 quarantineMode:         "FULL Quarantine"
 quarantinePlan:         SYSTEM
 quarantineReason:       Crash
 quarantineType:         ASM_OFFLOAD_REBALANCE
 remoteHostName:         slc10vwt
 rpmVersion:             OSS_MAIN_LINUX.X64_160623

データベースから発生した高スループット書込みの場合:

CellCLI> list quarantine detail
 name:                   10
 asmClusterId:           b6063030c0ffef8dffcc99bd18b91a62
 cellsrvChecksum:        9f98483ef351a1352d567ebb1ca8aeab
 clientPID:              8377
 comment:                None
 crashReason:            ORA-600[CacheGet::process:C2C_OFFLOAD_CACHEGET_CRASH]
 creationTime:           2016-06-23T23:47:01-07:00
 conDbUniqueID:          0
 conDbUniqueName:        UnknownDBName
 dbUniqueID:             4263312973
 dbUniqueName:           WRITES
 incidentID:             25
 quarantineMode:         "FULL Quarantine"
 quarantinePlan:         SYSTEM
 quarantineReason:       Crash
 quarantineType:         HIGH_THROUGHPUT_WRITE
 remoteHostName:         slc10vwt
 rpmVersion:             OSS_MAIN_LINUX.X64_160623

CDBから発生した高スループット書込みの場合(差異を太字で示します):

CellCLI> list quarantine detail
 name:                   10
 asmClusterId:           eff096e82317ff87bfb2ee163731f7f7
 cellsrvChecksum:        9f98483ef351a1352d567ebb1ca8aeab
 clientPID:              17206
 comment:                None
 crashReason:            ORA-600[CacheGet::process:C2C_OFFLOAD_CACHEGET_CRASH]
 creationTime:           2016-06-24T12:59:06-07:00
 conDbUniqueID:          4263312973 
 conDbUniqueName:        WRITES 
 dbUniqueID:             0 
 dbUniqueName:           UnknownDBName 
 incidentID:             25
 quarantineMode:         "FULL Quarantine"
 quarantinePlan:         SYSTEM
 quarantineReason:       Crash
 quarantineType:         HIGH_THROUGHPUT_WRITE
 remoteHostName:         slc10vwt
 rpmVersion:             OSS_MAIN_LINUX.X64_160623

7.7.7 高速ディスク・スキャン率について

高速ディスク・スキャン率を実現するには、最低4MBの連続領域でセグメントをレイアウトすることが重要です。これにより、ディスク・スキャンでは、ディスク上の異なる場所で別の検索を実行する前に、4MBのデータを読み取ることができます。4MBの連続領域でセグメントをレイアウトするには、Oracle ASMの割当て単位のサイズを4MBに設定し、データ・ファイルのエクステントも最低4MBにする必要があります。割当て単位は、ディスク・グループの作成時にディスク・グループ属性のAU_SIZEで設定できます。

次のSQLコマンドでは、割当て単位のサイズを4MBに設定してディスク・グループを作成します。リリース11.2.0.2およびリリース11.2.0.3の両方のデータベースを統合環境でサポートするために、compatible.rdbms属性は11.2.0.2に設定されます。

SQL> CREATE DISKGROUP data NORMAL REDUNDANCY 
     DISK 'o/*/data_CD*'
     ATTRIBUTE 'compatible.rdbms' = '11.2.0.2', 
               'compatible.asm' = '11.2.0.3',
               'content.type' = 'data',
               'cell.smart_scan_capable' = 'TRUE',
               'au_size' = '4M';

関連項目

  • Oracle Database SQL言語リファレンス

7.7.8 索引およびスキャン率について

適切なパフォーマンスを得るには、従来はストレージに索引が必要でした。Oracle Exadata Storage Server Softwareでは、索引を使用しなくても高いスキャン率を実現できます。Oracle Exadata Storage Server Softwareのスキャンを使用して実行プランが高速になるかどうかを判断するには、索引を使用するアプリケーションの実行プランを確認します。索引がなくてもスキャンが高速になるかどうかを判断するには、オプティマイザで索引を認識できないようにします。認識されない索引はDML操作によって管理されますが、オプティマイザでは使用されません。索引が認識されないようにするには、次のコマンドを使用します。

ALTER INDEX index_name INVISIBLE;

このコマンドのndex_nameは、索引の名前です。

7.7.9 自動エクステント管理について

表のエクステント・サイズは、AUTOALLOCATEオプションを使用すると、ローカル管理の表領域で自動的に管理されます。このオプションを指定すると、セグメントのサイズ、表領域で使用可能な空き領域、およびその他の要因に応じてサイズが自動的に増加します。セグメントでのエクステントの開始サイズは64KBで、1MBまで増加します。セグメントのサイズが64MBを超えた場合は、エクステントを8MBまで増加できます。大きい表の場合、エクステントのサイズは、表のサイズまで自動的に増加します。

関連項目

  • Oracle Database SQL言語リファレンス

7.7.10 最小エクステント・サイズについて

エクステントのサイズは、表ではなくセグメントのサイズに基づきます。多くのパーティションで構成される大きい表には、小さいセグメントを多く格納できます。たとえば、1000個のパーティションに分割された100GBの表の平均のセグメント・サイズは100MBです。このため、多くのパーティションで構成される大きい表では、大きいエクステントを使用するのが最適です。この場合は、表の作成時にデータベースにヒントを指定するか、インスタンス・レベルの初期化パラメータを使用できます。表で大きいエクステントを割り当てるようにデータベースにヒントを指定するには、次のオプションを使用できます。

  • INITIALストレージ・パラメータでは、ローカル管理の表領域の表の開始エクステント・サイズを設定します。データベースでは、セグメントのすべてのエクステントのサイズが、INITIALストレージ・パラメータで定義したエクステント・サイズ以上になるように設定されます。大きい表の場合は、INITIALを8MBに設定します。このストレージ・パラメータは、新規作成されるセグメントに適用されます。作成済のオブジェクトでは、INITIALパラメータを変更することはできません。

関連項目

  • Oracle Database SQL言語リファレンス

7.7.11 パラレル・モードでのSQL*Loaderについて

データのパラレル・ロードにSQL*Loaderを使用すると、サーバーではデータのロードに一時セグメントが使用され、トランザクションのコミット中にセグメントがベース・セグメントにマージされます。多くのパーティションに分割された表の場合は、データのロードにSQL*Loaderを使用しないでください。かわりに、データをフラット・ファイルに置き、パラレルのINSERTダイレクト・ロードを使用し、データベースの外部表の機能を使用してフラット・ファイルからロードします。

関連項目

  • Oracle Database SQL言語リファレンス

7.7.12 フラグメンテーションについて

表のサイズに対して表に小さいエクステントの数が増えると、表は断片化したとみなされます。小さいエクステントの数が増えると、セグメント領域のマッピングに使用されるメタデータが増大し、ユーザー・データがディスク上に最適にレイアウトされなくなります。これにより、後続のロード、スキャン、DDL、DMLの操作を含むほとんどの操作でパフォーマンスが低下します。エクステントのサイズが8MBを大きく下回ると、セグメントの再編成が必要になります。大きいオブジェクトでは、エクステントのサイズが少なくとも8MB必要です。オブジェクトを再編成するには、複数の方法があります。再編成では、ターゲットのオブジェクトでストレージ・パラメータのINITIALを8MB以上に設定する必要があります。表がパーティション化されておらず、非常に大きい場合は、パーティション化することを検討してください。

関連項目:

次の詳細は、『Oracle Database管理者ガイド』を参照してください。

  • 領域の再利用

  • 表領域の再定義

7.7.13 ディスク・グループのバランスについて

ファイルはすべてのディスクで均等になるようにしてください。次の問合せおよびスクリプトを使用すると、ディスク・グループのバランスをチェックできます。

  • I/Oバランスをチェックするには、大きいSQL文の実行前後にV$ASM_DISK_IOSTATビュー問合せを実行します。たとえば、大きい問合せで読取り数が多い場合は、ディスク・グループのすべてのディスクでread列とread_bytes列をほぼ同じにしてください。

  • マウントされたすべてのディスク・グループをチェックするには、My Oracle Supportのノート367445.1で入手可能なスクリプトを実行します。My Oracle Supportは、次の場所にあります。

    http://support.oracle.com

7.7.14 Oracle ASMディスク修復タイマーについて

Oracle ASMディスク修復タイマーは、Oracle ASMで削除される前にディスクをオフラインのままにできる時間を表します。ディスクがオフラインの場合、オンラインに戻ったときにディスクを再同期できるように、変更されたエクステントがOracle ASMによって追跡されます。デフォルトのディスク修復時間は3.6時間です。デフォルト値では十分でない場合は、ASMで一時的なディスク障害を検出して修復するまでの最大時間まで属性値を変更できます。次のコマンドは、DATAディスク・グループのディスク修復タイマーの値を8.5時間に変更する例です。

ALTER DISKGROUP data SET ATTRIBUTE 'disk_repair_time' = '8.5h'

disk_repair_time属性では、オフライン中のディスクの修復タイマーは変更されません。このようなオフライン状態のディスクの修復タイマーは、デフォルトの修復タイマー、またはディスクが手動でオフラインに設定されたときにコマンドラインで指定した修復タイマーのいずれかになります。オフライン中のディスクの修復タイマーを変更するには、OFFLINEコマンドを使用して修復タイマーの値を指定します。次のコマンドは、オフラインのディスクのディスク修復タイマーの値を変更する例です。

ALTER DISKGROUP data OFFLINE DISK data_CD_06_cell11 DROP AFTER 20h;

注意:

ディスク修復時間の値を増やすと、二重障害の発生する危険性が高まります。

関連項目

  • Oracle Automatic Storage Management管理者ガイド

7.8 Oracle Exadata Storage Server SoftwareでのSQL EXPLAIN PLANコマンドの使用

SQL EXPLAIN PLANコマンドは、Oracle Exadata Storage Serverで評価される条件を表示できるように拡張されています。Oracle Exadata Storage Serverに配置される条件をEXPLAIN PLANで表示するには、データベース・パラメータのCELL_OFFLOAD_PLAN_DISPLAYをAUTOまたはALWAYSに設定する必要があります。

次の場合、条件評価はOracle Exadata Storage Serverにオフロードされません。

  • CELL_OFFLOAD_PROCESSINGパラメータがFALSEに設定されている場合。

  • スキャンを実行中の表またはパーティションのサイズが小さい場合。

  • オプティマイザがダイレクト・パス読取りを使用しない場合。

  • クラスタ表でスキャンが実行される場合。

  • 索引構成表でスキャンが実行される場合。

  • 圧縮型索引で高速全スキャンが実行される場合。

  • 逆キー索引で高速全スキャンが実行される場合。

  • 表で行の依存性が有効になっている場合や、rowscnがフェッチされている場合。

  • オプティマイザでスキャンを実行してROWIDの順で行を返す場合。

  • オプティマイザがダイレクト・パス読取りを使用しない場合。

  • コマンドがnosortを使用するCREATE INDEXである場合。

  • LOB列またはLONG列を選択または問合せ中の場合。

  • 表でSELECT ... VERSIONS問合せを実行する場合。

  • 255を超える列が参照される問合せで、ヒープ表が圧縮されていないか、基本圧縮またはOLTP圧縮である場合。ただし、Exadataハイブリッド列圧縮で圧縮された表に対するこのような問合せは、オフロードされます。

  • 表領域が暗号化されており、CELL_OFFLOAD_DECRYPTIONパラメータがFALSEに設定されている場合。Oracle Exadata Storage Server Softwareで復号化を実行するには、Oracle DatabaseからOracle Exadata Storage Serverに復号化キーを送信する必要があります。ネットワークを介してOracle Exadata Storage Serverにキーを送信することに関してセキュリティ上の懸念がある場合は、復号化機能を無効にしてください。

  • 表領域がOracle Exadata Storage Serverに完全に格納されない場合。

  • 条件評価が仮想列にある場合。

例7-17では、プラン出力のstorage条件はOracle Exadata Storage Server Softwareで評価される条件を示しています。storage条件は、太字で示されています。

例7-18は、UTLXPLPを使用し、CELL_OFFLOAD_PLAN_DISPLAYを有効にしてEXPLAIN PLANコマンドを実行した場合の出力例を示しています。

例7-17 EXPLAIN PLANコマンドの使用

SQL> EXPLAIN PLAN FOR
  SELECT t.prod_id, v.exp1, t2_prod_id, t2_amount_sold
  FROM   sales t, v1 v
  WHERE  t.prod_id = v.prod_id and t.cust_id = v.cust_id
    AND  t.prod_id != 45
    AND  v.amount_sold * v.quantity_sold > 10000;

Explained.

SQL>
SQL> SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY());

PLAN_TABLE_OUTPUT
---------------------------------------------------------------------------------------------------
Plan hash value: 2267424675

--------------------------------------------------
| Id  | Operation                   | Name       |
--------------------------------------------------
|   0 | SELECT STATEMENT            |            |
|*  1 |  HASH JOIN                  |            |
|*  2 |   HASH JOIN                 |            |
|*  3 |    TABLE ACCESS STORAGE FULL| SALES      |
|*  4 |    TABLE ACCESS STORAGE FULL| SALES      |
|*  5 |   TABLE ACCESS STORAGE FULL | SALES      |
--------------------------------------------------
 
Predicate Information (identified by operation id):
---------------------------------------------------

   1 - access("T"."CUST_ID"="T2"."CUST_ID" AND
              "T1"."PROD_ID"="T2"."PROD_ID" AND "T1"."CUST_ID"="T2"."CUST_ID")
   2 - access("T"."PROD_ID"="T1"."PROD_ID")
   3 - storage("T1"."PROD_ID"<200 AND
              "T1"."AMOUNT_SOLD"*"T1"."QUANTITY_SOLD">10000 AND "T1"."PROD_ID"<>45)
       filter("T1"."PROD_ID"<200 AND
              "T1"."AMOUNT_SOLD"*"T1"."QUANTITY_SOLD">10000 AND "T1"."PROD_ID"<>45)
   4 - storage("T"."PROD_ID"<200 AND "T"."PROD_ID"<>45)
       filter("T"."PROD_ID"<200 AND "T"."PROD_ID"<>45)
   5 - storage("T2"."PROD_ID"<200 AND "T2"."PROD_ID"<>45)
       filter("T2"."PROD_ID"<200 AND "T2"."PROD_ID"<>45)

例7-18 UTLXPLPを使用したEXPLAIN PLANコマンドの表示

SQL> ALTER SESSION SET CELL_OFFLOAD_PLAN_DISPLAY = ALWAYS;
Session altered.

SQL> EXPLAIN PLAN FOR SELECT COUNT(*),SUM(creditlim) FROM s_customer1, s_region1
     WHERE s_customer1.zip = s_region1.zip AND region_code = 'NE' ;
Explained.

SQL> @?/rdbms/admin/utlxplp

... 
Predicate Information (identified by operation id):
---------------------------------------------------

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
   5 - access("S_CUSTOMER1"."ZIP"="S_REGION1"."ZIP")
  10 - storage("REGION_CODE"='NE')
       filter("REGION_CODE"='NE')
  15 - storage(SYS_OP_BLOOM_FILTER(:BF0000,"S_CUSTOMER1"."ZIP"))
       filter(SYS_OP_BLOOM_FILTER(:BF0000,"S_CUSTOMER1"."ZIP"))

関連項目:

  • EXPLAIN PLANコマンドの使用および解釈の詳細は、『Oracle Database SQLチューニング・ガイド』

  • SQL EXPLAIN PLANコマンドの詳細は、『Oracle Database SQL言語リファレンス』

  • OPTIMZER_MODEの詳細は、『Oracle Databaseリファレンス』および『Oracle Databaseパフォーマンス・チューニング・ガイド』

7.8.1 Exadataスマート・フラッシュ・キャッシュ用のSQL STORAGE句のCELL_FLASH_CACHE

CELL_FLASH_CACHE STORAGE句属性では、COMPATIBLEパラメータが11.2.0.2以上である場合に、自動キャッシュ・ポリシーを上書きできます。また、このSTORAGE句属性を使用して、Exadataスマート・フラッシュ・キャッシュに特定のデータベース・オブジェクトをキャッシュする方法を指定できます。CELL_FLASH_CACHE storage_clauseオプションでは、次の値がサポートされます。

  • NONE: この値を指定すると、データベース・オブジェクト・バッファは、Exadataスマート・フラッシュ・キャッシュにキャッシュされません。これにより、頻繁にアクセスされる有益なオブジェクト用にフラッシュ・キャッシュ領域を確保できます。

  • DEFAULT: この値を指定すると、データベース・オブジェクトは、Exadataスマート・フラッシュ・キャッシュのデフォルトのLRU(最低使用頻度)に基づいてキャッシュされます。これは、コマンドにSTORAGE句が指定されない場合のCELL_FLASH_CACHEのデフォルト値です。

  • KEEP: この値を指定すると、データベース・オブジェクト・バッファは、フラッシュ・キャッシュが十分に大きいかぎり、フラッシュ・キャッシュにキャッシュされ続けます。

STORAGE句は、表または他のオブジェクトに対するCREATEおよびALTERコマンドの実行時に指定できます。例7-19は、STORAGE句でCELL_FLASH_CACHEを使用するCREATE TABLEコマンドの例を示しています。

STORAGE句の変更が許可されるオブジェクトの場合、例7-20に示すように、CELL_FLASH_CACHEと組み合せてALTERコマンドを使用できます。

CELL_FLASH_CACHE STORAGE句属性は、例7-21に示すように、関連するオブジェクトに基づいたデータベース・ビューを使用して問い合せることができます。

関連項目:

storage_clauseの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

例7-19 CELL_FLASH_CACHEと組み合せたCREATE TABLEの使用

CREATE TABLE ptable (c1 number, c2 clob) TABLESPACE TBS_1
          PARTITION BY RANGE(c1) ( PARTITION p1 VALUES LESS THAN (100)
             TABLESPACE TBS_2 STORAGE (CELL_FLASH_CACHE DEFAULT),
          PARTITION p2 VALUES LESS THAN (200) TABLESPACE TBS_3
             STORAGE (CELL_FLASH_CACHE KEEP));

CREATE TABLE tkbcsrbc (c1 number, l1 clob)
           lob (l1) STORE AS securefile 
              (cache nologging STORAGE (CELL_FLASH_CACHE NONE))
           PCTFREE 0 TABLESPACE tbs_93 STORAGE 
              (initial 128K next 128K pctincrease 0);

例7-20 CELL_FLASH_CACHEと組み合せたALTER TABLEの使用

ALTER TABLE tkbcsrbc STORAGE( CELL_FLASH_CACHE DEFAULT);

ALTER TABLE tkbcsrbc MODIFY LOB (l1) (STORAGE (CELL_FLASH_CACHE KEEP));

例7-21 ビューを使用したCELL_FLASH_CACHE STORAGE句の問合せ

SELECT TABLESPACE_NAME, TABLE_NAME, CELL_FLASH_CACHE FROM user_tables WHERE table_name='TKBCSRBC';

SELECT CELL_FLASH_CACHE FROM ALL_INDEXES WHERE index_name='TKBCIDX';

7.8.2 Oracle Exadata Storage Server SoftwareでサポートされるSQL演算子および関数の確認

Oracle Exadata Storage Server Softwareで条件評価が実行されるかどうかを判断する場合の主な要素の1つは、条件で参照されるSQL演算子または関数です。Oracle Exadata Storage Server Softwareでは、多くのSQL演算子および関数がサポートされます。ただし、サポートされない演算子もあります。動的パフォーマンス・ビューのV$SQLFN_METADATAは、特定のSQL演算子または関数がOracle Exadata Storage Server Softwareによってサポートされるかどうかを示すように拡張されています。この情報を提供するために、ビューにOFFLOADABLE列が追加されました。YESの値は演算子がサポートされることを示し、NOの値は演算子がサポートされないことを示します。

7.9 ストレージ・サーバーでのインメモリー列指向キャッシングの有効化/無効化

デフォルトでは、INMEMORY_SIZEの構成時にセルでのインメモリー列指向キャッシングが有効化されます。この機能拡張を取得するために何もする必要はありません。

用途

Database In-Memory形式のキャッシュにより、純粋な列指向のHybrid Columnar Compression (HCC)形式で提供される以上に、Database In-Memory形式で保持されるデータの量が大幅に増加し、Smart Scanパフォーマンスが大幅に向上します。

前提条件

この機能は、Oracle Database In-Memoryオプションのライセンスを所有している場合に使用可能です。

構文

この動作を有効化するためにDDLを使用する必要はありません。ただし、デフォルトの動作を上書きする必要がある場合は、ALTER TABLEコマンドで新しいDDLキーワードCELLMEMORYを使用できます。

ALTER TABLE table_name  [ [ NO ] CELLMEMORY [ MEMCOMPRESS FOR [ QUERY | CAPACITY ] [ LOW | HIGH ] ]
オプションおよび句 使用方法の説明
NO CELLMEMORY 表が12.1.0.2の列指向のフラッシュ・キャッシュ形式から12.2のDatabase In-Memory形式への書換え対象外であることを示します。
CELLMEMORYおよびCELLMEMORY MEMCOMPRESS FOR CAPACITY 表をデフォルトのOracle Database 12.2 In-Memoryの形式でキャッシュできます。以前に指定したNO CELLMEMORY文を取り消すか、指定した圧縮レベルを変更する場合のみ、この句を使用する必要があります。 
CELLMEMORY MEMCOMPRESS FOR QUERY このオプションは、MEMCOMPRESS FOR CAPACITYが指定された場合、インメモリー列ストアのデータをそれを下回るように圧縮する必要があることを示します。このオプションにより、問合せ時のパフォーマンスが向上しますが、約2倍のフラッシュ領域が必要です。
LOWおよびHIGH 現時点では実装されていません。

例7-22 同じ表でのCELLMEMORYおよびINMEMORYオプションの使用

INMEMORYCELLMEMORYの両方を同じ表で使用できます。次に例を示します。

CREATE TABLE t (c1 NUMBER) INMEMORY CELLMEMORY MEMCOMPRESS FOR QUERY;

メモリーにロードされそうにない、優先順位の低い表がある場合に、これら2つのオプションを指定すると便利です。また、CELLMEMORYを指定することでも、列指向の性能を得られます。