Diagnose error message PFU0389E when unloading from an image copy using Fast Unload
search cancel

Diagnose error message PFU0389E when unloading from an image copy using Fast Unload

book

Article ID: 24221

calendar_today

Updated On:

Products

Fast Unload for DB2 for z/OS

Issue/Introduction

How to diagnose the PFU0389E error message during an unload of an image copy using Fast Unload for Db2 for z/OS (PFU).

PFU0389E - IMAGECOPY REQUESTED 
           DDLDDN NOT SPECIFIED                                                
           TABLE IS VERSIONED                                                  
           DB2 CATALOG REQUIRED TO EXPAND VERSIONED ROWS BUT                   
           OBID=X'xxxx' FROM IMAGECOPY DOES NOT EQUAL                          
           OBID=X'xxxx' FROM DB2 CATALOG                                       
           PLEASE RERUN ON DB2 SSID WHERE TABLE IS DEFINED SO                  
           DB2 CATALOG CAN BE USED TO EXPAND VERSIONED ROWS OR                 
           RERUN USING DDLDDN AND                                              
           IMAGECOPY CONTAINING ONLY ONE VERSION OF ALL ROWS                   
PFU0188E - FASTUNLOAD PROCESSING TERMINATED DUE TO ERROR(S), SEE MESSAGES ABOVE

Resolution

This PFU error is produced when unloading from an image copy of an object from a different Db2 subsystem where versioning / online schema changes have occurred.

Since the table has been altered, the DDL may not match the intended image copy to be unloaded.

The message will print out the image copy OBID from the header of the image copy and display it. It will also check the Db2 catalog for the table's OBID and display it as well.

To circumvent the problem, obtain the original DDL of the table when the image copy was taken. Use the DDLDDN option to unload the image copy. The following is an example of an image copy unload using column definitions provided by DDLDDN parameter specifications. If DDLDDN is specified, an OBID of the table on the image copy must also be provided on the SELECT statement.

See the following sample JCL:

  //STEP020 EXEC PGM=PTLDRIVM,
  // PARM='EP=UTLGLCTL/xxxx'
  //*
  //STEPLIB DD DSN=hlq.CDBALOAD,DISP=SHR
  // DD DSN=db2.dsnexit,DISP=SHR
  // DD DSN=db2.loadlib,DISP=SHR
  //*
  //PTILIB DD DSN=hlq.CDBALOAD,DISP=SHR
  // DD DSN=db2.dsnexit,DISP=SHR
  // DD DSN=db2.loadlib,DISP=SHR
  //*
  //PTIPARM DD DSN=hlq.CDBAPARM,DISP=SHR
  //ST01MSG DD SYSOUT=*
  //*
  //SYSREC01 DD DSN=hlq.SYSREC01,
  // UNIT=SYSDA,
  // SPACE=(CYL,(10,5)),
  // DISP=(NEW,CATLG,CATLG)
  //*
  //SYSCTL01 DD DSN=hlq.SYSCTL01,
  // UNIT=SYSDA,
  // SPACE=(TRK,(1,1)),
  // DISP=(NEW,CATLG,CATLG)
  //*
  //SYSIMAG DD DSN=hlq.IMAGE.COPY(+0),DISP=SHR
  //*
  //INDDL DD DSN=hlq.CNTL(DDL),DISP=SHR
  //*
  //PTIMSG DD SYSOUT=*
  //PTISNAP DD SYSOUT=*
  //SYSOUT DD SYSOUT=*
  //SYSPRINT DD SYSOUT=*
  //SYSUDUMP DD SYSOUT=*
  //*
  //SYSIN DD *
  FASTUNLOAD
  INPUT-FORMAT IMAGECOPY
  OUTPUT-FORMAT DSNTIAUL
  LOAD-CONTROL FASTLOAD
  UNLDDN SYSREC
  CTLDDN SYSCTL
  INDDN SYSIMAG
  DDLDDN INDDL
  IO-BUFFERS 60
  VSAM-BUFFERS 5
  DISPLAY-STATUS 10000
  SHRLEVEL IGNORE
  SELECT *
  FROM creator.table 
  OBID xxx
  ;