Skip to main content
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

Oracleデータベースの導入で考慮すべき要素

共同作成者 kevin-hoke

パブリック クラウドではコンピューティングとストレージの選択肢が多数提供されており、適切なタイプのコンピューティング インスタンスとストレージ エンジンを使用することが、データベースの展開を始める際の適切な出発点となります。また、Oracle データベース向けに最適化されたコンピューティングおよびストレージ構成を選択する必要があります。

次のセクションでは、Azure NetApp Filesストレージを備えた Azure 仮想マシン インスタンス上の Azure パブリック クラウドに Oracle データベースをデプロイする場合の主な考慮事項について説明します。

VMの種類とサイズ

パブリック クラウド内のリレーショナル データベースのパフォーマンスを最適化するには、適切な VM タイプとサイズを選択することが重要です。 Azure 仮想マシンは、Oracle データベース ワークロードをホストするために使用できるさまざまなコンピューティング インスタンスを提供します。 Microsoftのドキュメントを参照してください"Azure の仮想マシンのサイズ"さまざまな種類の Azure 仮想マシンとそのサイズについて説明します。一般的に、 NetApp、小規模および中規模の Oracle データベースの展開には汎用 Azure 仮想マシンを使用することを推奨しています。大規模な Oracle データベースを展開する場合は、メモリが最適化された Azure VM が適しています。使用可能な RAM が増えると、より大きな Oracle SGA またはスマート フラッシュ キャッシュを構成して物理 I/O を削減できるため、データベースのパフォーマンスが向上します。

Azure NetApp Files は、 Azure 仮想マシンに接続された NFS マウントとして機能し、より高いスループットを提供し、ローカル ストレージによるストレージ最適化 VM スループットの制限を克服します。したがって、 Azure NetApp Filesで Oracle を実行すると、ライセンス可能な Oracle CPU コア数とライセンス コストが削減される可能性があります。見る"TR-4780: Microsoft Azure 上の Oracle データベース"、セクション 7 - Oracle ライセンスはどのように機能しますか?

考慮すべきその他の要素は次のとおりです。

  • ワークロードの特性に基づいて、適切な vCPU と RAM の組み合わせを選択します。 VM の RAM サイズが増加すると、vCPU コアの数も増加します。 Oracle ライセンス料金は vCPU コアの数に基づいて課金されるため、ある時点でバランスが取れるはずです。

  • VM にスワップ領域を追加します。デフォルトの Azure VM デプロイメントではスワップ領域が作成されないため、データベースには最適ではありません。

Azure NetApp Files のパフォーマンス

Azure NetApp Filesボリュームは、顧客がAzure NetApp Filesストレージ アカウントでプロビジョニングする必要がある容量プールから割り当てられます。各容量プールは次のように割り当てられます。

  • 全体的なパフォーマンス能力を定義するサービス レベル。

  • その容量プールに対して最初にプロビジョニングされたストレージ容量または階層化。プロビジョニングされたスペースごとの全体的な最大スループットを定義するサービス品質 (QoS) レベル。

サービス レベルと最初にプロビジョニングされたストレージ容量によって、特定の Oracle データベース ボリュームのパフォーマンス レベルが決まります。

1.Azure NetApp Filesのサービス レベル

Azure NetApp Files は、Ultra、Premium、Standard の 3 つのサービス レベルをサポートしています。

  • *ウルトラストレージ。*この層では、割り当てられたボリューム クォータ 1TiB あたり最大 128MiBps のスループットが提供されます。

  • *プレミアムストレージ。*この層では、割り当てられたボリューム クォータ 1TiB あたり最大 64MiBps のスループットが提供されます。

  • *標準ストレージ。*この層では、割り当てられたボリューム クォータ 1TiB あたり最大 16MiBps のスループットが提供されます。

2.容量プールとサービス品質

必要な各サービス レベルには、プロビジョニングされた容量に関連するコストがあり、プロビジョニングされたスペースの全体的な最大スループットを定義するサービス品質 (QoS) レベルが含まれます。

たとえば、プレミアム サービス レベルで 10TiB がプロビジョニングされた単一容量プールでは、この容量プール内のすべてのボリュームに対して 10 x 64MBps の全体的な使用可能なスループットが提供されるため、640MBps で 40,000 (16K) IOP または 80,000 (8K) IOP になります。

最小容量プールのサイズは 4TiB です。ストレージのニーズとコストを管理するために、ワークロード要件の変化に応じて容量プールのサイズを 1TiB 単位で変更できます。

3.データベースボリュームでのサービスレベルを計算する

Oracle データベース ボリュームのスループット制限は、ボリュームが属する容量プールのサービス レベルとボリュームに割り当てられたクォータという要素の組み合わせによって決まります。

