第5回:SharePlexを使用したデータベース移行事例紹介

情シス担当者向け・他の会社はどうしてる?DBお悩み相談

はじめに

システム移行作業は定期的に発生する大きなイベントです。

移行作業の際にはシステムをできる限り止めずに安全、安心に移行をしたいとご要望をいただくケースが多いです。そういった場合には、データベースレプリケーションツールを使い、事前に移行先と同期をとっておき、当日に差分反映できたことを確認し移行します。

今回はクエスト・ソフトウェア社のデータベースレプリケーションツールの「SharePlex」を利用した、移行の事例をご紹介いたします。

背景

某機械業様でハードウェアのリプレースに伴いデータベースを移行する必要がありました。

移行の際には可能な限りシステム停止をせずに移行したいというご要望があり、DR環境を構成するために既に使用していた「SharePlex」を利用してデータベースレプリケーションを行うことになりました。また、SharePlexのバージョンアップもあわせて実施いたしました。

本検証では実際に以下サービスのクラウド環境を利用した比較検証を行い、 第三者の観点で、価格/性能を評価することを目的とします。

課題

■異なるSharePlexバージョンのレプリケーションについて
現行の7.6.3と当時最新バージョンの9.2.1はレプリケーションがサポートされていないため、中間に8.6.6を経由する必要がありました。
■Windows環境のSharePlexについて
WindowsのSharePlexはレジストリの関係で複数のバージョンのSharePlexを同一サーバに導入することができません。また、SharePlexの導入時にはレジストリ登録のために再起動が必要になります。
■SharePlexのライセンスについて
購入済みのライセンスはDRとして使用しているライセンス2本(ソース×1、ターゲット×1)となり、移行作業後のライセンス数は満たしているものの、移行中はレプリケーション数が現行と新環境の間も必要なため、追加でライセンス購入が必要になる。

現行DRのレプリケーションを停止して、新DR環境(8.66)とレプリケーションを行い新DR環境と新本番環境(9.2.1)でレプリケーションを行う方式とした。

本番切り替え時にレプリケーションを逆向きにすることでバージョンアップが必要な環境は新DRのみとなるため、再起動が必要なバージョンアップを本番環境に影響を与えることなく実現することができた。

ライセンスは現行と新環境を繋ぐ分のみターム(期間)ライセンスを追加で購入した。

現行環境

■概要
現行DBからSharePlexを使用したDR構成
■レプリケーション
①現行DB(メイン)⇒現行DB(DR) : レプリケーション

移行期間

■概要
現行DBのDRレプリケーションを停止し、新規DB(DR)に同期を行う。
さらに新規DB(メイン)に対しても同期を行う。
■レプリケーション
①現行DB(メイン)⇒現行DB(DR) : レプリケーション停止
②現行DB(メイン)⇒新規DB(DR) : 設定&初期ロード&レプリケーション
③新規DB(DR)⇒新規DB(メイン) : 設定&初期ロード&レプリケーション

本番切替

■概要
現行DB(メイン)への業務抑止を行い、すべてのデータが伝搬されたことを確認したら、アプリケーションを新規DB(メイン)に切り替える。
切り戻し用として②③と逆向きの同期設定を行う。
■レプリケーション
②現行DB(メイン)⇒新規DB(DR) :レプリケーション停止
③新規DB(DR)⇒新規DB(メイン) :レプリケーション停止
④新規DB(メイン)⇒新規DB(DR) : 設定&レプリケーション
⑤新規DB(DR)⇒現行DB(メイン) : 設定&レプリケーション

現行環境切り離し

■概要
切り替え数日後に移行作業による問題が発生していないことを確認し、切り戻し用レプリケーションを停止する。
さらに新規DB(DR)の製品アップグレードを行い新規DBのDR構成を構築する。
※再起動は新規DB(DR)のみのため業務継続可能
■レプリケーション
④新規DB(メイン)⇒新規DB(DR) : 製品アップグレード
⑤新規DB(DR)⇒現行DB(メイン) : レプリケーション停止

結果

お客様や製品ベンダーのご協力もあり、データ量約800GBのデータベースをシステム全体で60分の停止時間という業務影響を最低限に抑えた「データベース移行」を成功することができました。

~担当エンジニアの感想~

・既存環境で既にSharePlexによるDR環境が構成されており、当該DBにおけるSharePlexの実績があったため安心してSharePlexによる移行が実施できた。

・トリガーやシーケンス設定によってはデータ不整合が発生する場合があるため、それらの設定値をお客様と念入りに打合せし、問題なく切替できた。

・SharePlexによる大きな伝播遅延や伝播データの不整合もほとんどなく、データ同期~切替までスムーズに実施できた。データ不整合についてはSharePlexのcompare/repairで対処することで解決できた。

・切替による業務停止時間を最小限にするために、キューに溜まっている伝播データが少ないことが条件であるため、業務量の少ない夜間帯に切替を行った。 

その結果停止時間を最小限にすることができた。

おわりに

弊社は、SharePlexの販売・構築パートナーでございますので、ライセンス販売が可能になります。 導入作業や価格等については下記からお問い合わせください。