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
- 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.