メニューボタン
サポートチーム便り2022.11.22

フルバックアップ取得時に保管できないオブジェクトを 事前に確認したい。(保管属性(ALWSAV)について)

Question

定期的にフルバックアップを取得していますが、SAVコマンド実行中にエラーとなり、保管できないオブジェクトが存在する時があります。

メッセージへは'G'で応答し、保管処理が完了した後に、ジョブログを確認すると、

スクリーンショット

メッセージ CPD37C3 が出ており、保管できなかったオブジェクトを特定できますが、フルバックアップ取得する前に、保管属性(ALWSAV)が*NOに設定されているオブジェクトを 確認する方法はありませんでしょうか。

Answer

IBM i V5R4M0以降で、保管属性(ALWSAV)が*NOに設定されているオブジェクトを確認する事ができます。

ディレクトリー情報の検索 (RTVDIRINF) コマンドを実行します。

今回例では、ディレクトリー /tmp 内を確認します。

コマンド例: RTVDIRINF DIR('/tmp') INFLIB(QUSRSYS)

このコマンドを実行すると、ライブラリーQUSRSYS内に、2つのファイルが作成されます。

ファイル名は、QAEZDで始まりその後に4桁の数字が続きます。(最後に、D と Oが付きます)

QAEZD0001D ディレクトリー情報を含みます
QAEZD0001O ディレクトリー内のオブジェクトに関する情報を含みます

※作成されたファイル名は、コマンドを実行直後のメッセージ CPI1E30 をご確認ください。

スクリーンショット

作成されたファイルから、保管属性(ALWSAV)が*NOのオブジェクトが確認できます。

※この例では、STRSQLにて確認いたします。

STRSQL を実行し、

SELECT T01.QEZNONSAV, T01.QEZOBJNAM, T02.QEZDIRNAM1 FROM QUSRSYS/QAEZD0001O T01, QUSRSYS/QAEZD0001D T02 WHERE T01.QEZDIRIDX = T02.QEZDIRIDX AND QEZNONSAV = '1'
を実行します。

→ QEZNONSAV(Object can be saved or not)の値が 1 の場合に、保管属性(ALWSAV)が*NOになっています。

スクリーンショット

この例では、ディレクトリー /tmp 内の、ScanOutput.txt と ActiveJobs.txt が、保管属性(ALWSAV)が*NOになっています。

このオブジェクトを WRKLNK コマンド → 「8=属性の表示」で確認すると、

スクリーンショット

「保管可能」がNOになっているのが確認できます。

もし、「保管可能」を*YESへ変更する場合には、属性変更 (CHGATR)コマンドを使用します。

※WRKLNKコマンドを実行し、対象オブジェクトのOPTへ 「13=属性の変更」にて変更できます。

スクリーンショット

このように、フルバックアップ取得前に、「保管可能」がNOのオブジェクトを確認し、必要に応じて属性を*YESへ変更しておけば、フルバックアップ取得時にエラーが出なくなります。

特にシステムが一時的に使用するディレクトリー /tmp などは、フルバックアップ取得前に確認したほうがいいかもしれません。

※注意点

  • ルート(/)ディレクトリーまたは、大きいディレクトリーに対してこれを実行すると、時間がかかり、ファイルがロックされる可能性があります。
  • RTVDIRINFコマンドを実行する度に、ファイル QAEZD(数字)が作成されますので、必要に応じて削除する事をお勧めいたします。
    → 全てのファイル QAEZD(数字)を削除しても、RTVDIRINFコマンド実行時に再作成されますので、問題ございません。

※ご参考サイト

by あすと

PAGE TOP