概要
今度は、SAVFをFTPでAS400へアップロードする方法にて、AS400に保管されたSAVFを使って、保管したライブラリーを実際に復元します。
SAVF自体は、ただの保管ファイルですので、中身を復元させる必要があります。当たり前ですね。
コマンド例
RSTLIB SAVLIB(保管ライブラリー名) DEV(*SAVF) SAVF(SAVFファイル名) MBROPT(*ALL) ALWOBJDIF(*ALL)
オプション
MBROPT「DBメンバー・オプション」
値 | 内容 |
---|---|
*MATCH | 保管されたメンバーは、それらの存在しているメンバーのリストが現行システム・バージョンのリストとメンバーごとに一致している場合には復元される。オプションALWOBJDIFで *ALL が指定されている場合は、無効となる |
*ALL | SAVF内のすべてのメンバーが復元される |
*NEW | AS400ライブラリーに存在していないSAVF内の新しいメンバーのみが復元される |
*OLD | AS400ライブラリーに存在しているメンバーのみが復元される |
ALWOBJDIF「オブジェクト差異可能」
値 | 内容 |
---|---|
*ALL | MBROPTで指定した相違のすべてが復元操作で許可される |
基本的に、MBROPT(ALL) ALWOBJDIF(ALL) のオプション指定で、正常に復元されると思います。
ライブラリーの中身を入れ替える場合
- 処理の流れ
- SAVF確認
- 対象ライブラリー消去(任意)
- RSTLIBコマンド実行
1.SAVF確認
DSPSAVF FILE(TIGERSAV/TIGERSAVF2)
保管されたオブジェクトの表示 保管されたライブラリー . . : TIGERDB オプションを入力して,実行キーを押してください。 5= 表示 OPT オブジェクト タイプ 属性 所有者 サイズ (K) データ TIGERDB *LIB PROD QSECOFR 192 YES EMPLOYEES *FILE PF ******* 76 YES MSHAIN *FILE PF ******* 68 YES MSHAINL02 *FILE LF ******* 64 YES MSHAINL01 *FILE LF ******* 60 YES
- 使用するSAVFがSAVLIBコマンドにて保管されているかを確認します。
- タイプ *LIB が存在していれば、SAVLIBコマンドにて保管されたSAVFであることがわかります。
- SAVOBJコマンドにて作成されたSAVFである場合には、RSTLIBコマンド実行時に失敗してしまいます。
2.対象ライブラリー消去(任意)
CLRLIB TIGERDB
- 必要に応じ、リストア処理前に復元先のライブラリーを空にしておきます。
- SAVFに存在せず、復元先に残っているオブジェクトは、MBROPT(ALL) ALWOBJDIF(ALL)でリストア処理を行っても、消去されません。
3.RSTLIBコマンド実行
RSTLIB SAVLIB(TIGERDB) DEV(*SAVF) SAVF(TIGERSAV/TIGDBSAVF2) MBROPT(*ALL) ALWOBJDIF(*ALL)
※RSTLIBオプションにて、指定したライブラリーへ復元させることも可能です。
RSTLIB SAVLIB(TIGERDB) DEV(*SAVF) SAVF(TIGERSAV/TIGDBSAVF2) MBROPT(*ALL) ALWOBJDIF(*ALL) RSTLIB(TIGERDB2)
- RSTLIBオプションの初期値は、SAVLIBの値となるため、バックアップしたライブラリー名にて復元されますが、一度別ライブラリーに展開して内容を確認する場合などで効果的かと思われます。