15.3.4 複数スケジューラーデータベースの組み込みDBへの移行

この節では,複数のスケジューラーデータベースを組み込みDBへ移行する方法について説明します。

<この項の構成>
(1) スケジューラーサービスごとに異なる組み込みDB環境を構築する
(2) 一つの組み込みDB環境に複数のスケジューラーデータベースを移行する

(1) スケジューラーサービスごとに異なる組み込みDB環境を構築する

複数のスケジューラーサービスが定義されていて,スケジューラーサービスごとに異なる組み込みDB環境を構築する場合,次に示す領域を別に準備してください。

上記に示す領域のうち,システムファイル領域,アンロードログファイル作成ディレクトリについては,必要に応じて準備してください。また,データ領域およびシステムファイル領域は,共有ディスク上の領域を指定してください。

組み込みDB環境構築の際,使用するポート番号および組み込みDBセットアップ識別子が組み込みDB間で重複しないように指定する必要があります。そのため,ajsembdbbuildコマンドおよびajsembdbsetupコマンドの実行時には,ポート番号を指定するオプション(-p)および組み込みDBセットアップ識別子を指定するオプション(-id)に異なる値を指定してください。

セットアップ例を次に示します。なお,この例は,「15.3.2 組み込みDB環境の構築」で示した環境がすでに構築されていることを前提に記載します。

組み込みDBの環境内容
追加する組み込みDBの環境内容を次に示します。
  • データ領域作成ディレクトリ:/share4/RDArea_JAB
  • システムファイル領域作成ディレクトリ1:/share5/SYSArea_JAB
  • システムファイル領域作成ディレクトリ2:/share6/SYSArea_JAB
  • アンロードログファイル作成ディレクトリ:/Unload_Log_JAB
  • 組み込みDB作業領域:/WorkArea_JAB
  • 組み込みDB運用ディレクトリ:/Embdb_JAB
  • スケジューラーサービス名:AJSROOT5
  • 組み込みDBポート番号:22203
  • 組み込みDBセットアップ識別子:_JAB
  • 実行系物理ホスト名:physical_host
  • 論理ホスト名:logical_host
ajsembdbbuildコマンドの指定内容
ajsembdbbuildコマンドの指定内容を次に示します。

ajsembdbbuild -l
-d "/share4/RDArea_JAB,/share5/SYSArea_JAB,
/share6/SYSArea_JAB" -ld /WorkArea_JAB -br
-bl /Unload_Log_JAB -i /Embdb_JAB -p 22203
-id _JAB -r -mh logical_host -eh physical_host

ajsembdbsetupコマンドの指定内容
ajsembdbsetupコマンドの指定内容を次に示します。

ajsembdbsetup -F AJSROOT5 -ru l -id _JAB -p 22203
-mh logical_host

ajsembdbbuildコマンドおよびajsembdbsetupコマンドの詳細については,「20. セットアップ時に使用するコマンド」を参照してください。

(2) 一つの組み込みDB環境に複数のスケジューラーデータベースを移行する

一つの組み込みDB環境に複数のスケジューラーデータベースを移行する場合,組み込みDB内にはスケジューラーサービスごとに異なるテーブルを作成して管理する必要があります。そのため,ajsembdbsetupコマンド実行時のテーブル名プリフィックスを変更する必要があります。

また,該当する組み込みDBに対して二つ目以降のスケジューラーデータベースを移行する際には,一つ目のスケジューラーデータベースを移行した際にスキーマが作成済みとなっているため,ajsembdbsetupコマンドのスキーマ作成をスキップするオプション(-q)を指定します。

同じ組み込みDBに対して二つ目のスケジューラーデータベースを移行する際のajsembdbsetupコマンドの指定例を次に示します。なお,次の設定値を仮定します。

ajsembdbsetup -F AJSROOT6 -tp AJS2 -q -ru l -id _JAA -mh logical_host

ajsembdbsetupコマンドの詳細については,「20. セットアップ時に使用するコマンド ajsembdbsetup」を参照してください。

注意事項
  • 一つの組み込みDB環境に複数のスケジューラーデータベースを移行した環境で,特定のスケジューラーデータベースだけを再構築することはできません。組み込みDB環境に移行したすべてのスケジューラーデータベースの再構築が必要となります。特定のスケジューラーデータベースだけを再構築したい場合は,スケジューラーサービスごとに組み込みDBを用意してください。構築方法については「(1) スケジューラーサービスごとに異なる組み込みDB環境を構築する」を参照してください。
  • 一つの組み込みDB環境に複数のスケジューラーデータベースを移行した環境で,ajsembdbbackupコマンドを使用してバックアップする場合,特定のスケジューラーデータベースだけを対象にはできません。ajsembdbbackupコマンドでのバックアップは,該当する組み込みDB環境に移行したすべてのスケジューラーデータベースをバックアップ対象とし,そのバックアップを使用して回復すると,すべてのスケジューラーデータベースを回復します。そのため,ajsembdbbackupコマンドおよびajsembdbrstrコマンドでバックアップ・リストアをする場合,該当する組み込みDBにアクセスするすべてのスケジューラーサービスを停止する必要があります。
    なお,ajsprintコマンドでユニット定義だけをバックアップする場合は,スケジューラーサービスを停止しないで,スケジューラーデータベースごとに取得できます。
    ajsembdbbackupコマンドで特定のスケジューラーデータベースだけをバックアップ対象としたい場合は,スケジューラーサービスごとに組み込みDBを用意してください。構築方法については「(1) スケジューラーサービスごとに異なる組み込みDB環境を構築する」を参照してください。
  • 一つの組み込みDB環境に論理ホストのスケジューラーデータベース,および物理ホストのスケジューラーデータベースを混在して移行できません。