15.2.4 複数スケジューラーデータベースの組み込みDBへの移行
ここでは,複数のスケジューラーデータベースを組み込みDBへ移行する方法について説明します。
- <この項の構成>
- (1) スケジューラーサービスごとに異なる組み込みDB環境を構築する
- (2) 一つの組み込みDB環境に複数のスケジューラーデータベースを移行する
(1) スケジューラーサービスごとに異なる組み込みDB環境を構築する
複数のスケジューラーサービスが定義されていて,スケジューラーサービスごとに異なる組み込みDB環境を構築する場合,次に示す領域を別に準備してください。
なお,次に示す領域のうちシステムファイル領域,組み込みDB作業領域,アンロードログファイル作成ディレクトリについては,必要に応じて準備してください。
- 組み込みDB運用ディレクトリ
- データ領域
- システムファイル領域
- 組み込みDB作業領域
- アンロードログファイル作成ディレクトリ
組み込みDB環境構築の際,使用するポート番号および組み込みDBセットアップ識別子が組み込みDB間で重複しないように指定する必要があります。そのため,ajsembdbbuildコマンドおよびajsembdbsetupコマンド実行時には,ポート番号を指定するオプション(-p)および組み込みDBセットアップ識別子を指定するオプション(-id)に,異なる値を指定してください。
セットアップの実施例を次に示します。
なお,この実施例は,「15.2.2 組み込みDB環境の構築」で示した環境がすでに構築されていることを前提に記載します。
- 組み込みDBの環境内容
- データ領域作成ディレクトリ:/RDArea_JA1
- システムファイル領域作成ディレクトリ1:/SYSArea1_JA1
- システムファイル領域作成ディレクトリ2:/SYSArea2_JA1
- アンロードログファイル作成ディレクトリ:/Unload_Log_JA1
- 組み込みDB運用ディレクトリ:/Embdb_JA1
- スケジューラーサービス名:AJSROOT2
- 組み込みDBポート番号:22201
- 組み込みDBセットアップ識別子:_JA1
- ajsembdbbuildコマンドの指定内容
ajsembdbbuild -l
-d "/RDArea_JA1,/SYSArea1_JA1,/SYSArea2_JA1"
-br -bl /Unload_Log_JA1 -i /Embdb_JA1 -p 22201 -id _JA1
- ajsembdbsetupコマンドの指定内容
ajsembdbsetup -F AJSROOT2 -ru l -id _JA1 -p 22201
ajsembdbbuildコマンドおよびajsembdbsetupコマンドの詳細については,「20. セットアップ時に使用するコマンド」を参照してください。
(2) 一つの組み込みDB環境に複数のスケジューラーデータベースを移行する
一つの組み込みDB環境に複数のスケジューラーデータベースを移行する場合,組み込みDB内にはスケジューラーサービスごとに異なるテーブルを作成して管理する必要があります。そのため,ajsembdbsetupコマンド実行時のテーブル名プリフィックスを変更する必要があります。
また,該当する組み込みDBに対して二つ目以降のスケジューラーデータベースを移行する際には,一つ目のスケジューラーデータベースを移行した際にスキーマは作成済みとなっているため,ajsembdbsetupコマンドのスキーマ作成をスキップするオプション(-q)を指定します。
同じ組み込みDBに対して二つ目のスケジューラーデータベースを移行する際のajsembdbsetupコマンドの指定例を次に示します。
- スケジューラーサービス名:AJSROOT3
- テーブル名プリフィックス:AJS3
- 組み込みDBセットアップ識別子:_JA0
ajsembdbsetup -F AJSROOT3 -tp AJS3 -q -ru l -id _JA0
ajsembdbsetupコマンドの詳細については,「20. セットアップ時に使用するコマンド ajsembdbsetup」を参照してください。
- 注意事項
- 一つの組み込みDB環境に複数のスケジューラーデータベースを移行した環境で,特定のスケジューラーデータベースだけを再構築することはできません。組み込みDB環境に移行したすべてのスケジューラーデータベースの再構築が必要となります。特定のスケジューラーデータベースだけを再構築したい場合は,スケジューラーサービスごとに組み込みDBを用意してください。構築方法については「(1) スケジューラーサービスごとに異なる組み込みDB環境を構築する」を参照してください。
- 一つの組み込みDB環境に複数のスケジューラーデータベースを移行した環境で,ajsembdbbackupコマンドを使用してバックアップする場合,特定のスケジューラーデータベースだけを対象にすることはできません。ajsembdbbackupコマンドでのバックアップは,該当する組み込みDB環境に移行したすべてのスケジューラーデータベースをバックアップ対象とし,そのバックアップを使用して回復すると,すべてのスケジューラーデータベースが回復されます。そのため,ajsembdbbackupコマンドおよびajsembdbrstrコマンドでバックアップ・リストアをする場合,該当する組み込みDBにアクセスするすべてのスケジューラーサービスを停止する必要があります。なお,ajsprintコマンドでユニット定義だけをバックアップする場合は,スケジューラーサービスを停止しないで,スケジューラーデータベースごとに取得できます。
また,ajsembdbbackupコマンドで特定のスケジューラーデータベースだけをバックアップ対象としたい場合は,スケジューラーサービスごとに組み込みDBを用意してください。構築方法については「(1) スケジューラーサービスごとに異なる組み込みDB環境を構築する」を参照してください。