ジャーナリングの構成
ここでは、ジャーナリングを有効化および構成する方法を説明します。
ジャーナリングの有効化
既定では、IRISSYS、IRISAUDIT、および USER の各 InterSystems IRIS® データ・プラットフォーム・データベースのジャーナリングが有効になります。管理ポータルの [ローカルデータベース] ページ ([システム管理]→[構成]→[システム構成]→[ローカルデータベース]) からデータベースごとにジャーナリングを有効または無効にすることができます。目的のデータベースに該当する行で [編集] をクリックし、[グローバル・ジャーナル状態] ボックスで [Yes] または [No] をクリックします。
新しいデータベースのジャーナル状態の既定の設定は Yes です。旧リリースの InterSystems IRIS のデータベースを初めてマウントするときに、この値は Yes に設定されます。新規グローバルの以前の設定値およびそのデータベースにある個々のグローバルの以前の設定は無視されます。
実行中のシステムで、データベースのグローバル・ジャーナル設定を変更できます。これを実行すると、何らかの影響が発生する可能性があることが警告されます。また、監査が有効になっていると変更に対する監査が実行されます。
ジャーナル・ファイル名とロールオーバー
ジャーナル・ファイルの名前は、オプションのユーザ定義の接頭語、その後に続く yyyymmdd の形式で作成された日付と時刻で構成される基本名、ピリオド (.)、そして最後に 1 暦日内に作成されたジャーナル・ファイルをインクリメンタルに番号付けするために使用される 3 桁の接尾語で構成されます。ジャーナル・ファイルが一杯になると、システムは、同じ接頭語と基本名を使用し、接尾語を 1 だけ増加させた新しいファイルに自動的に切り替えます。基本名は、ジャーナル・ファイルの使用中に新しい暦日が始まった場合にのみ変更されます。
例えば、2023 年 4 月 27 日にアクティブである最初のジャーナル・ファイルには、20230427.001 という名前が付けられます。ファイルが一杯になると、システムは 20230427.002 という新しいファイルを開始します。このプロセスは、ジャーナル・ファイルのロールオーバーと呼ばれます。ただし、ジャーナル・ファイルの使用中に真夜中を過ぎて日付が変わると、そのファイルの名前は 20230428.001 に変更されます。
ジャーナリングの最善の使用方法
ジャーナリングを計画および構成する際の重要な考慮事項を以下に示します。
-
ジャーナル・ファイルは、プライマリ・ジャーナル・ディレクトリと代替ジャーナル・ディレクトリ (プライマリ・ディレクトリが何らかの理由で書き込み不能になった場合に使用) の両方に保存されます。
パフォーマンスと復元可能性の両方を高めるために、プライマリおよび代替ジャーナル・ディレクトリは、それぞれ異なるストレージ・デバイスに配置し、データベースやライト・イメージ・ジャーナル (WIJ) が使用しているストレージ・デバイスとも異なるストレージ・デバイスに配置することをお勧めします。運用上の理由から、同じ SAN (Storage Area Network) 上の論理ユニット番号 (LUN) が異なるデバイスに配置することもできますが、一般的にはなるべく独立したデバイスに配置するようにします。物理ドライブの個別のセットを使用することを強くお勧めします。このようにデータベース/WIJ ストレージとプライマリ/代替ジャーナル・ストレージを分離することには、以下の主要な利点があります。
-
データベースまたは WIJ に発生する可能性がある障害からジャーナル・ディレクトリを分離することにより、そのような障害後にデータベースをリストアするためにジャーナル・ファイルを使用できるようになります。
-
プライマリおよび代替ジャーナル・ディレクトリを分離することで、プライマリ・ディレクトリが配置されたデバイスで停止が発生した場合も、ジャーナリングを続行できます。
-
ジャーナル入出力パスを分離することは、ほとんどのアプリケーションで必要となる入出力並行処理を実現するための重要な要素です。
簡便性のために、InterSystems IRIS インストールではディレクトリ install-dir\Mgr\journal を作成し、それをプライマリおよび代替ジャーナル・ディレクトリとして構成して、そのディレクトリ内に既定のジャーナリングされるデータベースの最初のジャーナル・ファイルを作成します。ただし、プライマリおよび代替ジャーナル・ディレクトリ用に別個のストレージ・デバイスを特定して準備し、インストール後できるだけ早くにこれらの設定を再構成する ("ジャーナル設定の構成" の説明に従って) ことをお勧めします。
Note:ジャーナル・ファイルは、"バックアップとリストア" の説明に従って、常にデータベース・ファイルと共にバックアップしておく必要があります。プライマリ・データ・センタにおける複数のストレージ・デバイスを含む障害からの復旧が可能になるよう、災害復旧目的でジャーナル・ファイルをオフサイトで複製することを検討してください。この目的には、InterSystems IRIS ミラーリング、ディスクレベル複製、またはその他のメカニズムを使用できます。
-
-
ジャーナリングがすべてのデータベースに対して有効化されていることを確認します (一時的なデータのみを含むデータベースを除く)。
-
ジャーナルの [エラー発生時に凍結する] オプションを [はい] に設定することを検討してください。障害によりプライマリおよび代替ジャーナル・デバイスの両方に書き込みできなくなった場合、この設定によりシステムが凍結し、ユーザがシステムを使用できなくなるため、データが失われることがなくなります。もう 1 つの選択肢として、[エラー発生時に凍結する] オプションを [いいえ] に設定し、システムを続行させてジャーナリングを無効にします。これにより、システムは引き続き利用可能になりますが、データの整合性と回復性が損なわれます。[エラー発生時に凍結する] の詳細については、"ジャーナル入出力エラー" を参照してください。
-
バックアップ検証手順で、ジャーナル・ファイルが最後の良好なバックアップの前に閉じたと判断される場合以外は、削除しないでください。ジャーナル・ファイルを保持する日数および、ジャーナル・ファイルに保持する成功したバックアップの回数を適切に設定します。
-
ジャーナル・リストア時に最適なパフォーマンスを実現するには、共有メモリ・ヒープ (gmheap) のサイズを増加させることを検討してください。詳細は、"ジャーナル・ファイルのリストア" を参照してください。
-
ジャーナル・ファイルが占有する領域を最小限に抑えるために、ジャーナル・ファイルの圧縮が有効になっていることを確認します。このオプションは、CompressFiles CPF 設定で制御され、新規の InterSystems IRIS インストールでは既定で有効になっています。
-
ジャーナル・ファイルのアーカイブも検討してください。ジャーナリング用のアーカイブ・ターゲットを指定した場合、ファイルが最大サイズに達すると、ジャーナル・ファイルはその場所にコピーされ、新しいジャーナル・ファイルが開始されます。元のジャーナル・ファイルをアーカイブにコピーした後に削除するよう、ジャーナリングを構成することもできます。
ジャーナル・アーカイブ・ターゲットの構成
InterSystems IRIS ジャーナル・ファイルのアーカイブ・ターゲット (ジャーナル設定の構成時に使用できる) を構成するには、管理ポータルの [Archive Targets] ページに移動します ([システム管理]→[構成]→[システム構成]→[Archive Targets])。
このページで、アーカイブ・ターゲットを表示、編集、または削除できます。
このページには、既存のすべてのアーカイブ・ターゲットがリストされます。フィールドは以下のとおりです。
-
[名前] — ファイルをアーカイブするときに使用する、アーカイブ・ターゲットの一意の名前。
-
[タイプ] — ファイルをこのターゲットの場所にコピーする方法を指定します。次のいずれかを指定できます。
-
場所が S3 の場合は s3。
-
場所がオンプレミスの場合は rsync。場所が Windows ディレクトリの場合、実際には robocopy が使用されますが、わかりやすくするために、このページではタイプを rsync と表示しています。
-
-
[場所] — 実際のディレクトリを指定します。形式は、場所が S3 かオンプレミスかによって異なります。
-
S3 の場合、[場所] は以下の形式になります。
s3://directoryname/
以下に例を示します。
s3://test-dir/journal-archives/
-
UNIX® の場合、[場所] は以下のいずれかの形式になります。
/directoryname/
または
server:/directoryname/
-
Windows の場合、[場所] は以下のいずれかの形式になります。
\\server\share\directoryname\
または
drive:\directoryname\
-
アーカイブ・ターゲットを作成するには、[Create New Archive Target] をクリックし、上記のように値を指定して [保存] をクリックします。アーカイブ・ターゲットを作成または編集する際、[タイプ] の選択肢は [AWS S3] と [rsync or robocopy] です。後者の場合、指定された場所の形式に基づいて、適用可能なオプションが使用されます。
アーカイブ・ターゲットを編集するには、ターゲットの [編集] リンクをクリックし、必要に応じて値を変更して [保存] をクリックします。
アーカイブ・ターゲットを削除するには、ターゲットの [削除] リンクをクリックし、[OK] をクリックして確定します。
ジャーナル設定の構成
InterSystems IRIS のジャーナリングを構成するには、管理ポータルの [ジャーナル設定] ページ ([システム管理]→[構成]→[システム構成]→[ジャーナル設定]) に移動します。
以下の設定が編集可能です。
-
[主ジャーナルディレクトリ] — ジャーナル・ファイルを格納するディレクトリの名前を入力します。ディレクトリ名の最大長は 214 文字です。
-
[二次ジャーナルディレクトリ] — ジャーナリングの際に、現在のディレクトリのディスクが何らかの理由で書き込みできなくなったときに使用する代替ディレクトリの名前を入力します。("ジャーナル・ディレクトリの切り替え" の説明に従って、ジャーナル・ディレクトリを手動で切り替えることもできます。)ディレクトリ名の最大長は 214 文字です。
Important:パフォーマンスと復元可能性の両方を高めるために、プライマリおよび代替ジャーナル・ディレクトリは、それぞれ異なるストレージ・デバイスに配置し、データベースやライト・イメージ・ジャーナル (WIJ) が使用しているストレージ・デバイスとも異なるストレージ・デバイスに配置することをお勧めします。詳細は、"ジャーナリングの最善の使用方法" を参照してください。
-
[次のサイズに達すると新規ジャーナルに切り替える] — ジャーナル・ファイルの最大サイズをメガバイト単位で入力します。このサイズに到達すると次のジャーナル・ファイルに切り替わります。既定のサイズは 1024 MB です。最大サイズは、4096 – 1 – (ジャーナル・バッファのサイズ) MB に制限されます (以下の "jrnbufs" を参照)。既定のジャーナル・バッファ・サイズ 64 MB を使用した場合、ジャーナル・ファイルの最大サイズは 4031 MB になります。ジャーナル・バッファの最小サイズは 16 MB のため、ジャーナル・ファイルの絶対最大サイズは 4079 MB になります。
-
[ジャーナルファイル接頭語] (オプション) — ジャーナル・ファイル名の英数字接頭語を入力します。
-
[Archive journal files] (オプション) — [To Archive Target] のドロップダウン・リストから値を選択するか、[Create New Archive Target...] をクリックして新しいアーカイブ・ターゲットを定義します。
-
[ジャーナルファイルを削除するタイミング] — システムで不要になったジャーナル・ファイルを削除するタイミングを指定します。
-
この一連のオプションに対して、アーカイブ・ターゲットを指定した場合、ページにはオプションの [As soon as they are copied to archive] チェック・ボックスが表示されます。このチェック・ボックスにチェックを付けた場合、次の 2 つのオプションは無視されます (グレー表示されます)。
アーカイブ・ターゲットを指定しない場合、または [As soon as they are copied to archive] にチェックを付けない場合は、次の 2 つのオプションのいずれかまたは両方を設定できます。両方の設定にゼロ以外の数値を入力すると、ジャーナル・ファイルは、どちらかの条件を先に満たしたときに削除されます。一方を 0 (ゼロ) に設定し、もう一方をゼロ以外の値に設定すると、ゼロ以外の設定によって削除が判定されます。両方が 0 の場合、ジャーナル・ファイル (およびジャーナル履歴) の自動削除は行われません。
-
[この日数後] — 何日後に削除するかを入力します (有効な値は 0 ~ 100)。
Note:ジャーナル・ファイルを削除するまでの日数を設定する場合、削除期限の前の日の最後のジャーナル・ファイルも保持されます。例えば、[この日数後] が 1 に設定され、削除が 4 月 1 日の午前 0 時に実行されると、3 月 30 日に作成された最後のジャーナル・ファイルが、3 月 31 日に作成されたファイルと共に保持されます。
-
[この回数のバックアップ成功後] — バックアップが何回連続して成功した後に削除するかを入力します (有効な値は 0 ~ 10)。
これには、オンライン・バックアップ、$$BACKUP^DBACK("","E") を使用した外部バックアップ、または Backup.General.ExternalSetHistory()Opens in a new tab メソッドを使用したバックアップ履歴への追加が含まれます。
Note:[この日数後] を 0 (時間を基準にして削除しない) に設定し、[この回数のバックアップ成功後] を 1 に設定している場合は、正常なバックアップを 2 回実行するまでジャーナル・ファイルは削除されません。つまり、“連続” の条件を満たすには、2 回の正常なバックアップが必要です。
^JRNOPTS ルーチンを使用するか、または ^JOURNAL ルーチン・メニューからオプション 7 の [ジャーナル・プロパティの編集] を選択することで、これらの設定を更新することもできます。詳細は、"^JRNOPTS を使用したジャーナル設定の更新" を参照してください。
Note:ジャーナル・ファイルは、削除の設定の条件を満たしていても保持される場合があります。この場合、イベントはメッセージ・ログに記録され、理由 (例えば、ジャーナル・ファイルに開いているトランザクションが含まれているなど) が示されます。
-
-
[エラー発生時に凍結する] — この設定は、ジャーナルへの書き込み中にエラーが発生した場合の動作を制御します。既定値は、[いいえ] です (選択されていません)。この設定の詳細は、"ジャーナル入出力エラー" を参照してください。
Note:InterSystems IRIS インスタンスがミラーのプライマリ・フェイルオーバー・メンバの場合 ("ミラーリング" を参照)、インスタンスの [エラー発生時に凍結] の構成が自動的にオーバーライドされ、現在の設定に関係なくジャーナル入出力エラー発生時にすべてのジャーナリングされたグローバル更新がフリーズされます。現在の設定が [いいえ] の場合、インスタンスがプライマリ・フェイルオーバー・メンバでなくなったときに動作がこの設定に戻ります。
-
[ウェブセッションをジャーナルする] — この設定によって、Web サーバ・ページ・セッションのジャーナリングを有効にするかどうかが制御されます。既定値は、[いいえ] です (選択されていません)。
-
[Compress journal files] — この設定によって、ジャーナル・ファイルを圧縮するかどうかが制御されます。既定値は、[はい] です (選択されています)。詳細は、"CompressFiles" を参照してください。
Note:ジャーナルの圧縮とジャーナルの暗号化 ("ENCRYPT^JOURNAL を使用したジャーナルの暗号化" を参照) の両方が有効な場合、ジャーナル・データは常に、圧縮されてから暗号化されます。暗号化されたデータは圧縮されることはありません。
-
[ライト・イメージ・ジャーナル・エントリ] — ライト・イメージ・ジャーナル (WIJ) ファイルの場所を入力します。この設定の詳細は、"ライト・イメージ・ジャーナリング" を参照してください。
-
[WIJ のターゲットサイズ (MB) (0=指定なし)] — WIJ ファイルのターゲット・サイズを入力します。
このページの設定はすべて、インスタンスの iris.cpf ファイルに含まれています。ジャーナル設定の詳細は "[Journal]"、WIJ 設定の詳細は "ライト・イメージ・ジャーナル (WIJ) 設定" および "targwijsz" と "wijdir" を参照してください。
特に指示がない限り、これらの設定のほとんどでは変更後に InterSystems IRIS を再起動する必要はありませんが、どの設定を変更した場合でも新しいジャーナル・ファイルが開始されます。
以下に示す 2 つの追加構成設定は、ジャーナリングに影響します。
-
[jrnbufs] — ジャーナル・バッファに割り当てるメモリの量を指定します。既定値は 64 MB で、最大値は 1024 MB です。最小値は Unicode インスタンスの場合は 16 MB、8 ビット・インスタンスの場合は 8 MB です。この設定値を増やすと ("jrnbufsOpens in a new tab" を参照)、メモリに保管できるジャーナル・データの容量が増大するため、ジャーナリングのパフォーマンスが向上しますが、システム障害時に失われる可能性があるジャーナル・データの最大容量も増大します。データは最後のジャーナル同期の後にバッファに書き込まれているためです ("ジャーナル書き込みサイクル" を参照)。この設定および前述の [次のサイズに達すると新規ジャーナルに切り替える] 設定の合計サイズは 4 GB に制限されているため、jrnbufs を増やすとジャーナル・ファイルのサイズが縮小する可能性があります。
[jrnbufs] の設定を変更するには、管理ポータルの [メモリ詳細設定] ページに移動します ([システム管理]→[構成]→[追加の設定]→[詳細メモリ])。[jrnbufs] の設定は、iris.cpf ファイルを編集することで変更することもできます。詳細は、"構成パラメータ・ファイル・リファレンス" の "jrnbufs" を参照してください。
-
[SynchCommit] — TCOMMIT コマンドがトランザクションに関連するジャーナル・データのディスクへのフラッシュを要求するタイミングを指定します。この設定を true に設定すると、ジャーナル・データの書き込み処理が完了するまで TCOMMIT は待機します。false (既定値) に設定すると、TCOMMIT は書き込み処理の完了を待機しなくなります。
[SynchCommit] の設定を変更するには、管理ポータルの [互換性設定] ページに移動します ([システム管理]→[構成]→[追加設定]→[互換性])。SynchCommit の詳細は、"SynchCommit" と TCOMMIT" を参照してください。