Cómo incluir objetos en una lista

Puede utilizar las opciones de sentencia de control LISTDEF para especificar qué objetos desea incluir en la lista. La cláusula INCLUDE añade objetos a la lista. La cláusula EXCLUDE elimina objetos de la lista.

Primero debe especificar una cláusula INCLUDE. A continuación, puede especificar cláusulas INCLUDE o EXCLUDE posteriores en cualquier orden para añadir o eliminar objetos de la lista existente.

Db2 construye la lista, cláusula a cláusula, añadiendo o eliminando objetos de la lista. Si una cláusula EXCLUDE intenta eliminar un objeto que aún no está en la lista, Db2 ignora la cláusula EXCLUDE de ese objeto y pasa a la siguiente cláusula INCLUDE o EXCLUDE. Tenga en cuenta que un INCLUDE posterior puede devolver a la lista un objeto excluido anteriormente.

Debe especificar INCLUDE o EXCLUDE. No existe ninguna especificación predeterminada.

Especificar objetos para incluir o excluir

Cada cláusula INCLUDE o EXCLUDE identifica objetos específicos para agregar o eliminar de la lista.

Debe incluir los siguientes elementos en cada cláusula INCLUDE o EXCLUDE:

  • El objeto que se va a utilizar en la búsqueda inicial del catálogo para cada cláusula INCLUDE o EXCLUDE. La búsqueda de objetos puede comenzar con bases de datos, espacios de tablas, espacios de índices, tablas, índices u otras listas. Puede especificar explícitamente los nombres de estos objetos o utilizar una expresión de coincidencia de patrones. Al hacer referencia a otra lista, debe especificar el nombre de la lista; no puede utilizar expresiones de coincidencia de patrones. La lista resultante contiene solo espacios de tabla, solo espacios de índice o ambos.
  • El tipo de objetos que contiene la lista, ya sean TABLESPACES o INDEXSPACES. Debe especificar explícitamente el tipo de lista solo cuando especifique una base de datos como objeto inicial utilizando la palabra clave DATABASE. De lo contrario, LISTDEF utiliza los valores de tipo de lista predeterminados que se muestran en la siguiente tabla. Estos valores dependen del tipo de objeto que haya especificado para la cláusula INCLUDE o EXCLUDE.
    Tabla 1. Valores predeterminados del tipo de lista que utiliza LISTDEF.
    Objeto especificado Valor predeterminado del tipo de lista
    TABLESPACE TABLESPACES
    TABLA TABLESPACES
    INDEXSPACE ÍNDICEESPACIOS
    ÍNDICE ÍNDICEESPACIOS
    LIST Valor de tipo existente de la lista

Por ejemplo, la siguiente cláusula INCLUDE especifica que se debe añadir el espacio de tabla DBLT0301.TLLT031A a la LISTA:

INCLUDE TABLESPACE DBLT0301.TLLT031A

En el ejemplo anterior, se especifica el espacio de tabla DBLT0301.TLLT031A como el objeto que LISTDEF debe utilizar para la búsqueda inicial en el catálogo. Por defecto, el valor de tipo de lista para un objeto TABLESPACE es TABLESPACES. Por lo tanto, la lista incluye solo espacio de tabla DBLT0301.TLLT031A.

La siguiente cláusula INCLUDE de ejemplo es similar al ejemplo anterior, excepto que incluye la palabra clave INDEXSPACES:

INCLUDE INDEXSPACES TABLESPACE DBLT0301.TLLT031A

En este ejemplo, la cláusula especifica que todos los espacios de índice de todas las tablas del espacio de tablas DBLT0301.TLLT031A deben añadirse a la lista.

Opcionalmente, puede añadir objetos relacionados a la lista especificando palabras clave que indiquen una relación, como objetos relacionados referencialmente u objetos relacionados auxiliares. Las especificaciones válidas incluyen las siguientes palabras clave:

  • BASE (objetos no LOB y no XML)
  • LOB (objetos LOB)
  • XML (objetos XML)
  • TODOS (objetos BASE, LOB y XML)
  • ESPACIOS DE TABLA (espacios de tabla relacionados)
  • ESPACIOS DE ÍNDICE (espacios de índice relacionados)
  • RI (relacionado por restricciones referenciales, incluidas las restricciones referenciales informativas)

Las palabras clave anteriores realizan dos funciones: determinan qué objetos están relacionados y, a continuación, filtran el contenido de la lista. El comportamiento de estas palabras clave varía en función del tipo de objeto que especifique. Por ejemplo, si su objeto inicial es un objeto LOB, se ignora la palabra clave LOB. Sin embargo, si el objeto inicial no es un objeto LOB, la palabra clave LOB determina qué objetos LOB están relacionados y Db2 excluye de la lista los objetos que no son LOB.

Db2 procesa cada cláusula INCLUDE y EXCLUDE en el siguiente orden:

  1. Inicio del cambioRealizar la búsqueda inicial del objeto que se basa en la expresión de coincidencia de patrón especificada, incluida la especificación PARTLEVEL, si se especifica. fin del cambio
  2. Añada o elimine objetos relacionados y filtre los elementos de la lista en función del tipo de lista especificado, ya sea TABLESPACES o INDEXSPACES (COPY YES o COPY NO).
  3. Añada o elimine objetos relacionados en función de la presencia o ausencia de las palabras clave RI, BASE, LOB, XML y ALL.

