作成したファイルを自動的にジャーナル接続させたい
Question
物理ファイルやデータエリアを作成した際、必要に応じてSTRJRNPF、STRJRNOBJなどを実行してジャーナル設定を行っています。
これを、例えば特定のライブラリーに作成した場合は、自動的にジャーナル接続してくれるという設定があったように思うのですが、方法を教えていただけますでしょうか。
Answer
以前は、データエリア「QDFTJRN」を使用することで、自動的にジャーナル処理を行ってくれるという機能がありましたが、現在はそれに代わり「STRJRNLIB」というコマンドが用意されています。
https://www.ibm.com/support/knowledgecenter/ja/ssw_ibm_i_74/cl/strjrnlib.htm
ライブラリーそのものにジャーナルを仕掛けるとともに、ライブラリー内に作成、移動、復元などされたオブジェクトに対して、自動的にジャーナル接続をさせることができます。
設定内容については、DSPLIBDで確認することができます。
DSPLIBD LIB(ライブラリー名) を入力し実行
ここでページダウンをすると、接続されているジャーナル情報が表示されます。
「ライブラリー記述の表示」画面で「F10= 継承規則の表示」を押下すると、STRJRNLIBで設定した継承規則が表示されます。
なお、気を付けなければならないことは、STRJRNLIBの実行時に存在しているオブジェクトに対しては、自動的にジャーナル設定されない事です。
既存のオブジェクトについては、必要に応じて手動でジャーナル設定を行ってください。
また、冒頭で「以前はデータエリア「QDFTJRN」があった」と書きましたが、このデータエリアにも注意が必要です。
V7R3までは、「QDFTJRN」が存在するライブラリーにSTRJRNLIBを実行しても、「QDFTJRN」の設定情報が優先されました。V7R4からは「QDFTJRN」は無効になりますので、必要に応じて、STRJRNLIBに置き換えていただく必要があります。
以下、IBMプログラム資料説明書の抜粋です。
QDFTJRN データ域に対するサポートの除去
QDFTJRN データ域を使用した自動ジャーナル処理サポートは、i5/OS V5R3 で導入されました。
IBM i 6.1 で、この機能はライブラリー・ジャーナル処理開始 (STRJRNLIB) コマンドに置き換えられました。
IBM i 7.4 で、QDFTJRN データ域はサポートされなくなり、存在する場合には無視されます。
STRJRNLIBというよりもジャーナルを使用している環境全てに言える事ですが、ジャーナルは対象オブジェクトの更新履歴をレシーバーに書き込む機能になります。
ジャーナル接続の用途がデータの更新履歴を残すためである場合、履歴が不要なファイル、例えばワークファイルなどをジャーナル接続させてしまうと、場合によってはレシーバーサイズが大きく膨れ上がることがあります。
本当にすべてのオブジェクトをジャーナル対象にして問題がないか、検討いただき設定していただければと思います。
by かんぴょう木綿さん