Oracle Database の Azure への移行

Azure Load Balancer
Azure ExpressRoute
Azure VPN Gateway

このソリューションでは、Oracle データベースとそのアプリケーションを Azure に移行します。 データベースには Oracle Active Data Guard を使用し、アプリケーション層には Azure Load Balancer を使用します。

アーキテクチャ

Oracle から Azure へのデータベースの移行を示すアーキテクチャ図。

このアーキテクチャの Visio ファイルをダウンロードします。

データフロー

  1. サイト間 VPN または ExpressRoute 経由で、Azure 環境をオンプレミスのネットワークに接続します。
  2. DataGuard を使用して、Azure 内の OracleDB1 をアクティブ スタンバイとしてマークします。
  3. Azure の OracleDB1 をプライマリとして切り替えて、Azure の OracleDB2 をスタンバイとして設定し、移行を完了します。

注意

  • この方法は、同一の OS バージョンおよびデータベース バージョンとの間で移行する場合にのみ機能します。
  • 前提: オンプレミスで DataGuard を使用していること。

Components

代替

データベースが 2 TB を超える場合は、Oracle Recovery Manager (RMAN) と共に Oracle Data Guard を使用するか、最初の一括データ転送後に Data Pump を使用して変更をレプリケートすることで、ダウンタイムを最小限に抑えた移行が可能になります。

SQL Server Migration Assistant for Oracle

Microsoft SQL Server Migration Assistant (SSMA) for Oracle は、Oracle データベースを Microsoft SQL Server および Azure SQL Database に移行するためのツールです。 SSMA for Oracle は、Oracle データベース オブジェクトを SQL Server データベース オブジェクトに変換し、それらのオブジェクトを SQL Server に作成した後、Oracle から SQL Server または Azure SQL Database にデータを移行します。

シナリオの詳細

Oracle DB の移行は複数の方法で行うことができます。 それらの選択肢の 1 つである、Oracle Active Data Guard を使用してデータベースを移行する方法をこのソリューションで取り上げます。 これは、Oracle Data Guard (または Active Data Guard) が、HA/DR の目的で使用されることを前提としています。 アプリケーションに応じて、最初にアプリケーションまたはデータベースを移行することができます。 この場合、アプリケーションは Azure Load Balancer を使用して Azure に移行されます。 これにより、オンプレミスと Azure の間でトラフィックを分割できるため、アプリケーション層を段階的に移行することができます。 データベースの移行は複数の手順で実行されます。 最初の手順として、Oracle Data Guard を使用して、Azure にセカンダリ/スタンバイ データベースを設定します。 これによって、データを Azure に移行できます。 Azure のセカンダリがプライマリと同期されたら、オンプレミスのセカンダリを維持しながら、Azure のデータベースをプライマリ データベースに切り替えることができます。 次の手順として、HA/DR の目的で、別の可用性ゾーン (またはリージョン) にセカンダリ データベースを設定できます。 この時点で、オンプレミス環境の使用を停止できます。 オンプレミスと Azure の間のすべてのデータ トラフィックは、Azure ExpressRoute またはサイト間 VPN 接続経由で送信されます。

考えられるユース ケース

このソリューションは、Oracle DB を Azure に移行する場合に適用されます。

考慮事項

以降の考慮事項には、ワークロードの品質向上に使用できる一連の基本原則である Azure "Well-Architected Framework" の要素が組み込まれています。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。

移行

Oracle Recovery Manager (RMAN) と Oracle Data Guard を使用すると、最小限のダウンタイムで Oracle データベース全体をオンプレミスから Azure VM に移行することができます。 RMAN を使用し、バックアップと復元か、データベース複製のいずれかの方法で、データベースをターゲットのスタンバイ Azure VM に復元します。 それから、Oracle Data Guard を使用して、ターゲット データベースを物理スタンバイ データベースとして構成し、プライマリ オンプレミス データベースからスタンバイ データベースへすべてのトランザクションまたは再実行のデータ変更を許可できます。 オンプレミスのプライマリ Oracle データベースが Azure VM インスタンス上のターゲット スタンバイ データベースと同期している場合、ターゲット データベースに切り替えて、読み書き可能なデータベースに変換することができます。 その後、アプリケーションの接続を新しいプライマリ データベースに設定することができます。 このオプションにより、データベースを Azure に移行するときのダウンタイムを最小限に抑えることができます。