Por ejemplo, para generar una lista de todos los espacios de tabla en la base de datos de CUENTA pero excluir todos los espacios de tabla LOB, puede especificar la siguiente instrucción LISTDEF:

LISTDEF ACCNT INCLUDE TABLESPACES DATABASE ACCOUNT BASE

En el ejemplo anterior, el nombre de la lista es ACCNT. La palabra clave TABLESPACES indica que la lista debe incluir espacios de tabla asociados con el objeto especificado. En este caso, los espacios de tabla que se deben incluir son aquellos espacios de tabla en la base de datos ACCOUNT. Por último, la palabra clave BASE limita los objetos únicamente a los espacios de tabla base.

Si desea una lista de solo espacios de índice LOB en la base de datos de CUENTA, puede especificar la siguiente instrucción LISTDEF:

LISTDEF ACLOBIX INCLUDE INDEXSPACES DATABASE ACCOUNT LOB

En el ejemplo anterior, las palabras clave INDEXSPACES y LOB indican que la cláusula INCLUDE debe añadir solo espacios de índice LOB a la lista ACLOBIX.

Uso de expresiones de coincidencia de patrones

Puede utilizar cuatro caracteres especiales de coincidencia de patrones (%, *, _,?) para definir nombres de objetos genéricos en una instrucción LISTDEF. Estos caracteres son similares a los que se utilizan en el predicado SQL LIKE. Las utilidades que hacen referencia a una lista acceden al Db2 catálogo en el momento de la ejecución y expanden dinámicamente cada nombre de objeto genérico en una lista enumerada equivalente. Una utilidad procesa esta lista enumerada de forma secuencial o en paralelo, dependiendo de la función de la utilidad y de los parámetros que especifique.

Restricciones:
  • Db2 no admite listas con todo incluido (como DATABASE * o TABLESPACE *.*).
  • La concordancia de patrones de Db2 no se admite la comparación de patrones de objetos de catálogo y directorio.

Especifique los nombres de los objetos que coinciden con el patrón utilizando los caracteres de coincidencia de patrones que se muestran en la siguiente tabla. Esta tabla enumera el carácter de coincidencia de patrones, el símbolo SQL equivalente y cualquier información adicional.

Tabla 2. LISTDEF caracteres de coincidencia de patrones
LISTDEF carácter de coincidencia de patrones Símbolo equivalente utilizado en los predicados SQL LIKE Notas de uso
Signo de porcentaje (%) Signo de porcentaje (%) Realiza la misma función.
Signo de interrogación (?) Carácter de subrayado (_) Utilice el signo de interrogación (?) en lugar del guión bajo (_) como carácter de coincidencia de patrones en los nombres de tablas e índices. El carácter de subrayado (_) en los nombres de tablas e índices representa una sola aparición de sí mismo.
Asterisco (*) Signo de porcentaje (%) Realiza la misma función.
Carácter de subrayado (_) Carácter de subrayado (_) Utilice el guión bajo (_) como alternativa al signo de interrogación (?) para los nombres de bases de datos, espacios de tablas y espacios de índices.

Incluidos los objetos de catálogo y directorio

Si especifica Db2 objetos de directorio ( DSNDB01 ) y Db2 objetos de catálogo ( DSNDB06 ) en las listas LISTDEF, debe especificar los nombres de objeto completos de dichos objetos. La coincidencia de patrones no es compatible con los objetos de catálogo o directorio. Incluso si los objetos de catálogo y directorio coinciden con una expresión de coincidencia de patrón LISTDEF, no se incluyen en la lista. Db2 emite mensajes de error para cualquier objeto de catálogo o directorio que no sea válido para una utilidad.

Aunque Db2 los objetos de catálogo y directorio pueden aparecer en listas LISTDEF, estos objetos podrían no ser válidos para una utilidad y dar lugar a un mensaje de error.

Las siguientes cláusulas INCLUDE válidas contienen objetos de catálogo y directorio:

  • INCLUDE TABLESPACE DSNDB06.SYSDDF
  • INCLUDE TABLESPACES TABLESPACE DSNDB06.SYSDDF
  • INCLUDE INDEXSPACE DSNDB06.DSNDXX01
  • INCLUDE INDEXSPACES INDEXSPACE DSNDB06.DSNDXX01
Restricción: Si especifica un objeto de catálogo o directorio en una sentencia de control LISTDEF, se aplican las siguientes restricciones:
  • No puede especificar las siguientes palabras clave para la búsqueda inicial de objetos:
    • BASE DE DATOS
    • TABLA
    • ÍNDICE
  • Las siguientes palabras clave se ignoran:
    • BASE
    • LOB
    • ALL
    • RI
    • XML
    • HISTORY
    • ARCHIVE
Restricción: No se pueden especificar los siguientes objetos relacionados con SYSUTILX en una especificación LISTDEF:
  • ESPACIO EN PÁGINAS DSNDB01.SYSUTILX
  • TABLA SYSIBM.SYSUTILX
  • TABLA SYSIBM.SYSUTIL
  • ÍNDICEESPACIO DSNDB01.DSNLUX01
  • ÍNDICEESPACIO DSNDB01.DSNLUX02
  • ÍNDICE SYSIBM.DSNLUX01
  • ÍNDICE SYSIBM.DSNLUX02

Todas las listas LISTDEF excluyen automáticamente las bases de datos de archivos de trabajo, que consisten en objetos de tipo " DSNDB07 " y objetos de archivos de trabajo definidos por el usuario, porque Db2 las utilidades no procesan estos objetos.