最初のページに戻ります。

総合の目次があるページに戻ります。

よく使うマニュアルです

Wiki

updated on 2004.06.23

3.16.ジャーナルレシーバの自動削除機能

[ Previous ] [ HOME ] [ Upper ] [ Next ]


ジャーナルの自動削除機能をテストしてみました。
PGM

 DCL  &LIB  *CHAR  10 'TST'

 MONMSG  CPF0000

 CRTJRNRCV &LIB/JRNRCV  THRESHOLD(5000)
 CRTJRN    &LIB/JRN     JRNRCV(&LIB/JRNRCV) MNGRCV(*SYSTEM) DLTRCV(*NO)
 CRTPF     &LIB/JRNPF   RCDLEN(1000) SIZE(*NOMAX)
 STRJRNPF  &LIB/JRNPF   JRN(&LIB/JRN) IMAGES(*BOTH)

RETURN
ENDPGM

この後、JRNPFに膨大なレコードを追加してみます。

                                 Command Entry                         
                                                           Request level:   4
 All previous commands and messages:
      Ownership of object JRN in TST type *JRN changed.
      Journal JRN created in library TST.
        1100 - CRTPF FILE(TST/JRNPF) RCDLEN(1000) SIZE(*NOMAX)
      File JRNPF created in library TST.
      Member JRNPF added to file JRNPF in TST.
        1300 - STRJRNPF FILE(TST/JRNPF) JRN(TST/JRN) IMAGES(*BOTH)
      File JRNPF started journaling to journal JRN.
      1 files have started journaling.
        2100 - RETURN

  4 > CPYF FROMFILE(QTEMP/Q) TOFILE(JRNPF) MBROPT(*ADD)
      23386 records copied from member JRNPF.
                                                                         Bottom
 Type command, press Enter.
 ===>


 F3=Exit   F4=Prompt   F9=Retrieve   F10=Exclude detailed messages
 F11=Display full      F12=Cancel    F13=Information Assistant   F24=More keys

さらに、WRKJRNAでジャーナルの接続状況をみると、

                          Work with Receiver Directory

 Journal  . . . . . . :   JRN             Library  . . . . . . :   TST

 Total size of receivers (in kilobytes)  . . . . . . . . . . . :   31516

 Type options, press Enter.
   4=Delete   8=Display attributes


                                      Attach                              Size
 Opt  Receiver    Library     Number  Date      Status                     (K)
      JRNRCV      TST         00001   04/23/02  ONLINE                    5768
      JRNRCV0001  TST         00002   04/23/02  ONLINE                    5128
      JRNRCV0002  TST         00003   04/23/02  ONLINE                    5128
      JRNRCV0003  TST         00004   04/23/02  ONLINE                    5128
      JRNRCV0004  TST         00005   04/23/02  ONLINE                    5128
      JRNRCV0005  TST         00006   04/23/02  ONLINE                    5128
                                                                        More...
 Parameters or command
 ===>
 F3=Exit   F4=Prompt   F5=Refresh   F9=Retrieve   F11=Display systems
 F12=Cancel

と勝手に切り離されています。

CRTJRNRCV &LIB/JRNRCV  THRESHOLD(5000)敷居値を5000KBにしているので、大体その値で切り離されています。

今度は、同じことを、DLTRCV(*YES)にして行います。

                          Work with Receiver Directory

 Journal  . . . . . . :   JRN             Library  . . . . . . :   TST

 Total size of receivers (in kilobytes)  . . . . . . . . . . . :   3868

 Type options, press Enter.
   4=Delete   8=Display attributes


                                      Attach                        Save
 Opt  Receiver    Library     Number  Date      Status              Date
      JRNRCV0005  TST         00001   04/23/02  ATTACHED            00/00/00





                                                                         Bottom
 Parameters or command
 ===>
 F3=Exit   F4=Prompt   F5=Refresh   F9=Retrieve   F11=Display size
 F12=Cancel

このように、onlineになっているものが、一つも無く、接続中のジャーナルのみが残っています。残りは、システムが勝手に削除しています。

マニュアルによれば、この機能は、限定的に使用するものとして説明されています。

システム変更ジャーナル管理を選択する場合、回復に必要がなくなったジャーナ ル・レシーバーをシステムに削除させることもできます。システムは、アクセス・ パスの回復またはコミットされた変更のロールバックなどのような、システム自体 の回復機能にレシーバーが必要かどうかを評価できるだけです。システムは、ジャ ーナルされた変更を適用または除去するのにレシーバーが必要かどうかを判別する ことはできません

