Sentencias de control LISTDEF de muestra

Utilice las sentencias de control de muestra como modelos para desarrollar sus propias sentencias de control LISTDEF.

Ejemplo 1: Definición de una lista de objetos

La siguiente declaración de control define una lista que incluye los siguientes objetos:

  • Espacio de mesa DBLT0301.TLLT031A
  • Espacio de índice DBLT0301.IXlT031A
  • Espacio de mesa DBLT0301.IPLT031C
  • Espacio de tabla que contiene ADMF001.TBLT032A_1

El nombre de la lista es NAME1. Cualquier declaración de utilidad posterior puede hacer referencia a esta lista.

LISTDEF NAME1 INCLUDE TABLESPACE DBLT0301.TLLT031A            
              INCLUDE INDEXSPACE DBLT0301.IXLT031A            
              INCLUDE TABLESPACE DBLT0301.TPLT031C            
              INCLUDE TABLESPACES TABLE  ADMF001.TBLT032A_1 

Ejemplo 2: Definir una lista de todos los objetos de una base de datos

La siguiente instrucción de control define una lista ( EXAMPLE2 ) que incluye todos los espacios de tabla y todos los espacios de índice en la base de datos PAYROLL.

LISTDEF EXAMPLE2 INCLUDE TABLESPACES DATABASE PAYROLL
                 INCLUDE INDEXSPACES DATABASE PAYROLL

Ejemplo 3: Definir una lista utilizando caracteres de coincidencia de patrones

La siguiente instrucción de control define una lista (PAYROLL) que incluye los siguientes objetos:

  • Todos los espacios de tabla en la base de datos PAYROLL, excepto los espacios de tabla cuyos nombres comienzan por TEMP.
  • Todos los espacios de índice de la base de datos PAYROLL que terminan en IX, excepto aquellos que comienzan por TMPIX.

La siguiente sentencia de control de la utilidad COPY procesa esta lista.

LISTDEF PAYROLL INCLUDE TABLESPACE PAYROLL.*
                EXCLUDE TABLESPACE PAYROLL.TEMP*
                INCLUDE INDEXSPACE PAYROLL.*IX
                EXCLUDE INDEXSPACE PAYROLL.TMPIX*
COPY LIST PAYROLL …

Ejemplo 4: Definición de una lista de particiones y espacios de tabla no particionados

La siguiente instrucción LISTDEF define una lista que incluye una entrada para cada partición de los espacios de tabla particionados que cumplen los requisitos y una entrada para cada espacio de tabla no particionado que cumple los requisitos. La lista se llama " EXAMPLE4 ". Los espacios de la mesa deben satisfacer el PAY*.* nombre patrón.

LISTDEF EXAMPLE4 INCLUDE TABLESPACE PAY*.* PARTLEVEL

Supongamos que tres espacios de mesa cumplen los requisitos. De estos espacios de tabla, dos son espacios de tabla particionados ( PAY2.DEPTA y PAY2.DEPTF ) que tienen cada uno tres particiones y uno es un espacio de tabla no particionado ( PAY1.COMP ). En este caso, la lista de " EXAMPLE4 " incluye los siguientes elementos:

  • PAY2.DEPTA partición 1
  • PAY2.DEPTA partición 2
  • PAY2.DEPTA partición 3
  • PAY2.DEPTF partición 1
  • PAY2.DEPTF partición 2
  • PAY2.DEPTF partición 3
  • PAY1.COMP

Si especificó PARTLEVEL(2) en lugar de PARTLEVEL, la lista de EXAMPLE4 incluye los siguientes elementos:

  • PAY2.DEPTA partición 2
  • PAY2.DEPTF partición 2
  • PAY1.COMP

Si especificó PARTLEVEL(0) en lugar de PARTLEVEL, la lista de e EXAMPLE4 es incluye solo PAY1.COMP.

Ejemplo 5: Definición de una lista de índices COPY YES

La siguiente instrucción de control define una lista ( EXAMPLE5 ) que incluye espacios de índice relacionados de la lista referenciada ( EXAMPLE4 ) que se definieron o modificaron a COPY YES.

LISTDEF EXAMPLE5 INCLUDE LIST EXAMPLE4 INDEXSPACES COPY YES

Ejemplo 6: Definir una lista que incluya todas las particiones del espacio de tabla excepto una

La siguiente instrucción de control define una lista ( EXAMPLE6 ) que incluye todas las particiones del espacio de tabla X, excepto la partición 12. La cláusula INCLUDE añade una entrada para cada partición, y la cláusula EXCLUDE elimina la entrada para la partición 12.

LISTDEF EXAMPLE6 INCLUDE TABLESPACE X PARTLEVEL
                 EXCLUDE TABLESPACE X PARTLEVEL(12)

