ADABAS utility to perform protection logs consolidation

Is there any ADABAS utility to perform protection logs consolidation to a single tape dataset for restore purpose in version 8.5.3? Currently we use a cobol program which perform this, which was written 30 years before.

Hi Kusumam,

A simple IEBGENER would be fine to use. Example:

//STEP01   EXEC PGM=IEBGENER                            
//SYSPRINT DD SYSOUT=*                                  
//SYSUT1   DD DSN=VSTA.PRD1.PLOG.COPY.G8593V00,DISP=SHR 
//         DD DSN=VSTA.PRD1.PLOG.COPY.G8594V00,DISP=SHR,
//         UNIT=AFF=SYSUT1                              
//         DD DSN=VSTA.PRD1.PLOG.COPY.G8595V00,DISP=SHR,
//         UNIT=AFF=SYSUT1                              
//         DD DSN=VSTA.PRD1.PLOG.COPY.G8596V00,DISP=SHR,
//         UNIT=AFF=SYSUT1   
...
... (how ever many you have)
...                           
//SYSUT2   DD DSN=VSTA.PRD1.WEEKLY.PLOG.COPY(+1), 
//           DISP=(NEW,CATLG,DELETE),UNIT=TAPE,    
//           VOLUME=(,,,250),DCB=IMCMODEL          
//SYSIN    DD DUMMY                               
//*                                               

Regards,

Brian

Hi Brian,
If you still use IEBGENER, I’d like to point your attention to ICEGENER; based on DF SORT, ICEGENER is much faster and uses the same SYSIN/SYSUT1/SYSUT2 - no changes are needed.
Best regards,

1 Like

Thanks for the reply.
Please let me know if we can have GDG (which will process all the existing PLOG dataset) in SYSUT1.
We need to schedule a daily batch job for this purpose, which consolidates all the existing datasets to a tape dataset and then delete the existing PLOG datasets, so that we can use the ‘consolidated single PLOG dataset’ along with online SAVE dataset for ADASAV RESTONL.

I’ll have to test that out… thanks Nikolay.

Hi Kusumam,

If you do that, deleting the GDGs could be important to avoid the situation where you have a generation rollover from G9999V00 to G0001V00 which would potentially cause you to write the PLOG data out of sequence using a simple MY.GDG.PLOG.DATA(*) reference. I recommend testing this (without deleting the PLOG GDG datasets) and ensuring the tapes are mounted in the correct order and cover all of them.

One potential pitfall you would have though is if your database produces one or more new PLOG copy tape(s) after you run the IEBGENER (or ICEGENER) and make the rollup tape but before you can delete all PLOG copy tapes. Maybe this wouldn’t happen often but if it can happen, you can be sure some time it will, and then you’ll be missing PLOG data.

This is why I take the approach I do where I save the name of the last PLOG copy tape I rolled up in a dataset so I know where to start next time, and I don’t delete the individual copy tapes as that is not necessary (and it is useful to keep so many generations of those as well). I use a Natural program using Entire System Server to read the catalog and dynamically build the PLOG rollup job. When I hit G9999V00, I reread the catalog from the beginning and append those starting with G0001V00 in the SYSUT1 concatenation after G9999V00. In all cases, I then save again the name of the last generation I included. The job that builds the dynamic JCL (writing to a special JCL PDS) then triggers the job that runs that dynamically built JCL.

Hope this helps!

//SYSUT1 DD DSN=YOUR.GDG,DISP=SHR,GDGORDER=FIFO

will concatinate all existing versions of the GDG in first-in/first-out order.
When you omit the GDGORDER parameter they’ll be last-in/first-out which you’d like to avoid …

1 Like

Currently I am not going to delete the PLOG datasets for test purpose.
I included all existing PLOG dataset in GDG to process in SYSUT1 with GDGORDER=FIFO.
I am getting below error while performing ADASAV RESTONL:

Supplied parameters are: PLOGNUM = 125
SYN1/4 = 77

A D A S A V: Error occurred during execution:

ERROR-121, Wrong Protection Log tape

       The wrong Protection Log tape has been mounted.
       The requested Protection Log has               
          DBID 99, Session Number 125, NUCID 0.       
       The supplied Protection Log is from            
          DBID 0, Session Number 0, NUCID 61440.

I used the PLOG tape dataset concatenated by IEBGENER in ADASAV RESTONL job and it throwed below error:

Supplied parameters are: PLOGNUM = 125
SYN1/4 = 77

A D A S A V: Error occurred during execution:

ERROR-121, Wrong Protection Log tape


       The wrong Protection Log tape has been mounted.
       The requested Protection Log has               
          DBID 99, Session Number 125, NUCID 0.       
       The supplied Protection Log is from            
          DBID 0, Session Number 0, NUCID 61440.

Please let me know what can be done to solve this.

You can’t just always combine all PLOGs from 0 to the newest, the message tells you what the utility expects, when you specify PLOG = 125 this must be the first one, not 0.