次の条件のうちのいずれかが真の場合には、システムはジャーナル・レシーバーを 削除することができません (DLTRCV (*YES) が使用される場合でも)。

  • ジャーナル・レシーバーの削除 (DLTJRNRCV) 出口点 (QIBM_QJO_DLT_JRNRCV) 用に登録された出口プログラムが、レシーバーが削除に適さないことを示して いる。
  • ジャーナルに遠隔ジャーナルが関連付けられており、関連するそれらの遠隔ジ ャーナルの 1 つ以上がこのレシーバーの完全なコピーを持っていない。
  • 操作を完了するのに必要な適切なロックをシステムが取得できなかった。
  • 出口プログラムが登録されたかどうかを判別するために、出口プログラム登録 機能を利用できなかった。
システムの削除レシーバー・サポートを使用する場合、環境が適切であることを確 認する必要があります。QSYSOPR メッセージ待ち行列、およびジャーナルに割り当 てられたメッセージ待ち行列を定期的にチェックする必要もあります
  • 上記のいずれかの理由によりシステムが DLTJRNRCV コマンドを完了できない 場合、システムは 10 分おきに再試行します。それからジャーナルのメッセー ジ待ち行列と QSYSOPR メッセージ待ち行列に CPI70E6 メッセージを送信しま す。このようなとき、なぜその操作を実行できないかを判別し、その条件を訂 正するか、DLTJRNRCV コマンドを実行することができます。
  • 他の何らかの理由によりシステムがコマンドを完了できない場合、システムは ジャーナルに割り当てられたメッセージ待ち行列に CPI70E1 メッセージを送 信します。ジャーナルにメッセージ待ち行列を特別に割り当てていない場合、 メッセージは QSYSOPR メッセージ待ち行列に送信されます。QHST のメッセー ジを見て問題を判別してください。その問題を訂正してから、特定のジャーナ ル・レシーバーで DLTJRNRCV コマンドを使用してください。
切り離されたジャーナル・レシーバーが回復に必要な場合、または削除する前にそ れを保管したい場合、それを削除する選択はしないでください。システムはジャー ナル・レシーバーを削除する前に保管することはありません。ユーザーが保管され ていないレシーバーを削除しようとした場合に出す警告メッセージ (CPA7025) を システムが出すことはありません。

DLTRCV(*YES) を指定できるときの例には、次のものが含まれます。

  • コミットメント制御のジャーナル処理をしているとき。
  • 明示のアクセス・パス保護のジャーナル処理をしているとき。
  • ユーザーが遠隔ジャーナル機能によって別のシステムにジャーナル・レシーバ ーを複写しており、そのシステムがジャーナル・レシーバーのバックアップ・ コピーを提供しているとき。

注: このパラメーターを指定できるのは、MNGRCV(*SYSTEM) を指定するときと、 ジャーナルが遠隔ジャーナルのときに限られます。

今度はさらに、コミットメントコントロールをして、サスペンド状態でのテストをしました。サスペンドしているときに、消えてしまっては、困るからです。

上記設定で、STRCMTCTLをして、下記RPGを流します。意図的に、ROLBKもCOMITもしていません。

 FJRNPF   IF  E                    DISK                      A
 F                                              KCOMIT
 F            JRNPF                             KRENAMEJRN001R
 IJRN001R
 I              JRNPF                           JRNPFD
 C           1         DO   60000
 C                     WRITEJRN001R
 C                     ENDDO
 C*
 C                     MOVE *ON       *INLR
 C                     RETRN
 C                     READ JRN001R                  90 