次の図は、Oracle データベース ボリュームのスループット制限の計算方法を示しています。

この画像は、総スループットを決定するために 3 つの容量層に適用される式を示しています。

例 1 では、2TiB のクォータが割り当てられた Premium ストレージ レベルの容量プールのボリュームに、128MiBps (2TiB * 64MiBps) のスループット制限が割り当てられています。このシナリオは、容量プールのサイズや実際のボリューム消費量に関係なく適用されます。

例 2 では、100 GiB のクォータが割り当てられた Premium ストレージ レベルの容量プールのボリュームに、6.25 MiBps (0.09765625 TiB * 64 MiBps) のスループット制限が割り当てられています。このシナリオは、容量プールのサイズや実際のボリューム消費量に関係なく適用されます。

最小ボリュームサイズは 100GiB であることに注意してください。

ストレージレイアウトと設定

NetApp は次のストレージ レイアウトを推奨します。

  • 小規模データベースの場合、すべての Oracle ファイルに単一のボリューム レイアウトを使用します。

    この画像は、それぞれデータファイル、REDO ログ、アーカイブ ログ、および制御ファイルがすべて単一の容量プール内に含まれている 3 つのデータベース (DB1、DB2、および DB3) を示しています。

  • 大規模なデータベースの場合、推奨されるボリューム レイアウトは複数のボリュームです。1 つは Oracle データと複製制御ファイル用、もう 1 つは Oracle アクティブ ログ、アーカイブ ログ、および制御ファイル用です。 NetApp、データベースを新しいホストに再配置して迅速に復元できるように、ローカル ドライブではなく Oracle バイナリ用のボリュームを割り当てることを強く推奨しています。

    この画像は、それぞれ 2 つのボリュームを持つ 2 つのデータベースを示しています。最初のボリュームにはデータファイルが含まれ、各データベースの 2 番目のボリュームには、REDO ログ、アーカイブ ログ、および制御ファイルが含まれます。すべて単一の容量プール内にあります。

NFSの設定

最も一般的なオペレーティング システムである Linux には、ネイティブ NFS 機能が含まれています。 Oracle は、Oracle にネイティブに統合された Direct NFS (dNFS) クライアントを提供します。 Oracle dNFS は OS キャッシュをバイパスし、並列処理を可能にしてデータベースのパフォーマンスを向上させます。 Oracle は 20 年以上にわたって NFSv3 をサポートしており、NFSv4 は Oracle 12.1.0.2 以降でサポートされています。

dNFS (Oracle 11g 以降で利用可能) を使用すると、Azure 仮想マシン上で実行される Oracle データベースは、ネイティブ NFS クライアントよりも大幅に多くの I/O を処理できます。 NetApp自動化ツールキットを使用した自動化された Oracle デプロイメントでは、NFSv3 上に dNFS が自動的に構成されます。

次の図は、Oracle dNFS を使用したAzure NetApp Filesの SLOB ベンチマークを示しています。

このグラフは、dNFS が KNFS よりも DB シーケンシャル ファイル レイテンシ (ミリ秒) を改善することを劇的に示しています。

考慮すべきその他の要素:

  • TCP スロット テーブルは、NFS におけるホスト バス アダプタ (HBA) のキュー デプスに相当します。これらのテーブルは、一度に実行できる NFS 操作の数を制御します。デフォルト値は通常 16 ですが、これは最適なパフォーマンスを得るには低すぎます。新しい Linux カーネルでは逆の問題が発生し、TCP スロット テーブルの制限が、NFS サーバーを要求で飽和させるレベルまで自動的に増加する可能性があります。

    最適なパフォーマンスを実現し、パフォーマンスの問題を防止するには、TCP スロット テーブルを制御するカーネル パラメータを 128 に調整します。

    sysctl -a | grep tcp.*.slot_table
  • 次の表は、Linux NFSv3 の単一インスタンスに推奨される NFS マウント オプションを示しています。

    この表には、制御ファイル、データ ファイル、REDO ログ、ORACLE_HOME、および ORACLE_BASE のファイル タイプごとの詳細な NFS マウント オプションが表示されます。

メモ dNFS を使用する前に、Oracle Doc 1495104.1 に記載されているパッチがインストールされていることを確認してください。 NFSv3 および NFSv4 のNetAppサポート マトリックスには、特定のオペレーティング システムは含まれていません。 RFC に準拠するすべての OS がサポートされています。オンラインIMTで NFSv3 または NFSv4 サポートを検索するときは、一致するものが表示されないため、特定の OS を選択しないでください。すべての OS は一般ポリシーによって暗黙的にサポートされます。