SharePlexで実現するゼロダウンタイムDBマイグレーション─古典的なダンプ方式での移行はもう卒業?
データベースの移行は、データのエクスポートとインポート、統計情報の再取得などシステム停止が伴い、大容量のデータベースほど停止時間は長くなります。
本記事では、OracleDatabaseのダンプファイルによる形式の移行とお別れして、SharePlexによるデータベース移行の方法を紹介します。
目次
1. 実は負担が大きいダンプ方式のデータベース移行
ダンプ方式での移行は、元のデータベースの内容をexpdpでファイルに書き出し(ダンプ)、ネットワーク越しにコピーした後、impdpで新環境に取り込む、という流れで行います。
この流れ自体はシンプルですが、実際には大量のデータで何時間ものダウンタイムがあり、
取り込みに失敗した場合の回復作業も大変で担当者の大きな負担になっています。
こうしたダンプ方式の課題を解決する手段としておすすめなのが、SharePlexです。
SharePlexはクエスト・ソフトウェア社が提供しているOracle Database間のデータ移行やBI環境構築などを実現するデータベースレプリケーションソフトウェアです。
Oracle Databaseの更新履歴(REDOログ)をリアルタイムに読み取り、変更内容だけを新環境に反映する「論理レプリケーション」という方式を採用した製品です。
最大の魅力は次の通りです。
ダウンタイムがほぼゼロ
新環境と旧環境を並走させて、データのレプリケーションをするため、移行の当日はほとんど「アプリケーションの接続切り替え」だけで移行が完了します。
フェイルバック(切り戻し)が簡単
新環境から旧環境(逆方向)へデータレプリケーションの設定をすることで、移行後問題があった場合でも、すぐにフェイルバック(切り戻し)が可能です。
クロスOS/DBバージョン間でも移行が可能
さまざまなOSプラットホームやOracle Databaseのバージョンに対応しているため、Oracle Databaseのバージョンアップを伴うデータベース移行も対応できます。
データ差分チェックまで自動化
新環境と旧環境のデータを比較するCompare機能で、データの差分を自動でチェックできます。またデータに差分がある場合は、Repair機能を使用して修正が可能です。
パターンA:ローリングカットオーバー(最小ダウンタイム)
SharePlexを利用した代表的な移行方式の1つにローリングカットオーバー方式の移行があります。
- 旧環境から新環境へ一方向レプリケーションを開始
- 同期ズレが0になったらアプリを一時停止
- アプリケーションの接続先を新環境のデータベースに切り替え、運用再開
移行時間は、アプリケーションの接続先を新環境のデータベースに切り替え時間だけなので、従来に比べて格段に早い移行が実現します。
パターンB:フェイルバック保証(双方向)
ローリングカットオーバー方式に加えて、逆方向にレプリケーションの設定をすることで、トラブル時に旧環境のデータベースへ即ロールバックできます。
移行の失敗が怖い場合は、フェイルバック保証方式の移行がおすすめです。
SharePlexで移行を行う際には、いくつかの注意点があります。
- サプリメンタル・ロギング機能の有効化し、REDOログ・ファイルに必要な追加情報を記載させること
- データの同期中には、監視が必須
- SharePlexのログを監視するようにすること
- 事前リハーサルは、可能な限り複数回の実施すること(本番移行の成功率が上がります)
SharePlexは、データベースの標準機能ではないため、ライセンス費用等が発生します。
その費用は高く感じられるかもしれませんが、SharePlexと同等の方式を自前で構築する場合の工数や移行失敗時のビジネス損失、その復旧時間などと比較するとSharePlex の投資額は意外と小さく済むケースが多いです。
6. まとめ
ダンプ方式のデータベース移行は止められないシステムには不向きです。
SharePlex を利用することでダウンタイムを最小化してデータベースの移行が可能です。
「ローリングカットオーバー」「フェイルバック保障」などさまざまなユースケースに応じて使い分けができます。
マイグレーションの成功の鍵は事前リハーサルとログ監視になります。
SharePlexを使ったマイグレーションをお考えの際は、システムエグゼにお気軽にご相談ください。
