1つのOSに複数のSAPを乗っける方法(MCOD/マルチインスタンス)
スポンサーリンク
HANAの登場でこの記事で書く内容も、すぐに古き良きNetweaver時代の技術ネタとなることを理解しつつ記す。
SAPアプリケーションでは、基本的に1OS上に、DB/APをのせるセントラル構成が基本。
それを1OS上に複数のSAPを乗っけちゃおうという話。
今では開発環境やデモ環境ですら、仮想化の恩恵を受けて、デモ用にOSから環境を用意することが多いと思います。
とは言え、PC上にvirtualboxとかで仮想OSを入れて、1つのWindows Serverに複数のSAPを作っることもしばしば。
そのやり方として主に2つあるのでご紹介。
まずSAPとDBとの関係について抑える
SAPは他の一般的なDB/AP構成のシステムのアーキテクチャと同じで、OracleやSQL Server等のDBソフトを使って、DBインスタンス(サービス:メモリ領域+プロセス)を作り、その上にユーザデータベースとなるスキーマを乗っけます。
そしてSAPアプリケーションサーバがそれらの上にのり、1つのシステムを構成します。
2つの構築方法
上に書いたアーキテクチャを前提に、1つのOS上に複数のSAPシステムを作る手段として2つあります。
MCOD
1つ目は、MCOD(Multiple Components in One Database)という形で1つのDBインスタンスの上に2つ以上のスキーマを作ります。そしてそれぞれのスキーマに対応するSAPアプリケーションサーバを構成します。
この構成のメリットとして、DBインスタンスが1つとなるため、必要なメモリ領域が1つ分のDBインスタンス用のみで済み、メモリリソースが次で紹介するマルチインスタンス構成に比べ少なくて済みます。
デメリットとして、MCOD方式の場合、1つのDBインスタンスを共有するためDBプロセスの取り合いが発生し、パフォーマンスに難ありとなります。
同時にヘビーな使い方をしないのであればコレで十分でしょう。
ただ、このMCOD構成は厄介ですので、デモ用途以外の利用はオススメできません。厄介な例でいうと、
- 標準DBツールでスキーマの操作が出来ない
- DBファイルが1つになるため、DBファイルレベルでコピーなどができない
- スキーマ毎にバックアップができない
- UnicodeとNonUnicodeが共存できない
- システムコピーとかDB移行がめんどくさい
参考
- Multiple Components in One Database (MCOD) | SCN
- MCOD - Frequently Asked Questions | SCN
- MCOD -Operational areas, advantages and limitat... | SCN
388866 - Multiple Components on One Database - Installation
DBマルチインスタンス
2つ目は、DBインスタンスを各システム毎に用意するマルチインスタンス構成です。
こちらの場合、システム毎に、SAPアプリケーションサーバ+DBスキーマ+DBインスタンスが独立します。
そのため、相互に影響を及ぼしにくいというメリットがありますが、DBインスタンスのメモリが2つ分必要になるので、必要な物理メモリはその分増えます。
SQL Serverを例に取ると、通常1つ目のDBインスタンスはdefault Instanceとして実装されます。そのため2つ目のインスタンスをNamed Instanceとして実装することになります。
MCODも、マルチも同じですが、移送ディレクトリが共通になってしまうのでご注意下さい。
特に、
もし、新しく追加するシステム側でDummy Syatemで移送ルートを組んだりすると、DOMAIN.CFGが上書きされ、移送ルートが消えてしまいます。
参考
- SQL Server における複数インスタンス - CCMS におけるデータベース管理 - SAP Library
- MS SQL 2005: Named Instance vs. Default Instance | SCN
SAP Notes
SAP Note 21960 - Several instances/systems on one UNIX computer
1794178 Network issues suspected on SQL Server systems
1593183 SQL Server の TCP/IP ネットワークパラメータ
551915 DB リストアまたは DB コピー後に R/3 が起動しない
492966 APO 3.0 liveCache 管理/監視 (LC10)
455238 MSSQL_* environment variables, profile parameters
208632 MSSQL の TCP/IP ネットワークプロトコル
28667 Microsoft SQL Server 固有プロファイルパラメータ
1914385 SQL Server Alias use results in a connection, but w/errors
Note 28392 - Two R/3 Systems on one Windows NT Server