Programas de utilidad de Db2
IBM® Db2 las utilidades le ayudan a mantener los datos en sus bases de datos de Db2 for z/OS® . Por lo general, se utilizan utilidades de l Db2 s para realizar operaciones a gran escala en uno o más espacios de tablas.
Por ejemplo, puede usar los programas de utilidad para realizar las tareas de mantenimiento siguientes:
- Hacer copias de sus datos, que se puede utilizar posteriormente como base para una recuperación.
- Recuperar datos, al momento actual o a un estado anterior.
- Cargar miles o incluso varios millones de filas en la base de datos.
- Reorganizar datos para que el espacio se utilice de la forma más eficaz posible.
Varios proveedores de software independientes (ISV) también proporcionan programas de utilidad y herramientas que puede utilizar para mantener las bases de datos Db2. Sin embargo, este tema describe solo aquellas utilidades de e Db2 , que son proporcionadas por IBM.
¿Dónde puedo obtener los programas de utilidad de Db2?
Algunos programas de utilidad se proporcionan con Db2 for z/OS. Otros se venden como un producto separado llamado Db2 Utilities Suite for z/OS. Para obtener una lista de utilidades para cada una de estas categorías, consulte Db2 utilities packaging. Su tienda también podría emplear programas de utilidad proporcionados por un ISV. Pregunte a su programador del sistema qué programas de utilidad hay instalados en su tienda.
Tipos de programas de utilidad
Hay dos tipos de programas de utilidad de Db2:
- Programas de utilidad en línea, que requieren que Db2 esté activo y en ejecución. Para obtener más información sobre las utilidades en línea, consulte Utilidades en línea de Db2 e Invocar utilidades en línea de Db2.
- Programas de utilidad autónomos, que se ejecutan independientemente de Db2. Para obtener más información sobre las utilidades independientes, consulte Utilidades independientes de Db2 e Invocar utilidades independientes.
Programas de utilidad utilizados comúnmente
En las tablas siguientes se listan los programas de utilidad más utilizados, y una breve descripción de lo que hacen. Utilice estas tablas como ayuda a determinar los programas de utilidad que podría utilizar en su trabajo.
En la tabla siguiente se proporciona una lista de los programas de utilidad que puede utilizar para cargar y descargar datos y para comprobar estructuras de datos.
| Programa de utilidad | ¿Qué hace? |
|---|---|
| CHECK DATA | Comprueba los espacios de tabla en busca de infracciones de referencias y restricciones de comprobación de tabla. Además, comprueba la coherencia entre un espacio de tabla base y os espacio de tabla XML o LOB correspondientes. |
| CHECK INDEX | Comprueba si los índices son coherentes con los datos que indexan. |
| CHECK LOB | Identifica defectos estructurales en un espacio de tabla LOB y cualquier valor LOB no válido. |
| EXEC SQL | Declara cursores y ejecuta sentencias de SQL dinámico. Este programa de utilidad se utiliza normalmente como parte de la función de cargador cruzado de Db2. La función de carga cruzada transfiere datos de una ubicación a otra, o desde una tabla a otra en la misma ubicación con un único trabajo LOAD. |
| LOAD | Carga datos en una o más tablas de un espacio de tabla. |
| UNLOAD | Copia datos de espacios de tablas o copia imágenes en un formato que la utilidad LOAD puede utilizar. Los datos no se suprimen del objeto de origen. |
En la tabla siguiente se proporciona una lista de los programas de utilidad que se utilizan para un almacenamiento y rendimiento óptimo de las consultas.
| Programa de utilidad | ¿Qué hace? |
|---|---|
| REORG INDEX | Reorganiza un espacio de índice para mejorar el rendimiento de acceso y reclamar espacio fragmentado. |
| REORG TABLESPACE | Reorganiza un espacio de tabla o particiones para mejorar el rendimiento de acceso y reclamar espacio fragmentado. REORG también se utiliza para materializar cambios de metadatos pendientes. |
| RUNSTATS | Recopila estadísticas para espacios de tablas, índices y particiones y registra estas estadísticas en el catálogo de objetos de almacenamiento ( Db2 ). Db2 utiliza estas estadísticas para seleccionar las rutas de acceso más eficientes para las consultas. |
En la tabla siguiente se proporciona una lista de los programas de utilidad que se utilizan para la recuperación y planificación de la recuperación.
| Programa de utilidad | ¿Qué hace? |
|---|---|
| COPIAR | Copia espacios de tabla, espacios de índice, particiones y conjuntos de datos a utilizar para la recuperación. Estas copias se denominan copias de imagen. Algunas de las otras utilidades también pueden realizar copias mientras se ejecutan. Por ejemplo, LOAD puede hacer una copia mientra carga datos. Estas copias se denominan copias de imagen en línea. |
| COPYTOCOPY | Copia una copia de imagen o copia de imagen en línea. |
| MERGECOPY | Fusiona copias de imagen o copias de imagen en línea. |
| QUIESCE | Establece un punto de inmovilidad para espacios de tabla, particiones y conjuntos de espacios de tabla. Un punto de inmovilidad es un punto en que los datos son coherentes entre los objetos especificados y se pueden utilizar posteriormente como punto de recuperación. (Un conjunto de espacios de tabla es un conjunto de objetos relacionados que se debería recuperar de forma lógica conjuntamente; por ejemplo, un espacio de tabla base y sus espacios de tabla LOB) |
| RECOVER | Recupera los datos del estado actual o para un punto previo en el tiempo, restaurando una copia y aplicando luego registros de anotaciones. |
| REPORT | Proporcionar información sobre los espacios de tabla, tablas e índices que son útiles para la recuperación. Por ejemplo, REPORT proporciona los nombres de los espacios de tabla relacionados que se deberían recuperar de forma lógica en el mismo punto en el tiempo. |
Las tablas anteriores enumeran solo un subconjunto de las utilidades que proporciona IBM. IBM también proporciona utilidades más avanzadas, como las que se utilizan para hacer copias de seguridad o restaurar todo el sistema o reparar datos o estructuras dañados. Para obtener una lista completa de utilidades, consulte las utilidades en línea Db2 y las utilidades independientes Db2.
¿Cómo ejecuto un programa de utilidad?
El proceso para la ejecución de un programa de utilidad depende de si está ejecutando un programa de utilidad en línea o autónomo.
- Programas de utilidad en línea
- Hay varios métodos disponibles para ejecutar un programa de utilidad en línea. Lo más probable es que cree un trabajo de lenguaje de control de trabajos (JCL) para ejecutar un programa de utilidad.
También puede utilizar el procedimiento almacenado DSNUTILV o el procedimiento almacenado DSNUTILU para ejecutar una utilidad desde su programa de aplicación.
Otra alternativa es utilizar el panel de utilidades de JCL ( Db2 ) (en DB2I ) o el comando DSNU CLIST para generar el JCL.Antes de ejecutar un programa de utilidad en línea, debe manejar perfectamente los conceptos siguientes:
- JCL
- Si va a utilizar la JCL para ejecutar programas de utilidad y necesita aprender más sobre ello,
utilice los recursos siguientes:
- Para obtener una breve descripción general de JCL, consulte ¿Qué es JCL? ( z/OS basic skills).
- Para una introducción más extensa a JCL que incluye ejercicios para codificar JCL, enviar un trabajo y ver el resultado, consulte Introducción al nuevo mainframe: Conceptos básicos de JCL ( z/OS Basics) ( IBM Redbooks ).
- Para practicar el uso de JCL, complete los ejercicios de la colección JCL reutilizable (habilidades básicas de z/OS ).
- Para obtener una capacitación en profundidad sobre JCL, tome el curso
Lenguaje y utilidades de control de trabajos z/OS.
" Vaya a IBM Training Search y busque este curso.
- Sentencias de control de programas de utilidad
- Una vez que domine perfectamente JCL, deberá saber cómo escribir una sentencia de
control de utilidad. Una sentencia de control de utilidad especifica el nombre del programa de utilidad,
el objeto y objetos de destino y cualquier otra opción del programa de utilidad. Por ejemplo, la sentencia de control de utilidad
siguiente es para el programa de utilidad CHECK DATA:
CHECK DATA TABLESPACE DBIQUQ01.TPIQUQ01 SCOPE ALL AUXERROR INVALIDATELas opciones que hay disponibles para cada programa de utilidad se muestran en el diagrama de sintaxis en la documentación de dicho programa de utilidad. Por ejemplo, el diagrama de sintaxis de la utilidad CHECK DATA se encuentra en Sintaxis y opciones de la instrucción de control CHECK DATA. Si no está familiarizado con los diagramas de sintaxis, lea Cómo leer diagramas de sintaxis.
Para conocer reglas detalladas para escribir declaraciones de control de utilidad, como por ejemplo cómo continuar las declaraciones a lo largo de las líneas y qué esquemas de codificación son aceptables, lea Declaraciones de control de utilidad.
El lugar en el que cree la sentencia de utilidad depende del procedimiento que utilice para invocar dicho programa de utilidad. Por ejemplo, si su JCL, la sentencia de utilidad se especifica en la sentencia SYSIN DD. Si utiliza el procedimiento DSNUTILU, se pasa un parámetro a la sentencia de utilidad. Si utiliza el panel Programas de utilidad de Db2 o el mandato DSNU CLIST, puede colocar esta sentencia de programa de utilidad en un conjunto de datos o miembro. Consulte las utilidades en línea de Invoking Db2 para obtener instrucciones detalladas.
- Conjuntos de datos
- Como muchos programas de utilidad necesitan conjuntos de datos de entrada, o asignan o trabajan conjuntos de datos de salida, debe saber cómo asignar y utilizar conjuntos de datos.
Los conjuntos de datos que son necesarios dependen del programa de utilidad y las opciones que especifique. Por ejemplo, suponga que solicita que un programa de utilidad COPY realice una copia primaria y de seguridad en el sitio de recuperación. En ese caso, COPY asigna cuatro conjuntos de datos, uno por cada copia de imagen, y debe indicar a COPY los parámetros a utilizar para estos conjuntos de datos de salida. Para obtener detalles sobre los conjuntos de datos necesarios para cada programa de utilidad, consulte la documentación del programa de utilidad. Por ejemplo, los conjuntos de datos que requiere COPY se describen en Conjuntos de datos que utiliza COPY.
- Sentencias DD, nombres DD y parámetros de sentencias DD
- Para obtener información sobre las sentencias DD y los nombres DD (también llamados a veces ddnames), consulte Sentencias JCL: ¿Qué hace la sentencia DD? (habilidades básicas de z/OS ) y JCL Declaración DD: nombres DD que están reservados para usos específicos (habilidades básicas de z/OS ).
- Para obtener información sobre los parámetros básicos de las sentencias DD, consulte Sentencias DD de JCL: Parámetros posicionales y de uso frecuente (habilidades básicas de z/OS ).
- Plantillas
- Los programas de utilidad en línea de Db2 proporcionan una sentencia de control TEMPLATE, que puede utilizar en lugar de sentencias DD de JCL para definir conjuntos de datos. Una vez definida una plantilla, su nombre se pasa
a un programa de utilidad usando las mismas palabras clave que un nombre DD. Por ejemplo, en la sentencia siguiente,
MYCOPY puede hacer referencia al nombre DD de JCL o a un nombre de plantilla:
Consulte las utilidades LISTDEF, OPTIONS y TEMPLATE para obtener más información sobre las plantillas.COPY TABLESPACE A.B COPYDDN MYCOPY
Para obtener instrucciones completas sobre cómo ejecutar utilidades en línea, consulte Invocar utilidades en línea de Db2.
- Programas de utilidad autónomos
- Para ejecutar un programa de utilidad autónomo, debe usar JCL. Especifique el nombre del programa de utilidad en
la sentencia EXEC. Para determinados programas de utilidad, también puede especificar las
opciones del programa de utilidad en la sentencia EXEC. Para otros programas de utilidad,
especifique las opciones en una sentencia de control de utilidad en un conjunto de datos en secuencia.Importante : La mayoría de las utilidades independientes están destinadas a usuarios avanzados de Db2 . Asegúrese de entender los efectos de ejecutar un programa de utilidad autónomo antes de ejecutarlo.
Para obtener instrucciones completas sobre cómo ejecutar una utilidad independiente, consulte Invocar utilidades independientes.
- Autorizaciones necesarias
- Tanto para los programas de utilidad en línea como autónomos, debe tener la autorización correcta para poder ejecutarlos. La documentación para cada programa de utilidad describe la autorización necesaria para dicho programa de utilidad. No son todos iguales. Para obtener más información sobre la autorización general para servicios públicos, consulte Privileges and authorization IDs for Db2 utilities (Privilegios e identificadores de autorización para servicios públicos de Internet ).
Programas de utilidad LISTDEF, OPTIONS y TEMPLATE
Los programas de utilidad LISTDEF, OPTIONS y TEMPLATE son distintos de otros programas de utilidad porque no realizan funciones de administración de base de datos. En su lugar, proporcionan servicios a los otros programas de utilidad.
- El programa de utilidad LISTDEF proporciona un servicio para la generación de listas de objetos sobre los que operar.
- El programa de utilidad OPTIONS proporciona un servicio para el establecimiento global de opciones que se aplican al paso de trabajo completo.
- El programa de utilidad TEMPLATE proporciona un servicio para la asignación de conjuntos de datos.
- LISTDEF
- Puede usar el programa de utilidad LISTDEF para crear una lista reutilizable de objetos. Por ejemplo, suponga que tiene un grupo de objetos que quiere copiar con regularidad, o bien
desactivarlos temporalmente o sobre los que quiera realizar cualquier otra utilidad. Puede usar el programa de utilidad LISTDEF para crear una lista de dichos objetos. Especifique los nombres y asigne un nombre a la lista. Por ejemplo, la sentencia siguiente define una lista
llamada MYLIST, que incluye tres objetos:
LISTDEF MYLIST INCLUDE TABLESPACE A INCLUDE TABLESPACE B INCLUDE TABLESPACES TABLE CSus listas podrían incluir muchos más objetos. Si los objetos tienen una pauta de nomenclatura parecida, puede utilizar caracteres comodín para partes de los nombres de los objetos.
Tras definir la lista, podrá hacerle referencia en sentencias de control posteriores de la utilidad. Por ejemplo, la sentencia COPY siguiente solicita la copia de todos los objetos de su lista (MYLIST):
COPY LIST MYLIST …El uso de listas es útil cuando necesita ejecutar programas de utilidad en varios objetos. En lugar de buscar todos los nombres de objeto en el catálogo y escribir cada uno de ellos en una sentencia de control, puede definir una lista. A continuación, podrá hacer referencia a la lista en las sentencias de control de utilidad posteriores.
Además puede incluir la sentencia LISTDEF en la sentencia DD directamente, antes de las sentencias de control de utilidad que la utilicen, o bien puede crear bibliotecas de sentencias LISTDEF. Las Bibliotecas LISTDEF son sencillamente conjuntos de datos que contiene sentencias LISTDEF. La ventaja de creación de bibliotecas es que esas listas se almacenan luego y están disponibles para varios trabajos de utilidad.
Para obtener más información sobre la utilidad LISTDEF, consulte LISTDEF.
- OPTIONS
- Puede usar el programa de utilidad OPTIONS para especificar
opciones de procesamiento de utilidad para el paso de trabajo. Consulte los ejemplos siguientes:
- Puede usar el programa de utilidad OPTIONS para especificar una biblioteca LISTDEF o TEMPLATE que vayan a utilizar cualquiera de los programas de utilidad subsiguientes.
- Puede especificar OPTIONS PREVIEW, lo que hace que el programa de utilidad se ejecute en modalidad de previsualización. El modo de vista previa es útil para ver lo que hará el trabajo de utilidad, antes de la ejecución real. Por ejemplo, si especifica OPTIONS PREVIEW y luego una sentencia LISTDEF, puede ver la lista ampliada de todos los objetos que se incluyen en la lista. Dicha lista expandida es útil si su lista tiene caracteres comodín y quiere ver los objetos que se incluirán en la lista.
- También puede usar el programa de utilidad OPTIONS para especificar lo que hará el programa de utilidad si se produce un error para un elemento de la lista. Puede especificar si el programa de utilidad detiene el proceso u omite el elemento que tiene error y continúa procesando el siguiente elemento.
Para obtener más información sobre la utilidad OPTIONS, consulte OPTIONS.
- PLANTILLA
- Puede utilizar el programa de utilidad TEMPLATE para asignar los conjuntos de datos de asignación
sin utilizar sentencias DD de JCL. El programa de utilidad TEMPLATE define plantillas de conjunto de
datos. Para cada plantilla, especifique el nombre de plantilla, el convenio de nombre del conjunto de datos y
los parámetros de asignación que quiera. A continuación, puede indicar a los programas de utilidad subsecuentes que
utilicen dicha plantilla cuando asignen determinados conjuntos de datos.
Una ventaja del uso de este programa de utilidad es que no tiene que especificar parámetros de asignación de conjunto de datos. Por ejemplo, TEMPLATE puede determinar el tamaño del conjunto de datos adecuado para usted.
Las plantillas también son útiles para listas de objetos. Por ejemplo, supongamos que tiene una lista larga de objetos a copiar. En lugar de utilizar una sentencia DD para especificar un conjunto de datos para cada copia de imagen, puede especificar el nombre de plantilla en el que especificaría un nombre DD.
Para obtener más información sobre la utilidad TEMPLATE, consulte TEMPLATE.
Cómo supervisar un trabajo de utilidad
Puede supervisar el progreso de uno o más trabajos de utilidad utilizando el mandato DISPLAY UTILITY. Por ejemplo, puede ver en qué fase del programa de utilidad se encuentra, y el último objeto procesado.
Si tiene que detener un trabajo de utilidad en línea, utilice el mandato TERM UTILITY.
Si un trabajo de utilidad se ha detenido antes de completar el procesamiento, puede reiniciarlo una vez que solucione el error que ha hecho que el trabajo de utilidad se haya detenido. Puede reiniciar un programa de utilidad desde el último punto de comprobación o desde el principio de la fase en la que se estaba procesando actualmente.
Para obtener más información sobre la supervisión, detención y reinicio de utilidades, consulte Supervisión y control de utilidades en línea.
Herramientas
Puede utilizar herramientas proporcionadas por IBM o por varios ISV para realizar las tareas necesarias para controlar y mantener su subsistema de Db2 . Por ejemplo, puede utilizar las siguientes herramientas de IBM Db2 Tools for z/OS para gestionar servicios públicos y realizar tareas relacionadas con ellos:
- Db2 Automation Tool for z/OS
- Herramienta que permite a los administradores de base de datos centrarse en la optimización de la base de datos. Esta herramienta automatiza las tareas de mantenimiento. Ver Db2 Automation Tool for z/OS.
- Db2 High Performance Unload for z/OS
- Un programa de utilidad Db2 de alta velocidad que descarga las tablas de Db2 de un espacio de tabla o de una copia de seguridad de la base de datos. Ver Db2 High Performance Unload for z/OS.
- Db2 Cloning Tool for z/OS
- Herramienta que clona rápidamente un subsistema Db2 o conjuntos de datos, creando el equivalente de un entorno de producción que puede utilizar para probar nuevas funciones y características. Ver Db2 Cloning Tool for z/OS.
- Db2 Sort for z/OS
- Herramienta que reduce el tiempo transcurrido y el coste de CPU para el procesamiento de clasificación de utilidad. Ver Db2 Sort for z/OS.
Otros recursos de aprendizaje
Para obtener una formación más detallada en los programas de utilidad de Db2, utilice los recursos siguientes:
Para una publicación de Redpaper e IBM e que ayuda a los administradores de bases de datos de Db2 , a los programadores de sistemas de Db2 y a cualquiera que ejecute utilidades de Db2 for z/OS a implementar las mejores prácticas, consulte Db2 for z/OS Utilities in Practice.
- Para un módulo tutorial que muestra dos métodos para ejecutar utilidades de Db2 , incluido el uso de un panel interactivo ( Db2 DB2I ) y escribir trabajos de lenguaje de control de trabajos (JCL), consulte Módulo 2: Ejecutar utilidades de Db2
- Aunque esta publicación de IBM Redbooks se ha escrito para DB2® 9, los conceptos básicos son los mismos para las versiones posteriores de Db2. Véase DB2 9 for z/OS : Uso del paquete de utilidades ( IBM Redbooks )
- Curso:
z/OS y Db2 Conceptos básicos para Db2 for z/OS DBA Principiantes.
Encontrará enlaces a la información sobre este curso en los itinerarios de formación de Db2 for z/OS. Están disponibles las opciones en línea y de clase. - Db2 Utilidades (Parte 1) ( Db2 for z/OS, Mejores prácticas) y Db2 Utilidades (Parte 2) ( Db2 for z/OS, Mejores prácticas )