Oracle Data Pump ユーティリティは、Oracle データベースとの間でデータやメタデータをエクスポートおよびインポートするために使用されます。 Data Pump のエクスポートとインポートは、データベース全体、選択したスキーマ、テーブルスペース、またはデータベース オブジェクトに対して実行できます。 Data Pump は、サイズの範囲が 10 GB から 20 TB の大規模なデータベースで Azure へのデータ移行に推奨されるツールです。 これにより、高度な並列処理、柔軟なデータ抽出オプション、スケーラブルな操作が可能になり、ソース データベースからターゲット データベースへのデータおよびメタデータの高速移動が実現されます。 Oracle Data Pump では、データをデータ ダンプ ファイルにエクスポートするときの暗号化と圧縮もサポートされています。 Oracle Data Pump と Oracle Data Guard または Golden Gate を一緒に使用することで、大規模なデータベースの初期データ転送を処理できます。 Data Pump は Oracle Database 10g リリース 1 (10.1) 以降でのみ使用できます。

設計上の考慮事項

VM のサイズ設定

ライセンス コストを節約してパフォーマンスを最大化するには、Oracle Database VM に制約付きコア vCPU のハイパースレッド化されたメモリ最適化済み仮想マシンを使用することをご検討ください。 Oracle では、オンプレミスから Azure へのライセンス モビリティを保証しています。 Oracle-Azure FAQ を参照してください。

ストレージ

Oracle データベースでパフォーマンスと可用性を向上させるには、複数の Premium ディスクまたは Ultra ディスク (マネージド ディスク) を使用します。 マネージド ディスクを使用する場合、再起動時にディスク/デバイス名が変更される可能性があります。 再起動後もマウントが確実に持続するようにするため、名前ではなく、デバイス UUID を使用することをお勧めします。 データベースのストレージ管理を合理化するには、Oracle Automatic Storage Management (ASM) の使用をご検討ください。

テストとチューニング

新しい Oracle データベースに対してお客様のアプリケーションを検証するには、以下のテストをお勧めします。

  • パフォーマンス テストを実行して、ビジネス要件を満たしていることを確認します。
  • データベースのフェールオーバー、復旧、復元をテストして、RPO と RTO の要件を満たしていることを確認します。
  • すべての重要なジョブとレポートをリストし、新しい Oracle インスタンスでそれらを実行して、サービス レベル アグリーメント (SLA) に照らしてパフォーマンスを評価します。
  • 最後に、クラウド用のアプリケーションを移行または作成する場合、再試行パターンやサーキット ブレーカー パターンなどのクラウドネイティブ パターンを追加するため、アプリケーション コードを微調整することが重要です。 クラウド設計パターン ガイドで定義されている他のパターンを使用すると、アプリケーションの回復性が向上します。

Oracle のライセンス

Azure VM でハイパースレッディング対応テクノロジを使用している場合は、2 つの vCPU を 1 つの Oracle プロセッサ ライセンスと同等であるとカウントします。 詳細については、「Licensing Oracle Software in the Cloud Computing Environment (クラウド コンピューティング環境での Oracle ソフトウェアのライセンス)」を参照してください。

バックアップ戦略

バックアップ戦略の 1 つは、Oracle Recovery Manager (RMAN) と Azure Backup を使用して、アプリケーション整合性バックアップを行うことです。 Azure のバックアップ方法を使用することもできます。

必要に応じて、Azure Blob Fuse を使用して、冗長性の高い Azure BLOB ストレージ アカウントをマウントし、RMAN バックアップをそれに書き込んで回復性を高めます。

セキュリティ

Azure DDoS Protection では、アプリケーションの設計に関するベスト プラクティスと組み合わせることにより、DDoS 攻撃からの保護を向上させるための強化された DDoS 軽減機能が提供されます。 すべての境界仮想ネットワークで Azure DDOS Protection を有効にする必要があります。

事業継続とディザスター リカバリー

事業継続とディザスター リカバリーのために、以下のソフトウェアのデプロイを検討してください。

  • データベースの可用性には、Oracle Data Guard Fast-Start Failover (FSFO)
  • データ損失ゼロの保護には、Oracle Data Guard Far Sync。
  • SLA 要件に応じて、Azure 可用性セットまたは可用性ゾーンでのマルチプライマリまたはアクティブ/アクティブ モードの Oracle GoldenGate。

リージョン内で高可用性を実現するには、Availability Zones を使用します。 詳細については、Azure 上の Oracle データベース用リファレンス アーキテクチャに関する記事を参照してください。

データベース層における 99.99% のアップタイムの可用性は、Azure Availability Zones と Oracle Active DataGuard の組み合わせを FSFO と共に使用することで実現できます。

アプリケーションとデータベース層の間の待機時間を短縮するには、近接通信配置グループの使用をご検討ください。

監視

管理、監視、ログのため、Oracle Enterprise Manager を設定します。

次のステップ

サポート情報については、これらの記事を参照してください。

各種アーキテクチャ コンポーネントについては、以下を参照してください。