11グラムの新しいキャリブレーションIOの特長(IOキャリブレーション)
IO校正(キャリブレーションIO)機能、さらにI / Oパフォーマンスの問題を決定するために、私たちは、ストレージシステムの真の性能を理解するのに役立ちますが、データベースやストレージシステム自体によって引き起こされます。I / Oキャリブレーション特性データベースの実際の値結論IO性能に適合(IOキャリブレーション)は、ランダムオラクルデータファイルI / Oアクセス記憶媒体。
この機能を使用する前に、私たちは、以下の条件を満たしていることを確認します:
- ストアドプロシージャを呼び出すSYSDBA権限が必要になります
- TIME_STATISTICSパラメータが真であります:
SQL>ショーパラメータTIMED_STATISTICS。
NAME TYPE VALUEは
------------ ---- ----------
TIMED_STATISTICSがTRUEブール
- あなたは、非同期IOを開く必要があり、そうでない場合、Oracleは、非同期IOを有効にしないだろう、SETALLまたはASYNCにFILESYSTEMIO_OPTIONSの必要性、ファイルシステムの使用を注意してください。
- IO非同期有効にすることができ、次のクエリを確認します。
SQL> SELECT NAME、asynch_ioが V $ DATAFILE F FROM 2、V $ IOSTAT_FILE I 3 F.FILE#= I.FILE_NO 4、FILETYPE_NAME = 'データファイル'; NAME asynch_ioが ------------------------------------------------ -------------------------------- --------- D:\ TOOLS \ ADMINSTRATORG \ ORADATA \ PROD \ DATAFILE \ O1_MF_SYSTEM_65DN8HXT_.DBF ASYNC_ON D:\ TOOLS \ ADMINSTRATORG \ ORADATA \ PROD \ DATAFILE \ O1_MF_SYSAUX_65DN8J18_.DBF ASYNC_ON D:\ TOOLS \ ADMINSTRATORG \ ORADATA \ PROD \ DATAFILE \ O1_MF_UNDOTBS1_65DN8J1S_.DBF ASYNC_ON D:\ TOOLS \ ADMINSTRATORG \ ORADATA \ PROD \ DATAFILE \ O1_MF_USERS_65DN8J2X_.DBF ASYNC_ON
較正IO特性ストアドプロシージャがDBMS_RESOURCE_MANAGER.CALIBRATE_IOによって呼び出すことができ、読み取り専用(ランダムIO組成物によってサイズが1MB)の影響を受けやすいワークロードのOracleプロセスが(、ストレージシステムが最大IOPSを決定するために継続することができるIOデータファイルの一連をトリガします最大IO秒あたりの要求)とMBPS(第2の転送速度あたりIO)。その結果、より代表的にするために、他のIO負荷損失がない、データベース全体が自由である、プロセスをテストIO校正を維持すべきです。
具体的な方法CALIBRATE_IOで見てみましょうは、ストアドプロシージャを呼び出します。
- I / Oキャリブレーションを開始 - -入力引数: - num_physical_disks -物理ディスクのおおよその数 データベースストレージ- - max_latency -ミリ秒の最大許容待ち時間 データベース・ブロック・サイズのIOリクエスト- - - -出力引数: - max_iops -することができます秒あたりのI / O要求の最大数 持続- 。I / O要求は、ランダムに分布している -データベース・ブロック・サイズを読み取ります。 - max_mbps -持続可能なI / Oの最大スループット、 -秒あたりのメガバイトで表しました。I / O要求は - 1メガバイトは読み込み、ランダムに分布しています。 - actual_latency -データベース・ブロック・サイズのI / Oの平均待ち時間 -要求「max_iops」速度で、ミリ秒単位で表しました。 - プロシージャcalibrate_io( PLS_INTEGER IN num_physical_disks DEFAULT 1、 max_latency IN PLS_INTEGERデフォルト20、 OUT PLS_INTEGERはmax_iops、 OUT PLS_INTEGER、max_mbps OUT PLS_INTEGER actual_latencyが )。
前記データベース格納num_physical_disksに使用される物理ディスクのおおよその数を指定するための入力パラメータ; max_latencyは最大IOのお客様はミリ秒の遅延時間を耐えることができる指定し、一般的に、我々は10msの平均待機IOを考えるには、良好なパフォーマンスですこの数字は、多くの場合、説明IO負荷が高すぎるよりもはるかに大きい、ここでは15msのが私たちの期限であると仮定します。
SQL>にSERVEROUTPUTを設定します。 SQL> DECLARE INTEGER緯度2。 図3は、INTEGERをIOPS。 4 MbpsのINTEGER。 5 BEGIN 6 - DBMS_RESOURCE_MANAGER.CALIBRATE_IO(disk_count、max_latency、IOPS、Mbpsの、LAT)。 7 DBMS_RESOURCE_MANAGER.CALIBRATE_IO(2、15、IOPS、Mbpsの、LAT)。 8 9 DBMS_OUTPUT.PUT_LINE( 'max_iops =' || IOPS)。 10 DBMS_OUTPUT.PUT_LINE( 'レイテンシ=' || LAT)。 11 DBMS_OUTPUT.PUT_LINE( 'max_mbps =' || Mbps)の。 12端; 13 / max_iops = 127 レイテンシ= 15 max_mbps = 38 PL / SQLプロシージャが正常に完了 / *平均延迟为15msの时、最大IOPS为127 Mbpsの为38 * / / *プロセスの実行がVで、あなたの進捗状況* / $ IO_CALIBRATION_STATUSを表示することができます 。SQL> V $ IO_CALIBRATION_STATUSからSELECT *; STATUSのCALIBRATION_TIMEを ------------- ---------- -------------------------------------------------- -------------------- 。8は、PROGRESS、11- PM -10 12.02.35.121日付 ;:SQL> ALTER NLS_TIMESTAMP_FORMATセッションSET = 'MI HH24' セッション変更された SQL> COL START_TIMEのためのA10、 A10のためのSQL> COLのEND_TIME; SQL> DBA_RSRC_IO_CALIBRATEからSELECT *; START_TIME END_TIME MAX_IOPS MAX_MBPS MAX_PMBPS LATENCY NUM_PHYSICAL_DISKS ---------- ---------- ----- ----- ---------- ---------- ---------- --------------- --- 12:55午前12時59分1273814152 / *履歴情報IOキャリブレーションのDBA_RSRC_IO_CALIBRATEビューレコード* /