Si la palabra clave PARTLEVEL no se especifica en ambas cláusulas, como en las dos declaraciones de ejemplo siguientes, los elementos INCLUDE y EXCLUDE no se cruzan. Por ejemplo, en la siguiente declaración, el espacio de tabla X se incluye en la lista en su totalidad, no a nivel de partición. Por lo tanto, la partición 12 no puede ser excluida.

LISTDEF EXAMPLE6 INCLUDE TABLESPACE X
                 EXCLUDE TABLESPACE X PARTLEVEL(12)

En el siguiente ejemplo de declaración, la lista incluye solo la partición 12 del espacio de tabla X, por lo que el espacio de tabla X en su totalidad no puede ser excluido.

LISTDEF EXAMPLE6 INCLUDE TABLESPACE X PARTLEVEL(12)
                 EXCLUDE TABLESPACE X

Ejemplo 7: Definir una biblioteca LISTDEF y hacer referencia a una lista en un trabajo QUIESCE

En este ejemplo, las dos primeras sentencias de control LISTDEF definen las listas NAME1 y NAME2. La lista de direcciones IP ( NAME1 ) se almacena en un conjunto de datos secuenciales ( JULTU103.TCASE.DATA2 ). La lista de direcciones IP ( NAME2 ) se almacena en un miembro de un conjunto de datos particionado ( JULTU103.TCASE.DATA3(MEM1 )). Estos conjuntos de datos de salida se identifican mediante las sentencias DD ( SYSUT2 ) (en el JCL para los trabajos CREATE1 y CREATE2 ).

La instrucción LISTLIB DD (en el JCL para el trabajo QUIESCE) define una biblioteca LISTDEF. Cuando define una biblioteca LISTDEF, da un nombre a un grupo de conjuntos de datos que contienen sentencias LISTDEF. En este caso, la biblioteca debe incluir los siguientes conjuntos de datos:

  • El conjunto de datos secuenciales JULTU103.TCASE.DATA2 (que incluye la lista de NAME1 )
  • El miembro MEM1 del conjunto de datos particionado JULTU103.TCASE.DATA3 (que incluye la lista NAME2 ).

Cuando se define una biblioteca de este tipo, posteriormente se puede hacer referencia a un grupo de sentencias LISTDEF con una sola referencia.

La sentencia de utilidad OPTIONS en este ejemplo especifica que la biblioteca que se identifica mediante la sentencia LISTLIB DD se utilizará como la biblioteca de definición LISTDEF predeterminada. Esta declaración significa que para cualquier lista referenciada, Db2 es buscar primero en SYSIN la definición de la lista. Si Db2 no encuentra la definición de la lista en SYSIN, busca en cualquier conjunto de datos que esté incluido en la biblioteca LISTLIB LISTDEF.

La última instrucción LISTDEF define la lista de variables globales ( NAME3 ). Esta lista incluye todos los objetos de las listas NAME1 y NAME2, excepto tres espacios de tabla ( TSLT032B, TSLT031B, TSLT032C ). Debido a que las listas NAME1 y NAME2 no están incluidas en SYSIN, Db2 busca en la biblioteca LISTDEF (LISTLIB) predeterminada para encontrarlas.

Por último, la declaración de control de utilidad QUIESCE especifica esta lista de objetos ( NAME3 ) para los que Db2 es establecer un punto de reposo.

//CREATE1  JOB 'USER=NAME',CLASS=A,...                       
//*------------------------------------------------------    
//* Create an input data set.                                
//*------------------------------------------------------    
//LOAD1    EXEC PGM=IEBGENER                                 
//SYSPRINT DD DUMMY                                          
//SYSIN    DD DUMMY                                          
//SYSUT2   DD DSN=JULTU103.TCASE.DATA2,                      
//         DISP=(NEW,CATLG,CATLG),                           
//         UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND),          
//         DCB=(RECFM=FB,LRECL=80,BLKSIZE=2400)              
//SYSUT1   DD *                                              
  LISTDEF NAME1 INCLUDE TABLESPACE DBLT0301.TLLT031A         
                INCLUDE TABLESPACE DBLT0301.TSLT031B         
