We currently maintain a number of iSeries 400's. The most critical is our ASP (application service provider) system. We have a large customer base on that system that runs 23 hours each day. The one-hour window is for backups and restoration to our backup (HOTSITE) system. These two systems reside in different states, and we needed a way to update the backup (HOTSITE) system without having to save the data to tape from our ASP production system and send it over night to restore on the backup (HOTSITE) machine.
At the time, we had not received our high-availability data replication software, so we created a process of programs to save the data and send it using FTP and the Job Scheduler. This is a totally automated process. The first step was to get a full set of user libraries to the backup system making sure that the HISTORY parameter on the SAVLIB command was set to *YES. Once restored on the backup system, this is the process with the programs that we used to accomplish the job:
Each night we ran a SAVCHGOBJ with the REFDATE parm set to *SAVLIB on the required libraries on the ASP system. That insured a cumulative save during the week. Each Sunday we performed a SAVCHGOBJ first, then a SAVLIB on the required user libraries with the UPDHST parm set to *YES. That would reset the flags so that we could start a new round of SAVCHGOBJ cumulative saves for the next week.
The process looks complicated and cumbersome, (and truth be known, it took a bit to get it right), but all in all it was rock solid and rather easy to understand and maintain. This process moved over 4.5 gigabytes of compressed data each night to the HOTSITE across a T-1 connection in fewer than four hours.
If your interested in the CL, RPG and FTP programs, they are available for free. Just send an email to email@example.com or Donovan.Wesly@didean.com. By the way, Donovan is quite the wizard at FTP scripting and the iSeries 400.
LEGEND for the Libraries:
IDTAQ contained saves of DTAQ's (DTAQ's required separate saves due to the nature of the object
IBACKUP contained all of the save files of the individual libraries
TRANSFER contained the final save file of all individual save files from IBACKUP to be FTP'ed to HOTSITE
- Clear the IDTAQ and IBACKUP libraries.
- Job schedule entry CLRIDTAQ and CLRILIB
- This is accomplished by running the CLRLIB command
- Rename of the IDTAQ and IBACKUP save files in library TRANSFER. They will be renamed to IQ + mm,dd for IDTAQ save file and I + MM,DD for IBACKUP save file.
- Job schedule entry RENAME and RENAMEDTAQ
- Programs RNMIBKUP for IBACKUP and RNMIDTAQ for IDTAQ.
- Create save files for the data queues from the file library and work library of each customer in library IDTAQ. The save files use the naming convention of "Customer code + MM + DD + version + D" for file library and "Customer code + MM + DD + version + E" for work library. All data queues from each customer's library are saved to there respective save file.
- Job schedule entry CRTIDTAQ
- Program CRTIADTA
- Create save files for the save changed objects from the file, work, and save library of each customer in library IBACKUP. The save files use the naming convention of "Customer code + MM + DD + version + F" for file library, "Customer code + MM + DD + version + W" for work library, and "Customer code + MM + DD + version + S" for save library. These save files contain the save changed objects for each customers library.
- Job schedule entry CRTCSTSAVS
- Program CRTCSTSAVS
- Save the IDTAQ and IBACKUP libraries to save files in TRANSFER.
- Job schedule entry SAVIDTAQ and SAVISAVF
- Programs SAVIDTAQ and SAVIBKUP.
- FTP the IDTAQ save file to the HOTSITE
- Job schedule entry FTPIDTAQ
- Program FTPIDTAQ
- FTP the IBACKUP library to the HOTSITE
- Job schedule entry FTPISAVF
- Program FTPACOMM
- Clear save file IDTAQ in library TRANSFER.
- Job schedule entry CLRIDTAQ
- Program CLRIDTAQ
- Clear save file IBACKUP in library TRANSFER.
- Job schedule entry CLRISAVF
- Program CLRSAVF
- Delete outfiles created for previous day's jobs. The outfiles are used to restore the objects in the individual save files.
- Job schedule entry DLTOUT and DLTOUT2
- Programs DLTOUT and DLTOUT2
- Delete data queues out of the file and work libraries of each individual customers.
- Job schedule entry DLTDTAQS
- Program DLTDTAQS
- Delete old IDTAQ library (previous day) and restore current days IDTAQ library from save file in TRANSFER.
- Job schedule entry RSTDTAQ
- Program RSTDTAQ
- Create outfile OUTPUT2 in QGPL for IDTAQ.
- Job schedule entry CRTOUTPUT2
- Program CRTOUT2
- Restore data queues from the individual save files in library IDTAQ.
- Job schedule entry RSTIDTAQ
- Program RSTIDTAQ
- Delete old IBACKUP library (previous day) and restore current days IBACKUP library from save file in TRANSFER.
- Job schedule entry RSTIA
- Program RSTIA
- Create outfile OUTPUT in QGPL for IBACKUP.
- Job schedule entry CRTOUTPUT
- Program CRTOUT
- Restore the save change objects from the individual save files in library IBACKUP.
- Job schedule entry RSTISAVF
- Program RSTISAVF
About the author: Kris oversees an iSeries technical support subsidiary, Didean Solutions, which he established to offer systems management and technical consulting for Innovative Computing Corp.'s transportation customer base.
- OS/400 Discussion Forum: Post your questions, and get answers from other iSeries users as well as search400 experts.
Ask the Experts yourself: Our systems management gurus are waiting to answer your technical questions.
This was first published in September 2001