2013年8月22日付で発表された以下のプレスリリースにある通り、
SAP Business Suite環境のランタイムデータベースであるSybase ASEが保有するデータを
Sybase Replication Serverを使って複製することでHA/DR構成が取れるようになっています。
主な特徴は以下となっています。
- 本用途に限りSybase Replication Serverは無償
- トランザクションログ転送によるリアルタイムに同期を取ったウォームスタンバイソリューション
- データロスが少ない(ほぼない)
- 本稼働データベースへの影響が少ない
- (超)遠距離であってデータ転送可能
今回機会があって実際に環境構築してみましたので、手順の流れと気づいた点を記載します。
SAPインストールガイドにある以下のシンプルな構成です。
SAP/DB/OSの組合せバージョンは以下です。
- SAP NetWeaver 7.40(BASISリリースだけ初期SP2からSP4にアップデート)
- Sybase ASE 15.7.0.110
*最小要件は15.7.0.103。現状新規インストールだと15.7.0.101で導入されるのでパッチ適用はいずれにせよ必須 - Sybase Replication Server / DR Agent 15.7.1.111
*最小要件は15.7.1.102 - Sybase Control Center 3.2.6
- SUSE Linux Enterprise for SAP Applications 11 SP2
ディレクトリ構成は通常のSybase ASE環境の条件に加え以下を考慮する必要があります。
またプライマリー、スタンバイ両ノードとも同じ構成にする必要があります。
従来の共有ディスク型クラスタではなく両ノードにそっくり同じ環境を作るためです。
- Sybase Replication Serverインストール用ディレクトリ
パス:/sybase/<SID>_REP
最小サイズ: 4GB - ログ同期用ディレクトリ(パーティションファイル格納先)
パス:/sybase/<SID>_REP/repdata_1(デフォルト。I/O分散でパスの追加も可能)
最小サイズ:ログファイルの1.5倍+2GB
→デフォルトだとログの最小サイズ10GBなので4GB+10GBx1.5+2GB=21GBが/sybase/<SID>_REP以下に必要です。
実際の構築手順です。ポイントだけ記載します。
ほとんどSoftware Provisioning Manager(SWPM)で構築できるので非常に簡単です。
- (プライマリーサイト)
・SWPMで通常通りSAP on Sybase ASE環境をセットアップします
・SAPノート1599814添付のASEup.shを使いSybase ASEのパッチを適用します
・データベースSID、saptoolsはsp_dboptionで"trunk log on chkpt"をfalseに設定します - (スタンバイサイト)
・SWPMで空のデータベースインスタンスを作成します
- SAP NetWeaver 7.4 => SAP Sybase ASE => System Copy => Target System => Database Instance
- 「Homogeneous System Copy(SAP Sybase ASE specific; Detach/Attach or Backup/Restore)」を選択
- 「load a database dump」を選択
- 「Finish the installation with an empty database」を選択
- あとはプライマリーサイトと同じように定義し、インストールを実行します。
これで空のデータベースインスタンスがセットアップされました
・プライマリーサイト同様にパッチ適用とDBオプションを設定します - (スタンバイサイト)
・SWPMでSybase Replication Serverのセットアップを行います。ここではまだ同期設定はしません
- Generic Installation Options => SAP Sybase ASE => Database Replication => Setup of Replication Environment
- 「Software Package Request」はSybase Replication Serverの新規インストールメディアではなく最新のパッチファイルを指定します。SAP Service MarketplaceのSoftware Download CenterのSupport Packages and Patchesからダウンロードし、あらかじめ解凍しておきます
- 同期設定はプライマリーサイト側で行うので「Configure replication environment」のチェックボックスは外しておきます
- あとは同期用ディレクトリの指定など基本的にはデフォルトで構いません
これでスタンバイサイトにSybase Replication Server環境がセットアップされました - (プライマリーサイト)
・SWPMでSybase Replication Serverをセットアップします。同期設定も同時に行います
- はじめのほうはスタンバイサイトと同じです。ただし「Configure replication environment」はチェックをいれます
- 「Praimary Host Name」と「Standby Host Name」にはそれぞれプライマリーサイトのホスト名とスタンバイサイトのホスト名を指定します。ポートはプライマリーサイトはデフォルトで入力されており、スタンバイサイトはブランクのままで自動検出してくれます
- プライマリーサイト、スタンバイサイトそれぞれの「Site Name」を入力します。これは論理ホスト名です。10文字まで、アンダースコアは使えません
- SAPデータベースの初期同期(マテリアライズ)方法を選択します。違いは後述しますが、今回はデータベースサイズが小さいため「Automatic Dump/Load Database」を選択しました
これでプライマリーサイトにSybase Replication Server環境がセットアップされ、さらにスタンバイサイトとの同期設定、初期同期(スタンバイサイトのデータベース作成)まで全自動で行われました
このように基本的にすべての作業がSWPMで完結しており非常に簡単にセットアップできます。
補足としてマテリアライズの方法について簡単に説明して終わりにします。
SAPシステムデータベースの初期同期(マテリアライズ)には3つの選択肢が用意されています。
- Manual Dump/Load Database:
プライマリーサイトで手動でバックアップ(DUMP DATABASEコマンド)を実行し、バックアップファイルをスタンバイサイトにFTPなどでコピーし、そのバックアップファイルからリストア(LOAD DATABASE)することでスタンバイサイトのデータベースを作成します - Automatic Dump/Load Database:
SWPMで指定したDump Locatoinに自動的にバックアップファイルを生成し、スタンバイサイトでリストアしてデータベースを作成します。masterとsaptoolsデータベースはデフォルトでこの手法でマテリアライズされます。今回SAP NetWeaver 7.4で40GBのデータベースサイズですが、SID.dmpという6GB超のバックアップファイルが生成され、時間にして20分くらいでスタンバイサイトへの同期が完了しました - External Database Load:
ストレージスナップショットコピー・レプリケーション機能などを使ってスタンバイサイトにデータベースファイルをコピーして作成。プライマリサイトでquiesce databaseでデータベースの静止点を作成し、コピーし、スタンバイサイトでmount databaseで有効にします
長くなりましたので、確認や起動・停止操作方法はまた次回にでも...