/*
//CREATE2  JOB 'USER=NAME',CLASS=A,...                       
//*------------------------------------------------------    
//* Create an input data set.                                
//*------------------------------------------------------    
//CRECNTL  EXEC PGM=IEFBR14                                  
//CNTL     DD  DSN=JULTU103.TCASE.DATA3,UNIT=SYSDA,          
//             VOL=SER=SCR03,                                
//             SPACE=(TRK,(2,2,2)),DCB=(DSORG=PO,            
//             LRECL=80,RECFM=FB,BLKSIZE=4560),              
//             DISP=(NEW,CATLG,CATLG)                        
/*                                                           
//*------------------------------------------------------    
//* Create member of input data set.                         
//*------------------------------------------------------    
//FILLCNTL EXEC PGM=IEBUPDTE                                 
//SYSPRINT DD  SYSOUT=*                                      
//SYSUT1   DD  DSN=JULTU103.TCASE.DATA3,DISP=OLD
//SYSUT2   DD  DSN=JULTU103.TCASE.DATA3,DISP=OLD
//SYSIN  DD  DATA                                        
./ ADD NAME=MEM1                                         
  LISTDEF NAME2 INCLUDE TABLESPACE DBLT0302.TLLT032A     
                INCLUDE TABLESPACE DBLT0302.TSLT032B     
                INCLUDE TABLESPACE DBLT0302.TPLT032C     
./ ENDUP                                                 
/* 
                                                           
                                                      
//QUIESCE  JOB 'USER=NAME',CLASS=A,...                   
//*******************************************************
//* QUIESCE LISTDEF DD LILSTDEF data sets                 
//*******************************************************
//STEP1    EXEC DSNUPROC,UID='JULTU103.QUIESC2',         
//            UTPROC='',SYSTEM='SSTR'                    
//LISTLIB  DD DSN=JULTU103.TCASE.DATA2,DISP=SHR          
//         DD DSN=JULTU103.TCASE.DATA3(MEM1),DISP=SHR    
//SYSIN    DD *                                          
    OPTIONS LISTDEFDD LISTLIB                            
    LISTDEF NAME3 INCLUDE LIST NAME1                     
                  INCLUDE LIST NAME2                     
                  EXCLUDE TABLESPACE DBLT0302.TSLT032B   
                  EXCLUDE TABLESPACE DBLT0301.TSLT031B   
                  EXCLUDE TABLESPACE DBLT0302.TPLT032C      
    QUIESCE LIST NAME3                                   
/*    

Ejemplo 8: Definir una lista que incluya objetos relacionados

La siguiente instrucción de control LISTDEF define una lista ( EXAMPLE8 ) que incluye el espacio de tabla DBLT0101.TPLT011C y todos los objetos que están relacionados referencialmente con ella. En la lista solo se incluyen los espacios de mesa base. La siguiente instrucción de control de la utilidad RECOVER especifica que se deben recuperar todos los objetos de la lista EXAMPLE8.

//STEP2    EXEC DSNUPROC,UID='JULTU101.RECOVE5',          
//            UTPROC='',SYSTEM='SSTR'                     
//SYSIN    DD *                                           
    LISTDEF EXAMPLE8 INCLUDE TABLESPACE DBLT0101.TPLT011C RI BASE         
    RECOVER LIST EXAMPLE8                       
/*   

Ejemplo 9: Definición de una lista de datos clonados

La siguiente instrucción de control indica que la expresión INCLUDE debe devolver solo los nombres de los siguientes objetos:
  • Tablas de répicla
  • Espacios de tabla que contienen tablas clonadas
  • Índices en tablas clonadas
  • Espacios de índice que contienen índices en tablas clonadas
LISTDEF REORG_TBSP INCLUDE TABLESPACE DB42240*.T*       
                             CLONED YES                   
                     EXCLUDE TABLESPACE DB42240*.TL4224L* 
                     EXCLUDE TABLESPACE DB42240*.TL4224B* 
                     EXCLUDE TABLESPACE DB42240*.TL4224C* 
                     EXCLUDE TABLESPACE DB42240*.TL4224D* 
                     EXCLUDE TABLESPACE DB42240*.TL4224E* 
                     EXCLUDE TABLESPACE DB42240*.TL4224F* 
                     EXCLUDE TABLESPACE DB422401.TSHR5702 

Ejemplo 10: Definición de una lista que incluye objetos de archivo

La siguiente instrucción LISTDEF define una lista con el nombre LISTALL que incluye todos los espacios de tabla relacionados, incluidos los espacios de tabla de archivo relacionados.

LISTDEF  LISTALL                                                  
   INCLUDE TABLESPACES TABLESPACE DB516A01.TU516A01 RI ALL        
   INCLUDE TABLESPACES TABLESPACE DB516A01.TU516A01 RI ALL ARCHIVE

La primera cláusula INCLUDE especifica que todos los espacios de tabla base, LOB y XML que están relacionados referencialmente con el espacio de tabla DB516A01.TU516A01 deben incluirse en la lista. La segunda cláusula INCLUDE especifica que todos los espacios de tabla de archivo que están relacionados con el espacio de tabla DB516A01.TU516A01 deben incluirse en la lista.