DSPRCDLCK JRNPF (同一ジョブでこれだけたくさんのレコードロックは、コミットメントの特徴ですね)

                          Display Member Record Locks
                                                             System:   
 File . . . . . . . . :   JRNPF           Member . . . . . . . :   JRNPF
   Library  . . . . . :     TST

          Record                                            Lock
          Number  Job         User        Number  Status    Type
               1  JOBJOBJOB   TESTUSER1   676742  HELD      UPDATE
               2  JOBJOBJOB   TESTUSER1   676742  HELD      UPDATE
               3  JOBJOBJOB   TESTUSER1   676742  HELD      UPDATE
               4  JOBJOBJOB   TESTUSER1   676742  HELD      UPDATE
               5  JOBJOBJOB   TESTUSER1   676742  HELD      UPDATE
               6  JOBJOBJOB   TESTUSER1   676742  HELD      UPDATE
               7  JOBJOBJOB   TESTUSER1   676742  HELD      UPDATE
               8  JOBJOBJOB   TESTUSER1   676742  HELD      UPDATE
               9  JOBJOBJOB   TESTUSER1   676742  HELD      UPDATE
              10  JOBJOBJOB   TESTUSER1   676742  HELD      UPDATE
              11  JOBJOBJOB   TESTUSER1   676742  HELD      UPDATE
              12  JOBJOBJOB   TESTUSER1   676742  HELD      UPDATE
                                                                        More...
 Press Enter to continue.

 F3=Exit   F5=Refresh   F12=Cancel

 

                          Work with Journal Attributes

 Journal  . . . . . . :   JRN             Library  . . . . . . :   TST

 Auxiliary storage                        Journal type . . . . :   *LOCAL
   pool . . . . . . . :   1               Journal state  . . . :   *ACTIVE
 Message queue  . . . :   QSYSOPR         Receiver size options:   *NONE
   Library  . . . . . :     *LIBL
 Manage receivers . . :   *SYSTEM
 Delete receivers . . :   *YES
 Text . . . . . . . . :   *BLANK

 Type options, press Enter.
   8=Display attributes

         Attached
 Option  Receiver    Library
         JRNRCV0002  TST


                                                                         Bottom
 F3=Exit   F5=Refresh   F12=Cancel    F13=Display journaled files
 F14=Display journaled access paths   F24=More keys

 

                          Work with Receiver Directory

 Journal  . . . . . . :   JRN             Library  . . . . . . :   TST

 Total size of receivers (in kilobytes)  . . . . . . . . . . . :   16300

 Type options, press Enter.
   4=Delete   8=Display attributes


                                      Attach                        Save
 Opt  Receiver    Library     Number  Date      Status              Date
      JRNRCV      TST         00001   04/23/02  ONLINE              00/00/00
      JRNRCV0001  TST         00002   04/23/02  ONLINE              00/00/00
      JRNRCV0002  TST         00003   04/23/02  ATTACHED            00/00/00



                                                                         Bottom
 Parameters or command
 ===>
 F3=Exit   F4=Prompt   F5=Refresh   F9=Retrieve   F11=Display size
 F12=Cancel

本来、切り離された後で、消されているはずのジャーナルは残っています。ここで、ENDCMTCTLをして、RBを指定してみます。ログには、以下のように出ました。

ENDCMTCTL
ENDCMTCTL requested with changes pending. (RB C CM)
RB
60000 pending changes being rolled back.
Commitment control ended with 60000 local changes not committed.

そこで、データを確認すると、

                          Display Physical File Member
 File . . . . . . :   JRNPF               Library  . . . . :   TST
 Member . . . . . :   JRNPF


 *...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+...

   (Selected member contains no records)













                                                                         Bottom
 F3=Exit   F12=Cancel

予定通りデータはありません。また、WRKJRNA JRNを実行すると

                          Work with Receiver Directory

 Journal  . . . . . . :   JRN             Library  . . . . . . :   TST

 Total size of receivers (in kilobytes)  . . . . . . . . . . . :   2588

 Type options, press Enter.
   4=Delete   8=Display attributes


                                      Attach                        Save
 Opt  Receiver    Library     Number  Date      Status              Date
      JRNRCV0005  TST         00001   04/23/02  ATTACHED            00/00/00





                                                                         Bottom
 Parameters or command
 ===>
 F3=Exit   F4=Prompt   F5=Refresh   F9=Retrieve   F11=Display size
 F12=Cancel

で、切り離され削除されていなかった、ジャーナルレシーバーは削除されました。まったく問題ないようです。

テストしていて気が付きましたが、敷居値が小さく設定されて、データが一気に大量に書き出されると、切り離しそのものに時間がかかり、レスポンスが遅くなるようです。実施した上での最適な値を探し出したほうがよさそうです。

これらを考えると、運用上、MNGRCV(*SYSTEM) DLTRCV(*YES)を利用しない場合よりも、利用したほうが、効率がいいのではないかと思います。

利用にあたっては、そのジャーナルの使い道が、本当に、コミット機能に限定されているのか、が、ポイントです。

2002-5-2


[ Previous ] [ HOME ] [ Upper ] [ Next ]

You are at K's tips-n-kicks of AS/400

 

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送