こんにちは。インサイトテクノロジーマーケティング本部の周です!
今回db tech showcase ONLINE 2020で登壇していただいたRicardo Gonzalezさんの「Oracleクラウドデータベース移行」のセッションを視聴しました。RicardoさんはOracle Cloud Database移行のプロダクトマネージャーとして、Oracle Cloudへ移行する際に課題を感じる方に対して、非常に参考になれる内容をご紹介いただきました。ぜひ、そちらの内容をレポートという形でまとめさせていただければと思います。
Oracle Database Cloud Servicesについて
まず、Oracle Cloud Database移行のベスト・プラクティスとして、どのOracle Database Cloud Serviceが貴社のユースケースに最適な選択肢になるのでしょうか。Ricardoさんは下記6つのラインアップについて紹介しました。
- Virtual Machines(仮想マシン)
小規模な開発プロジェクトからリアルタイム通信プラットフォームなどの大規模なグローバル・アプリケーションに至るまでのワークロードに対して、クラウド内に安全かつ柔軟なコンピュート容量を提供します。1ノードのシングルインスタンスデータベースと2ノードRACが選べられる他、コストを最適化するために、1〜64コア、およびコアあたり1〜64 GB(インスタンスあたり最大1024 GB)の範囲で選択できます。
- Bare Metal(ベアメタル)
Oracle Cloud Infrastructure専有環境としてのノイジーネイバーや仮想化のオーバーヘッドがなく、パフォーマンスを約束するサービスです。ベアメタルは柔軟性があり、ハードウェア専有できることでパフォーマンスに対するレイテンシが低いというメリットも享受できます。
- Exadata Cloud Service
Oracleデータベースの最大限のパフォーマンスを引き出すExadataデータベースマシンはクラウドでも提供しております。Exadata Cloud ServiceはOLTP用途、データウェアハウスのリアルタイムデータ分析用途など全ての企業が求めるあらゆるデータベースワークロードに対応するサービスです。
- Exadata Cloud at Customer
お客様のデータセンターにクラウドを導入するサービスです。お客様は厳格なデータ主権とセキュリティに関する要件を満たしつつ、クラウドの活用を実現できます。
- Autonomous Transaction Processing
Oracle Autonomous Database(データベースのプロビジョンニングやチューニング、バッチ適用、暗号化などを自動で行う)のソリューションの1つで、OLTPおよびリアルタイム分析アプリケーションのデータベース操作を簡素化するクラウド・データベース・サービスです。
- Autonomous Data Warehouse
集中型データベースと自動化ですべてのデータを管理し、分析処理に最適化されたクラウド・データベース・サービスです。Autonomous Transaction ProcessingとAutonomous Data Warehouseのいずれも、Oracleのパブリッククラウドでも、お客様のデータセンターに配置するExadata Cloud at Customerのどちらでも利用することが可能です。
クラウド移行の前提と分類
データベースのクラウド移行の分類
データベースのクラウド移行は、まず、物理移行と論理移行の2つに分けることができます。物理移行は、ソースとターゲットのデータベースが同一バージョンであることが必要です。最も一般的なアプローチは、バックアップリストアしたバックアップファイルをソース側からクラウドへ転送し、そのバックアップファイルでデータベースインスタンスを立ち上げます。その後、両方のデータベースを同期させ、完了させます。
一方、論理移行には多くの選択肢があり、幅広いソースとターゲットの種類に対応が可能です。移行対象をスキーマやテーブル単位で選択することもできますし、通常通りにデータベース全体を移行することもできます。論理移行では、バージョンやプラットフォームが異なっても移行可能です。最も使用されるアプローチは、様々なデータフォームの既存のデータ転送方法を使用し、ターゲットになるデータベースへデータを取り込みます。そして、Oracle GoldenGateのようなレプリケーションのソリューションを使用して同期を取ります。
また、移行にはオフラインとオンラインという分類もあります。オフライン移行では、移行が行われている間またはターゲットへの切り替えまでは、ソース側のデータベースを停止しオフラインの状態にする必要があります。一方、オンライン移行は、ソース側のデータベースが稼働している状態で進められるため、ターゲットへの切り替えをよりスムーズに行うことができます。
クラウド移行の前提
移行方式の前提の要素には、エンディアンやデータベースのサイズ、データベースの文字コード、データベースのバージョン、バッチレベル、ネットワーク帯域幅、ダウンタイムがあります。この中、特に注意する必要がある要素は下記になります。
- エンディアン
Oracle CloudはLinuxをベースにしているため、既存のデータベースがSolarisなどエンディアンが異なるオペレーティングシステムで操作する場合は、論理移行を検討する必要があります。
- データベースのサイズ
サイズによっては異なる方式を考える必要がありますし、ネットワーク帯域が問題になる場合もあります。いずれにしても、ファストコネクトの様な専用線を利用することを推奨します。
- データベースのバージョンおよびバッチレベル
全ての移行方式がご用意のバージョン内の移行に対応しているわけではないため、移行前にプレアップグレードが必要な場合があります。ヒントとして、可能なシナリオを可能な限りテストしておくことです。そうすることで、不要なリスクを回避できます。
Oracle Database Cloud移行のソリューション
クラウド移行のベストプラクティスを選択する前に、クラウド移行のソリューションとして取り得る選択肢とクラウド移行の全体像を理解しておくことが重要です。下記にて現在のOracle Database Cloud移行のソリューションをまとめました。
- ZDM(Zero Downtime Migration)
Oracleが推奨する物理移行を採用しているツールです。移行の主な流れとして、ZDMはデータベースのバックアップをソースデータベースからOracle Cloudへ転送し、スタンバイのデータベースインスタンスを立ち上げ、双方のデータベースを同期させます。最後に、データベースをロールアップし、アプリケーションの切り替えを行うことで移行を完了します。
- MV2ADBおよびMV2OCI
Oracle Portalからダウンロードできるツールで、Data Pumpを活用することで論理移行をオフラインで行うことができます。ソースが未限定の場合、OCIデータベースに移行するのに使うと非常に便利です。注意してほしいのは、MV2ADBの場合、ターゲットがAutonomousデータベースのみに使います。
- MAA
MAAでは、GoldenGateやDataGuardの手動セットアップ、クロスプラットフォーム移行のためのリカバリ・アプライアンスをベースに、様々な論理移行と物理移行の方式を提供しています。
- Data Pump
Oracle DatabaseをOracle Cloudに移行するにあたり、手動でData Pumpを使用すると汎用性があり便利です。また、Data Pumpではオンプレミス・データベースのエンディアンや文字コードに関係なく、基本的なエクスポート/インポート機能を使用できます。特にソース側のプラットフォームがリトルエンディアンでデータベースの文字コードに互換性がある場合、transportable表領域を使えます。これは従来のエクスポート/インポートに比べたて非常に高速です。
- SQL Developer
通常データベースのクラウド移行には使えませんが、他のユーティリティや製品と組み合わせることでいくつか便利なユースケースがあります。小規模から中規模のデータベースで、特にテストや開発の用途でしたら、SQL Developerの使用により、Insert文やSQL*Loaderを活用して移行することができます。しかし、SQL Developerの1番のユースケースはソース側がサードパーティ製のデータベースの場合となります。Amazon RedshiftからOracle Autonomous Datawarehouseへデータベースを移行する場合、SQL Developerを使用すると簡単に移行することができます。
- RMAN(Recovery Manager)
DBAやOracleプロフェッショナルに親しく使われるツールです。ZDMなどのいくつかの移行方式の一部として使われているケースが多いです。また、RMANは他のツールと組み合わせて手動でクラウド移行を行うこともできます。
- Plug/Unplug
Oracle CloudのデータベースへPDB移行するには採用するツールです。この方法はNon-CDBをOracle CloudのPDBへ移行する場合にも適しています。
クラウド移行のベストプラクティスとして利用可能な移行方法を理解し、ニーズに最適で特定のシナリオに適したソリューションを決定する必要があります。下記図版では、クラウド移行のシナリオと移行ツールおよびソース/ターゲットとの間のマッピングを確認できます。
Ricardoさんによると、クラウド移行のベストプラクティスとしてZDMが推奨されます。もちろん、ZDMが適合しない場合は、要件に合わせて他の移行方式を検討する必要になります。次回の「後編」ではZDMの仕組みや移行方法について詳しくご説明します。
Oracle Cloud移行の様々な方式や最新情報に関してご興味がある方は、下記サイトよりご参照ください。