AS400 QAOSDIAJRN / APYJRNCHG Processing

Lynn Harris
Lynn Harris used Ask the Experts™
on
Update: I'm trying to sync office vision email changes between to old systems for recovery purposes. Office vision is the only application running both systems:  active system is a 610 v4r5 and the backup system is a 170 v4r4.  

Plan:
Sync users, configuration, etc. once. Then any changes made to the live system (610) will also be made to the backup system (170) manually for these areas. However, documents and email changes by users need to be synced a few times throughout the day. (depending on what the final solution will allow due to availability, speed, etc.) The hope is to sync the folders/files & email every half hour to hour.

 (should be noted I'm a newbie to journaling)

Background:
I would like to use QAOSDIAJRN for email recovery. Documents, as well, if they are recoverable is the same journal. Otherwise SAVRSTDLO will be used to folders/files. The SAVRSTDLO was successful with my own library but I have not done a full test until I get the email working. (I have created a job to grant myself permission to handle email for all current users; if the savrst is required.)

I have not tried remote journaling with redirect because it seems to me the results would be the same (newbie).  Plus,  I'm hoping not to mess with system journals. Whether I use SAVRSTOBJ on the receiver and pass it to the remote system or use remote journaling it seems either way I end up with a receiver on the remote system which must somehow be recognized by the system journal QAOSDIJRN for the apply to work.  

Steps taken:
a) I used CHGJRN to detach the current receiver on QAOSDIAJRN so when I send to the remote system the status is 'saved' and not partial.
b) I tried to use CHGJRN on the remote system to detach the current receiver and attach the one I send over, but it will not allow this because entries exist.
c) Then I thought I could use APYJRNCHG and treat the receiver as if it was a 'broken chain' receiver. I entered the transmitted receiver for the starting and ending journal receiver range and the starting and ending seq number in the receiver from that receiver in the apply change command. In the reading, it was clear you did not want to restore *all when using QAOSDIAJRN so I did as suggested and restore:

APYJRNCHG JRN(QUSRSYS/QAOSDIAJRN)
          FILE((QUSRSYS/QAOKPLCA) (QUSRSYS/QAOSAY05)
               (QUSRSYS/QAOKPX4A) (QUSRSYS/QAOSAY07)
               (QUSRSYS/QAOKP01A) (QUSRSYS/QAOKP02A)
               (QUSRSYS/QAOKP03A) (QUSRSYS/QAOKP04A)
               (QUSRSYS/QAOKP05A) (QUSRSYS/QAOKP06A)
               (QUSRSYS/QAOKP08A) (QUSRSYS/QAOKP09A))
          RCVRNG(lib-name/first-receiver
                 lib-name/last-receiver)
          FROMENT(*LASTSAVE)  
          TOENT(*LAST)

I did each file individually after putting the system in semi-restricted state so no locks existed. I did receive lock messages on first try.  Each step ran without errors, but it did not restore anything - Message: 0 objects restored.

It should be noted for the test receiver I sent to the remote system there are only about 90 entries. I ran chgjrn to create a new receiver on the source machine then did a few emails between myself and my test user, created a couple documents, etc. Then ran chgjrn again so I would have a somewhat 'controlled' test receiver. There are some user changes made during this time but not many.

Any suggestion? If screen prints or addition documentation would be helpful, please let me know.

Thanks!!!
Lynn
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Gary PattersonVP Technology / Senior Consultant

Commented:
Did the receiver contain "object saved" entries for the desired objects?  You used FROMENT(*LASTSAVE), but then you said:

It should be noted for the test receiver I sent to the remote system there are only about 90 entries. I ran chgjrn to create a new receiver on the source machine then did a few emails between myself and my test user, created a couple documents, etc. Then ran chgjrn again so I would have a somewhat 'controlled' test receiver.

Which sounds to me like you may have just grabbed a set of entries that don't contain save indicators needed by *LASTSAVE.

Here's a little RedBooks Tip that may be useful:

http://www.redbooks.ibm.com/abstracts/tips0680.html?Open
VP Technology / Senior Consultant
Commented:
Typically, you'd want to start journaling, do a restricted state save on the source machine (stamps LAST SAVED entries into journal receiver), restore restricted state backup to target machine (now you are in sync as of last save on target).  

Then you can CHGJRN, ship journal receivers to target system, and APYJRNCHG from *LASTSAVE.

After that, you's just APYJRNCHG for the entire each new receiver as you ship it to stay in sync within one receiver.  If you have a RPO of no more than one hour loss, for example, then change receivers every hour.  If you have a very short RPO (seconds, for example), then shipping receivers isn't a good way to handle this, and you'll need to buyor create a tool for near-real-time replication.

Author

Commented:
Hi Gary.

Thank you. I was trying to short cut the *lastsave by supply the seq numbers from the receiver I pushed over. I was hoping it would be similar to processing a 'lost chain' during a recovery. (or how it sounded to me) I will sync the systems and try again.

Thank for the redbook.

Lynn
Gary PattersonVP Technology / Senior Consultant

Commented:
Lost chain should be a last resort - except maybe in a dev or test environment.  Suggest you get the tables in sync first, especially when dealing with system-maintained tables like these.

You're going to have to do it at some point anyway.

Author

Commented:
Update:
I have approval to do the restricted state backup over the weekend. Then I'll sync and proceed.

Thanks again!

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial