DB2 versión 9.

1 para z/OS

Novedades

GC11-3452-02

Contenido
Acerca de esta información . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Terminología y referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v Cómo enviar comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi

Capítulo 1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Capítulo 2. Cómo aprovechar la empresa para información bajo demanda . . . . . . . 5
Perfecta integración de datos XML y datos relacionales . . . . . . . . . Compatibilidad y liderazgo con SQL . . . . . . . . . . . . . . . Mejoras en la coherencia con SQL . . . . . . . . . . . . . . . Cómo aprovechar las capacidades existentes de programación de aplicaciones Mejoras en el soporte de objetos grandes . . . . . . . . . . . . Liderazgo de SQL: novedades de la familia. . . . . . . . . . . . Herramientas que dan soporte a la empresa . . . . . . . . . . . . Acceso a los datos de la empresa bajo demanda con DB2 QMF . . . . . Gestión de la empresa con las Herramientas de DB2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 . 6 . 7 . 13 . 13 . 16 . 18 . 18 . 21

Capítulo 3. Disponibilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
REORG en línea sin ninguna fase BUILD2 . . . . . . . . . . . . . . . . . . Sustitución más rápida de una tabla por otra . . . . . . . . . . . . . . . . . Espacios de tablas universales . . . . . . . . . . . . . . . . . . . . . . Mejor disponibilidad durante operaciones REBUILD INDEX . . . . . . . . . . . . Disponibilidad mejorada con capacidades para renombrar columnas e índices . . . . . . Modificar código EARLY sin una IPL . . . . . . . . . . . . . . . . . . . . Mejoras de ALTER TABLESPACE y de las anotaciones cronológicas de índice . . . . . . Soporte para la utilización de clases de almacenamiento SMS con conjuntos de datos definidos . . . . . . . por . . . . . . . . . . . . . . DB2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 25 25 27 27 27 27 28

Capítulo 4. Rendimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Reducción del tiempo de proceso de CPU para programas de utilidad. Mejoras en la optimización de SQL . . . . . . . . . . . . Mejores datos para el optimizador con las estadísticas de histograma Técnicas de optimización mejoradas . . . . . . . . . . . IBM Optimization Service Center for DB2 for z/OS . . . . . . IBM DB2 Optimization Expert for z/OS . . . . . . . . . . Mejoras en la indexación . . . . . . . . . . . . . . . . Rendimiento mejorado para filas de longitud variable . . . . . . Liberación de la inserción secuencial de claves. . . . . . . . . Rendimiento mejorado de la anotación cronológica . . . . . . . Rendimiento mejorado de la inserción de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 29 29 29 31 32 33 34 35 35 36

Capítulo 5. Conformidad con las regulaciones. . . . . . . . . . . . . . . . . . . 37
Roles y contextos fiables de red. . . . . . . . . . Auditoría mejorada . . . . . . . . . . . . . . Soporte del protocolo Secure Socket Layer . . . . . . Más opciones de seguridad con desencadenantes INSTEAD . . . OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 37 37 38

| Apéndice. Planificación para DB2 Versión | Cambios en los mandatos . . . . . . . . . Mandatos nuevos . . . . . . . . . . . | Mandatos modificados. . . . . . . . . . | | Cambios en los programas de utilidad . . . . . Programas de utilidad nuevos . . . . . . . | Cambios en los programas de utilidad . . . . | Otros cambios en los programas de utilidad . . |
© Copyright IBM Corp. 2007, 2008

9.1 para z/OS . . . . . . . . . . . . . . 39
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 39 40 48 48 48 54

iii

| | | | | | | | | | | | | | | |

Cambios en las sentencias de SQL . . Sentencias de SQL nuevas . . . Sentencias de SQL modificadas . . Funciones nuevas . . . . . . Palabras reservadas. . . . . . Otros cambios en el lenguaje SQL . Cambios en los catálogos . . . . . Tablas de catálogo nuevas . . . Tablas de catálogo modificadas . . Índices nuevos y modificados . . Modificaciones en la supervisión y los Cambios en el rendimiento . . . Cambios en la tabla EXPLAIN . . IFCID nuevos y modificados . . . IFCID nuevos. . . . . . . . IFCID modificados . . . . . .

. . . . . . . . . . . . . . . . . . . . ajustes . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . del rendimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

54 54 55 58 60 65 67 67 69 72 75 75 76 87 87 88

Recursos de información para DB2 for z/OS y productos relacionados . . . . . . . . 91 Cómo obtener información de DB2 . . . . . . . . . . . . . . . . . . . . . . . 97 Cómo utilizar la biblioteca de DB2 . . . . . . . . . . . . . . . . . . . . . . . 101 Avisos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Marcas registradas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

Glosario

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

Índice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

iv

Novedades

Capítulo 1. Introducción
DB2 Versión 9.1 para z/OS (V9.1) proporciona nuevas y emocionantes innovaciones, en áreas clave, que le ayudan a comprender el valor empresarial de la información de la empresa. Continúe leyendo para ver una breve visión general de las innovaciones que se entregan en la Versión 9.1.

Disminución del coste total de propiedad
El coste total de propiedad para mantener una infraestructura de gestión de información viene determinado por muchos factores, que incluyen los costes de hardware y software y la cantidad de personal necesario. Con la Versión 9.1, las reducciones en el coste total de propiedad se pueden llevar a cabo mediante ahorros en el hardware y software, y la productividad de las personas. La productividad se proporciona a través de SQL mejorado, la adición de XML y la reducción en las tareas de administración de bases de datos. Las ofertas de System z9, tales como zIIP y los nuevos procesadores Business Class y Enterprise Class, son económicas y proporcionan capacidad adicional y reducciones en los costes de DB2 para algunas cargas de trabajo de índice de programa de utilidad, consulta paralela y distribuida. Para facilitar los retos de las tareas que afrontan los administradores de bases de datos, algunas tareas se han automatizado o eliminado. Como resultado, un administrador de bases de datos puede gestionar más terabytes de datos y asumir más tareas de la empresa.

Mayor capacidad para aprovechar la empresa para información bajo demanda
La Versión 9.1 proporciona una serie de capacidades que le ayudan a aprovechar la empresa para información bajo demanda mediante el aumento de la productividad del programador, el aumento de la compatibilidad en la familia de productos de DB2 y mejoras para la gestión de datos de empresa. El soporte nativo de pureXML aumenta la productividad de los programadores y proporciona escalabilidad y rendimiento sin percedentes. Con la Versión 9.1 en el núcleo de una arquitectura orientada a servicios, puede tener una perfecta integración de datos XML y datos relacionales. Las mejoras de SQL aumentan la compatibilidad y el liderazgo de la familia. Las mejoras y las adiciones en la familia de productos de QMF mejoran el acceso a los datos de empresa. Las nuevas y mejoradas Herramientas de DB2 mejoran la gestión de los datos de empresa. La mayoría de estas mejoras también proporcionan ventajas para los socios de las aplicaciones empresariales clave (por ejemplo, SAP, PeopleSoft y Siebel) y sus clientes.

Aumento de la disponibilidad mediante definición de bases de datos bajo demanda
La Versión 8 proporcionaba posibilidades de cambio de esquema en línea que aumentaban la disponibilidad de las bases de datos con menos interrupciones.

© Copyright IBM Corp. 2007, 2008

1

La Versión 9.1 amplía estas posibilidades al proporcionar definición de datos bajo demanda. Por ejemplo, se han realizado considerables mejoras en la reorganización en línea de espacios de tablas para unas pocas particiones. Uno de los cambios importantes es la capacidad de sustituir rápidamente una tabla por otra. Otro cambio importante es la capacidad de renombrar una columna o un índice. Otras capacidades le permiten modificar, alterar, crear y volver a crear objetos y código bien sea en línea o por otros medios que perturben en menor medida la disponibilidad de los datos.

Mejor rendimiento
Las aplicaciones complejas incluyen tanto transacciones como creación de informes. La correcta realización de las transacciones y de los informes es imprescindible para la correcta gestión de una empresa. La Versión 9.1 proporciona una serie de mejoras que aumentan el rendimiento de las transacciones y ayudan a reducir el coste total de propiedad mediante la disminución del tiempo de CPU, la mejora del rendimiento de consulta, un acceso más rápido al disco y la mejora en el rendimiento de las anotaciones cronológicas y la inserción. Se observan reducciones en el tiempo de CPU para los programas de utilidad LOAD y REORG y los datos de longitud variable. Además, las consultas escritas en lenguaje de procedimiento de SQL nativo se pueden ejecutar en zIIP. Además, varias mejoras en el acceso al disco pueden reducir el tiempo para el acceso secuencial al disco. Se han realizado mejoras clave para la creación de informes que incluyen mejoras de optimización que mejoran el rendimiento de las consultas y los informes y la facilidad de uso. Las mejoras de SQL de rendimiento de consulta mejoradas incluyen más consultas, más coherencia con el sector de gestión de bases de datos y dentro de la familia de DB2 (lo que contribuye a la facilidad de uso y a la capacidad de portar aplicaciones a DB2 para z/OS).

Conformidad con las regulaciones
La conformidad con las regulaciones, la seguridad y la auditoría son temas que están en primera línea de la actualidad y que adquieren cada día mayor importancia. La Versión 9.1 le ayuda a responder a la crecientes necesidades para proteger la seguridad, garantizar la integridad y satisfacer las regulaciones tales como el Sarbanes-Oxley Act, el Health Insurance Portability and Accountability Act (HIPAA) y los Payment Card Industry (PCI) Security Standards. El control de acceso mejorado con roles y contexto fiable de red permite un control más preciso de la seguridad. El filtro mejorado aumenta la usabilidad de la auditoría. El cifrado de datos SSL (Capa de sockets seguros) en redes es más seguro.

Aumento de la sinergia con System z
Como en la Versión 8, la Versión 9.1 se beneficia de las mejoras más recientes en hardware y software de System z9 a fin de proporcionar mejor rendimiento, la mejora del valor, mayor flexibilidad y mejor función. Por ejemplo, ahora se han habilitado procedimientos remotos de SQL nativo para el proceso en IBM System z9 Integrated Information Processor (zIIP). La sinergia de DB2 con System z9 continúa con un rango de mejoras de E/S en canales, en discos y en DB2. Las pruebas con la Versión 8 que implican acceso paralelo en un canal han mostrado tiempos más rápidos de respuesta para acceso secuencial; se anticipan mejoras similares en la Versión 9.1. Por ejemplo, una de las primeras

2

Novedades

pruebas de rendimiento para el rendimiento secuencial consiguió 183 MB por segundo. La Versión 9.1 también se beneficia de nuevo soporte de hardware de System z9 con un nuevo tipo de datos de coma flotante decimal que le permite utilizar números de coma flotante decimal con mayor precisión. Se puede utilizar flashcopy para operaciones de copia de seguridad y de restauración de bases de datos de DB2. Otras mejoras para la Versión 9.1 en System z9 incluyen seguridad y cifrado y clasificación Unicode adicionales.

Capítulo 1. Introducción

3

Capítulo 2. Cómo aprovechar la empresa para información bajo demanda
DB2 Versión 9.1 para z/OS proporciona funciones y soporte que aumentan la compatibilidad dentro de la familia de DB2 y le permiten aprovechar más fácilmente la empresa para información bajo demanda. Los aumentos en la compatibilidad de la familia se traducen en aumentos en la productividad de los programadores que trabajan en un entorno de aplicación estándar y en aumentos en la portabilidad de las aplicaciones. Las mejoras que tratan estas áreas incluyen soporte de pureXML en la base de datos de DB2 y compatibilidad y liderazgo de la familia mediante varias funciones y sentencias de SQL nuevas y mejoradas. Además de mejorar la productividad del programador y la portabilidad de las aplicaciones, las mejoras en DB2 QMF y una serie de Herramientas de DB2, así como nuevas ofertas de herramientas tales como Optimization Service Center y DB2 Accessories Suite, le permiten acceder a los datos y gestionar la empresa como nunca lo ha podido hacer anteriormente. La mayoría de las nuevas y mejoradas funciones proporcionan ventajas tanto a los business partners como a los clientes.

Perfecta integración de datos XML y datos relacionales
XML es una innovación importante que permite la comunicación de datos de empresa a empresa, independientemente de las diferencias en los sistemas que reciben los datos y trabajan con ellos. Con XML, puede enviar fácilmente datos semiestructurados a través de la web sin perder la relación entre los datos de un documento. Debido a que el contenido de un documento XML es independiente de las instrucciones de formato, los datos se pueden representar adecuadamente en una variedad de formatos de salida. El potente soporte de XML dentro de un sistema de gestión de bases de datos proporciona ventajas que incluyen capacidades más eficaces de almacenamiento, consulta e indexación. | | | | | | | | | | | | El soporte de las funciones y capacidades XML abarca toda la familia de DB2. La Versión 8 de DB2 para z/OS y la Versión 8 de DB2 para Linux, UNIX y Windows proporcionan soporte básico para almacenar, recuperar y consultar documentos XML. DB2 9 para Linux, UNIX y Windows continúa el trabajo proporcionando potente soporte de XML. Ahora DB2 V9.1 para z/OS se expande en soporte similar proporcionando la perfecta integración de datos XML y datos relacionales en la base de datos DB2. Se proporcionan cambios funcionales en las áreas siguientes: v almacenamiento de documentos XML v Recuperación de documentos XML v Desarrollo de aplicaciones v Soporte de administración de bases de datos v Ventajas de rendimiento mediante el soporte de indexación

© Copyright IBM Corp. 2007, 2008

5

Almacenamiento de documentos XML
DB2 V9.1 para z/OS proporciona almacenamiento completamente integrado de datos XML en el sistema de bases de datos DB2, lo que permite a las aplicaciones cliente acceder a los datos XML y gestionarlos aprovechando la funcionalidad de DB2. El tipo de datos de columna XML se proporciona para almacenar datos XML en tablas de DB2. La mayoría de las sentencias de SQL dan soporte al tipo de datos XML. Como resultado, puede realizar muchas operaciones comunes de base de datos con datos XML, tales como la creación de tablas con columnas XML, la adición de columnas XML a tablas existentes, la creación de índices sobre columnas XML, la creación de desencadenantes en tablas con columnas XML, y la inserción, actualización y supresión de documentos XML. También se proporciona un procedimiento almacenado de descomposición. Con este procedimiento almacenado, puede extraer elementos de datos de un documento XML y almacenar estos elementos de datos en columnas de tablas relacionales.

Recuperación de documentos XML
Puede utilizar SQL para recuperar documentos enteros de columnas XML de forma similar a cómo se recuperan datos de cualquier otro tipo de columna. Cuando necesita recuperar partes de documentos, puede especificar expresiones XPath mediante SQL con extensiones XML (SQL/XML).

Desarrollo de aplicaciones
El soporte de desarrollo de aplicaciones de XML en DB2 V9.1 para z/OS permite a las aplicaciones combinar XML, acceso a datos relacionales y almacenamiento. Los siguientes lenguajes de programación dan soporte al nuevo tipo de datos XML: v Assembler v C o C++ (SQL incorporado o CLI de DB2) v COBOL v Java (JDBC o SQLJ) v PL/I

Soporte de administración de bases de datos
El soporte de administración de bases de datos incluye lo siguiente: v Un depósito de esquemas XML para todos los esquemas XML necesarios para validar y procesar documentos XML almacenados en columnas XML o descompuestos en tablas relacionales v La capacidad de utilizar programas de utilidad de DB2 para z/OS para realizar operaciones en objetos XML de forma similar a cómo se manejan objetos LOB

Ventajas de rendimiento mediante el soporte de indexación
La Versión 9.1 ofrece ventajas de rendimiento mediante el soporte de indexación, que está disponible para datos almacenados en columnas XML. La utilización de índices sobre datos XML puede mejorar la eficacia de las consultas que emite contra documentos XML.

Compatibilidad y liderazgo con SQL
La Versión 9.1 proporciona cambios funcionales en SQL que aumentan la productividad de los programadores mediante la compatibilidad y el liderazgo de la familia.

6

Novedades

La Versión 8 de DB2 para z/OS realizó grandes avances hacia la mejora de la coherencia de SQL en toda la familia de DB2, proporcionando muchas funciones comunes entre DB2 para Linux, UNIX y Windows. La Versión 9.1 y DB2 9 para Linux, UNIX y Windows trasladan aún más funciones de SQL del conjunto exclusivo al conjunto común. Con el aumento en SQL común, también se aumenta la productividad de los programadores. La Versión 9.1 también presenta varias funciones nuevas de SQL que son innovaciones en la familia de DB2.

Mejoras en la coherencia con SQL
El aumento de la coherencia con SQL dentro de la familia de DB2 representa una buena noticia para los programadores que escriben aplicaciones para distintas plataformas, ya que se facilita la portabilidad y la escritura de los programas de aplicación. Las siguientes funciones, sentencias y cláusulas de SQL son coherentes dentro de la familia de DB2.

Función SELECT FROM UPDATE o SELECT FROM DELETE
La característica de inserción dentro de selección que se presentó en la Versión 8 de DB2 para z/OS se ha ampliado en la Versión 9.1 para dar soporte a la recuperación de columnas de filas que se modifican mediante una sentencia SELECT FROM DELETE o SELECT FROM UPDATE. Ahora, una llamada de SQL a DB2 modifica el contenido de la tabla y devuelve los cambios resultantes al programa de aplicación. Además, ahora se puede codificar una aplicación para realizar una lectura destructiva de una tabla cuando se incluye la sentencia SELECT FROM DELETE. Esta característica es especialmente útil cuando se utiliza una tabla como una cola de datos.

Desencadenantes INSTEAD OF
En versiones anteriores de DB2 para z/OS, las operaciones que requerían reglas distintas para el acceso de lectura y escritura (por ejemplo, cifrado y descifrado) requerían que los usuarios incorporaran en sus aplicaciones el reconocimiento de que el objeto para acceso de lectura es una vista y de que el objeto para acceso de escritura es una tabla base. La Versión 9.1 reduce la complejidad en los programas de aplicación presentando los desencadenantes INSTEAD OF. Los desencadenantes INSTEAD OF se definen sólo en las vistas y se utilizan para procesar operaciones de inserción, actualización y supresión (mediante lógica de desencadenante) en lugar de basarse en la sentencia INSERT, UPDATE o DELETE para activar el desencadenante. Con el desencadenante INSTEAD OF, una aplicación no necesita incluir la complejidad que especifica qué operaciones se realizan contra vistas y qué operaciones se realizan contra la tabla base porque el desencadenante activado hace que parezca que las operaciones se realicen contra una vista. Los ejemplos de utilización de desencadenantes INSTEAD OF incluyen actualizaciones mediante consultas de unión o datos de codificación y descodificación de la base de datos dentro de una vista. En el último caso, es posible que la vista encapsule funciones de cifrado mientras que los desencadenantes INSTEAD OF utilizan las funciones de cifrado para garantizar la seguridad en la base de datos.

Tipo de datos y función BIGINT
La Versión 9.1 presenta un nuevo tipo de datos y función de SQL, BIGINT (entero grande), que da soporte a enteros grandes y amplía el conjunto de tipos de datos numéricos exactos soportados actualmente (SMALLINT y INTEGER).
Capítulo 2. Cómo aprovechar la empresa para información bajo demanda

7

Un entero grande es un entero binario que tiene una precisión de 63 bits. El tipo de datos BIGINT puede representar enteros de 63 bits y es compatible con todos los tipos de datos numéricos. La función BIGINT devuelve una representación de entero grande de un número o una representación de serie de un número. Puede almacenar o cargar valores de entero grande en tablas de DB2 y manipular los datos de distintas formas. Además, puede utilizar la especificación CAST para aumentar la portabilidad de las aplicaciones.

Tipo de datos y función BINARY
La Versión 9.1 proporciona soporte ampliado para datos de serie binaria presentando el tipo de datos y función BINARY. También se presenta el tipo de datos y función VARBINARY (serie binaria de longitud variable). Otros miembros de la familia de DB2 aún no dan soporte al tipo de datos y función VARBINARY. El tipo de datos BINARY representa una serie binaria de longitud fija. Cuando se definen columnas, variables y tipos diferenciados de serie binaria de longitud fija, se especifica el atributo de longitud y todos los valores tienen la misma longitud. Una columna de serie binaria se utiliza para almacenar datos que no son de carácter, tales como datos codificados o comprimidos, imágenes, voz y soporte mixto. Una columna de serie binaria también puede albergar datos estructurados para que sean utilizados por tipos diferenciados, funciones definidas por el usuario y procedimientos almacenados. La función BINARY devuelve una representación BINARY (serie binaria de longitud fija) de una serie de cualquier tipo o tipo de ID de fila. Conceptos relacionados “Tipo de datos VARBINARY” en la página 17

Variables de referencia de archivo
Una variable de referencia de archivo es una variable de sistema principal definida en un lenguaje de sistema principal (por ejemplo, C o COBOL) para contener el nombre de archivo que dirige entrada y salida de archivo para un objeto grande (LOB). La Versión 9.1 añade soporte para dos nuevas variables de referencia de archivo, LOB y XML. El soporte de DB2 para variables de referencia de archivo permite que se inserte un valor LOB o XML grande desde un archivo o que se seleccione en un archivo en lugar de una variable de sistema principal; la aplicación no necesita adquirir almacenamiento para contener el valor LOB o XML. Además, las variables de referencia de archivo facilitan el movimiento de valores LOB o XML desde el servidor de bases de datos a una aplicación de cliente o desde una aplicación de cliente a un servidor de bases de datos sin pasar por el almacenamiento de trabajo de la aplicación de cliente. Además, las variables de referencia de archivo omiten las limitaciones de lenguaje de sistema principal sobre el tamaño máximo permitido para los valores LOB ubicados en el almacenamiento de trabajo. Los siguientes lenguajes de sistema principal dan soporte a variables de referencia de archivo: v C y C++ v COBOL v PL/I v Assembler v REXX

Palabra clave INTERSECT en una selección completa
La nueva palabra clave INTERSECT especifica el operador set, la intersección, en una operación de selección completa entre dos tablas de resultados.

8

Novedades

Hay dos tipos de operaciones INTERSECT disponibles: INTERSECT ALL e INTERSECT DISTINCT. Si especifica INTERSECT ALL, el resultado consta de todas las filas que se encuentran tanto en la primera tabla de resultados como en la segunda tabla de resultados y se incluyen las filas duplicadas redundantes. Si especifica INTERSECT DISTINCT, el resultado consta de todas las filas que se encuentran en la primera y en la segunda tabla de resultados y se eliminan las filas duplicadas redundantes. En cualquiera de los dos casos, cada fila del resultado sale en la primera y en la segunda tabla de resultados.

Palabra clave EXCEPT en una subselección
La nueva palabra clave EXCEPT especifica el operador set, la diferencia, en una operación de selección completa entre dos tablas de resultados. Hay dos tipos de operaciones EXCEPT disponibles: EXCEPT ALL y EXCEPT DISTINCT. Si especifica EXCEPT ALL, el resultado consta de todas las filas que se encuentran solamente en la primera tabla de resultados y se incluyen las filas duplicadas redundantes. Si especifica EXCEPT DISTINCT, el resultado consta de todas las filas que se encuentran sólo en la primera tabla de resultados y se eliminan las filas redundantes. En cualquiera de los dos casos, cada fila del resultado es una fila de la primera tabla de resultados que no tiene una fila coincidente en la segunda tabla de resultados.

Soporte nativo para procedimientos de SQL
En la Versión 9.1, el nuevo soporte de procedimientos de SQL nativo simplifica la definición y la utilización de procedimientos de SQL eliminando la necesidad de generar un programa C. En versiones anteriores de DB2 para z/OS, se debe generar un programa C a partir de las sentencias de SQL transformadas y las sentencias de control de SQL contenidas en el procedimiento de SQL. A continuación, el programa C resultante se ejecuta como un procedimiento almacenado externo. Ahora, cuando crea un procedimiento de SQL nativo en la modalidad de nueva función de la Versión 9.1, las sentencias de procedimiento se convierten en una representación que se almacena en el directorio de base de datos, como es cierto para otras sentencias de SQL. Las opciones de procedimiento de lista de parámetros se almacenan en las tablas de catálogo de base de datos como en los releases anteriores. Cuando se llama a un procedimiento de SQL nativo, la representación se carga desde el directorio y el motor de DB2 ejecuta el procedimiento. Una serie de funciones y extensiones adicionales en la Versión 9.1 proporcionan coherencia con el Estándar de SQL y con el resto de la familia de DB2. Los ejemplos de estas mejoras incluyen soporte para lo siguiente: v Cambio de la resolución de nombre dentro del cuerpo del procedimiento v Utilización de identificadores delimitados, incluidos caracteres en minúsculas, para nombres de condición de SQL, etiquetas de SQL, variables de SQL y parámetros de SQL v Sentencias compuestas anidadas, incluida una sentencia compuesta dentro del cuerpo de un manejador de condiciones v Creación de versión y gestión de código fuente v Despliegue de procedimientos de SQL nativo en varios servidores v Depuración de procedimientos de SQL nativo

Sentencias compuestas anidadas en procedimientos de SQL
Los procedimientos de SQL ahora dan soporte a sentencias compuestas anidadas.

Capítulo 2. Cómo aprovechar la empresa para información bajo demanda

9

Las sentencias compuestas presentan un bloque de sentencias de SQL en un procedimiento de SQL. Antes de la Versión 9.1, el cuerpo de un procedimiento de SQL podía contener una única sentencia compuesta (que podía contener otras sentencias de SQL, pero ninguna otra sentencia compuesta) o una única sentencia de procedimiento de SQL distinta de una sentencia compuesta. Como resultado, un manejador de condiciones no podía contener tampoco una sentencia compuesta. Ahora, con el soporte de sentencias compuestas anidadas en procedimientos de SQL, puede hacer lo siguiente: v Utilizar una sentencia compuesta dentro de una manejador de condiciones v Utilizar sentencias compuestas anidadas para definir ámbitos distintos para variables de SQL, cursores, nombres de condición y manejadores de condiciones.

Soporte ampliado para no anotar cronológicamente espacios de tablas
La Versión 8 de DB2 para z/OS proporciona soporte para la suspensión de las anotaciones cronológicas en tablas temporales globales, espacios de tablas LOB, durante la operación LOAD REPLACE y durante una inserción de una tabla temporal declarada. Ahora, la Versión 9.1 da soporte a la suspensión de las anotaciones cronológicas para espacios de tablas base, espacios de tablas XML y los índices asociados con los mismos. Puede especificar los atributos de anotaciones cronológicas, LOGGED o NOT LOGGED, a nivel de espacio de tablas cuando altere o cree tablas y espacios de tablas y cuando cree tablas o tablas auxiliares. También puede suprimir las anotaciones cronológicas durante el proceso en línea LOAD RESUME. Debido a que los recursos de anotaciones cronológicas existentes en DB2 ya están ajustados de forma precisa, la suspensión de las anotaciones cronológicas generalmente no mejora el rendimiento del sistema. Sin embargo, la capacidad de suspender las anotaciones cronológicas de registro es útil en una serie de situaciones en las que se están duplicando los datos y en las que la pérdida de la simultaneidad y la capacidad de recuperación no supone una preocupación. En estos casos, si los datos se pierden, puede volver a crearlos o generarlos a partir de la fuente original en lugar de hacerlo utilizando una copia de imagen o la aplicación de registros de anotaciones cronológicas. Entre los ejemplos de tablas para los que la suspensión de las anotaciones cronológicas supone una ventaja se incluyen tablas de consultas materializadas, tablas de resumen, tablas a las que se propagan los datos y tablas temporales que se llenan con un conjunto de resultados a partir de una consulta como un paso intermedio en una aplicación. Una ventaja adicional de la suspensión de las anotaciones cronológicas es la mejora en la escalabilidad, especialmente para operaciones que insertan grandes volúmenes de datos con la sentencia INSERT.

Especificaciones de OLAP para RANK, DENSE_RANK y ROW_NUMBER
Las especificaciones de proceso analítico en línea (OLAP) proporcionan la capacidad de devolver información de clasificación, numeración de filas y función de totales existente como un valor escalar en el resultado de una consulta. Puede incluir especificaciones de OLAP en una expresión, en una lista de selección o en la cláusula ORDER BY de una sentencia select. El resultado al que se aplica la especificación de OLAP es la tabla de resultados de la subselección más interna que incluye la especificación de OLAP. La Versión 9.1 proporciona especificaciones de OLAP para RANK, DENSE_RANK y ROW_NUMBER.

10

Novedades

RANK y DENSE_RANK
RANK y DENSE_RANK especifican que se calcula el rango ordinal de una fila dentro de la ventana especificada. Las filas que no son distintivas respecto a la ordenación dentro de la ventana especificada se asignan al mismo rango. Puede definir los resultados de la ordenación con saltos en la numeración de rangos secuenciales utilizando la especificación RANK, o sin saltos, utilizando la especificación DENSE_RANK. Algunos ejemplos comunes de la utilización de especificaciones RANK o DENSE_RANK incluyen los siguientes: v Clasificación de cifras de ventas (por ejemplo, determinar qué tiendas de una cadena tienen las ventas más altas y más bajas) v Clasificación de los empleados dentro de un departamento o división según los distintos indicadores v Creación de las n consultas superiores (por ejemplo, recuperar los cinco empleados que tienen los salarios más altos)

ROW_NUMBER
ROW_NUMBER especifica que se calcula un número de fila secuencial para la fila definida por la ordenación, empezando con 1 para la primera fila. Si no se especifica la cláusula ORDER BY en la ventana, los números de fila se asignan a las filas en un orden arbitrario, conforme se devuelven las filas (pero no según ninguna cláusula ORDER BY en la sentencia select). Puede utilizar ROW_NUMBER para numerar las filas de resultados de una consulta. Los números de fila también permiten la fácil formulación de consultas calculando estadísticas de histograma (cálculos cuantiles) y permiten la formación de otras especificaciones de OLAP (por ejemplo, moviendo sumas, moviendo promedios, etc.).

Función COLLATION_KEY
La nueva función COLLATION_KEY da soporte a la recopilación sensible a mayúsculas y minúsculas y culturalmente correcta de datos de Unicode. La función COLLATION_KEY procesa una serie de entrada Unicode UTF-16 y un nombre de clasificación, y devuelve una clave de ordenación binaria de longitud variable. El resultado de la operación COLLATION_KEY se puede comparar al resultado de otra operación COLLATION_KEY en otra serie para determinar su orden dentro del nombre de clasificación especificado. Los atributos del nombre de clasificación especifican las características de clasificación (por ejemplo, el atributo de entorno local, el tratamiento del acento y de las mayúsculas y minúsculas, etc.) para la clave de ordenación, y se adecuan a los convenios de los servicios de conversión Unicode soportados por z/OS. También puede utilizar la función COLLATION_KEY para realizar comparaciones que no sean sensibles a mayúsculas o minúsculas (o sin distinción entre mayúsculas y minúsculas) de expresiones de serie especificando atributos en el nombre de clasificación que omitan las mayúsculas y minúsculas o ignoren una combinación de mayúsculas y minúsculas y otros atributos tales como espacios, puntuación y símbolos.

Capacidad de crear un índice en una expresión
En la Versión 9.1, una extensión a la sentencia CREATE INDEX le permite crear un índice en una expresión (también denominado índice en expresión).

Capítulo 2. Cómo aprovechar la empresa para información bajo demanda

11

Una expresión puede ser una referencia de columna, una invocación de función incorporada o una expresión general con algunas restricciones. A diferencia de un índice simple, la clave de índice de un índice en expresión se compone concatenando el resultado (también denominado destino de clave) de la expresión especificada en la cláusula ON. Un índice que se crea en una expresión permite que una consulta se beneficie de acceso al índice (si el optimizador ha elegido el índice) y evita una exploración de espacio de tablas.

Creación automática de una base de datos, un espacio de tablas y todos los objetos requeridos por el sistema
La función de la sentencia CREATE TABLE ahora da soporte a la creación automática (implícita) de una base de datos o de un espacio de tablas. | | | | | | | | | | | | | | | | | Creación implícita de una base de datos, un espacio de tablas y todos los objetos requeridos por el sistema: una base de datos, un espacio de tablas y todos los objetos requeridos por el sistema se crean implícitamente si no nombra un espacio de tablas o una base de datos en la cláusula IN de una sentencia CREATE. Los atributos del espacio de tablas (por ejemplo, tipo de espacio de tablas, los conjuntos de datos subyacentes y la utilización de la compresión de datos) están determinados por los parámetros de instalación del espacio de tablas. Si se crea implícitamente un espacio de tablas, también se crean los siguientes objetos requeridos por el sistema: v Índice de clave primaria de aplicación v Índice de clave exclusiva de aplicación v Índice ROWID (si la columna ROWID se define como GENERATED BY DEFAULT) v Un espacio de tablas LOB, tabla auxiliar e índice auxiliar Creación implícita de un espacio de tablas: se crea implícitamente un espacio de tablas segmentado en DSNDB04 si no nombra un espacio de tablas o una base de datos en la cláusula IN de una sentencia CREATE.

IBM Spatial Support for DB2 for z/OS
El nuevo IBM Spatial Support for DB2 for z/OS le permite generar y analizar información espacial sobre características geográficas y almacenar y gestionar los datos en los que se basa esta información. Spatial Support for DB2 for z/OS proporciona un conjunto de tipos de datos espaciales, funciones definidas por el usuario y procedimientos almacenados para consultas relacionadas con el espacio. Con Spatial Support, puede hacer lo siguiente: v Invocar consultas espaciales para clientes locales y remotos para responder a preguntas basadas en relaciones geográficas. v Crear índices espaciales en columnas espaciales, lo que puede mejorar el rendimiento de consulta cuando utiliza funciones de predicado espacial. v Gestionar sistemas de coordinadas geográficas, índices espaciales y usos de columna espacial mediante interfaces de procedimiento almacenado. Además, Spatial Support incluye un programa ODBC que puede utilizar para habilitar o inhabilitar la característica espacial. Este programa puede invocar cada uno de los procedimientos almacenados mediante un conjunto de argumentos de línea de mandatos.

12

Novedades

Cómo aprovechar las capacidades existentes de programación de aplicaciones
El aumento de la coherencia dentro de la familia de DB2 le permite aprovechar las capacidades existentes de los programadores de aplicaciones mediante el soporte de una gama más amplia de herramientas, entornos y lenguajes. La Versión 9.1 mejora el soporte para el desarrollo de aplicaciones de extremo a extremo conectando nuevos lenguajes y entornos a la escala y valor de la infraestructura existente. Las líneas de productos IBM Rational y WebSphere proporcionan parte de la conexión, con productos como Rational Data Architect, Rational Application Developer y WebSphere Information Integration. Los clientes de DB2 proporcionan más soporte para nuevos entornos y nuevos lenguajes. La Versión 9.1 da soporte a tecnologías clave de base de datos, que incluyen SQL y procedimientos de SQL nativo, XML, arquitectura orientada a servicios (SOA) y varios servicios web. Una amplia variedad de infraestructuras de desarrollo proporcionan soporte de lenguaje y herramientas de desarrollo y despliegue de aplicaciones para aplicaciones basadas en la web que funcionan con la familia de DB2. Estas infraestructuras también dan soporte a lenguajes de programación tradicionales y lenguajes de código abierto más nuevos. Por ejemplo, existen comunidades de desarrollo para los siguientes lenguajes de programación tradicionales: v COBOL, PL/I, REXX, C, C++, Fortran, Assembler y APL2 v Soporte de Java, que incluye JDBC y SQLJ v Productos de lenguaje de Microsoft, que incluyen .NET, Visual C# for .NET y Visual Basic for .NET Los ejemplos de soporte de desarrollo de código abierto incluyen los siguientes: v Eclipse v PHP y Zend Core para IBM v Perl v Python v Ruby on Rails v TOAD para DB2

Mejoras en el soporte de objetos grandes
La Versión 9.1 ofrece muchas mejoras para el manejo de objetos grandes (los LOB) mediante extensiones a sentencias de SQL y mejoras en los programas de utilidad y el rendimiento.

Mejoras de SQL para objetos grandes
La Versión 9.1 proporciona varias mejoras de SQL para objetos grandes: v Mejoras de la sentencia FETCH para datos LOB y XML v Soporte de variables de referencia de archivo LOB

Mejoras de la sentencia FETCH para datos LOB y XML
En versiones anteriores de DB2, las aplicaciones que funcionaban con LOB tenían dos métodos principales para captar datos LOB: captación de datos en un almacenamiento intermedio preasignado y utilización de un localizador de LOB para recuperar un manejador en los datos. La captación de datos en un almacenamiento intermedio preasignado tiene potencial para causar problemas de restricción de almacenamiento virtual, especialmente los LOB que tienen una longitud máxima grande. Además, una aplicación que utiliza localizadores de LOB que se confirman con poca frecuencia o no liberan explícitamente los localizadores
Capítulo 2. Cómo aprovechar la empresa para información bajo demanda

13

puede utilizar cantidades considerables de recursos de DB2. La introducción de objetos XML en la Versión 9.1 presenta complicaciones adicionales porque las columnas XML no tienen localizadores y cuando se crea una tabla que contiene una columna XML, no se define ninguna longitud máxima para el objeto XML. La Versión 9.1 presenta la cláusula WITH CONTINUE en la sentencia FETCH para tratar los problemas que se encuentran cuando una aplicación capta datos LOB y XML. Puede utilizar la cláusula WITH CONTINUE en una aplicación para recuperar columnas LOB y XML en varias partes utilizando un localizador de LOB y continuar una operación FETCH para recuperar los datos restantes para las columnas LOB y XML cuando se produce un truncamiento. La aplicación gestiona los almacenamientos intermedios y vuelve a ensamblar las partes de los datos. Dos utilizaciones comunes para FETCH CONTINUE incluyen: v Asignación dinámica de tamaño de almacenamiento adecuado: puede utilizar la sentencia FETCH inicial para captar datos en un almacenamiento intermedio preasignado de un tamaño moderado. Si el elemento de datos devuelto es demasiado grande para adecuarse a ese almacenamiento intermedio, puede utilizar la información de longitud que se devuelve para asignar la cantidad correcta de almacenamiento y utilizar la sentencia FETCH CONTINUE para recuperar los datos restantes. v Modalidad continua de datos a través de un único almacenamiento intermedio de tamaño fijo: si permanecen más datos después de una operación FETCH, puede utilizar tantas sentencias FETCH CONTINUE como sean necesarias para recuperar los datos y utilizar la misma área de almacenamiento intermedio. En este caso, los datos del almacenamiento intermedio se deben procesar después de cada operación FETCH o FETCH CONTINUE.

Variables de referencia de archivo para objetos grandes
Una variable de referencia de archivo es una variable de sistema principal definida en un lenguaje de sistema principal (por ejemplo, C o COBOL) para contener el nombre de archivo que dirige entrada y salida de archivo para un objeto grande (LOB). La Versión 9.1 añade soporte para una variable de referencia de archivo LOB. Con el soporte de DB2 de las variables de referencia de archivo, se pueden insertar valores LOB grandes a partir de un archivo o se pueden seleccionar en un archivo en lugar de una variable de sistema principal; la aplicación no necesita adquirir almacenamiento para contener el valor LOB. Además, las variables de referencia de archivo facilitan el movimiento de valores LOB del servidor de bases de datos a una aplicación de cliente o desde una aplicación de cliente a un servidor de bases de datos sin pasar por el almacenamiento de trabajo de la aplicación de cliente. Además, las variables de referencia de archivo omiten las limitaciones de lenguaje de sistema principal sobre el tamaño máximo permitido para los valores LOB ubicados en el almacenamiento de trabajo. Los siguientes lenguajes de sistema principal dan soporte a variables de referencia de archivo: v C y C++ v COBOL v PL/I v Assembler v REXX

Mejoras de los programas de utilidad para objetos grandes
La Versión 9.1 proporciona mejoras para el manejo de objetos grandes (los LOB) en los siguientes programas de utilidad: LOAD, UNLOAD, REORG, CHECK LOB y CHECK DATA.

14

Novedades

Manejo mejorado de LOB para los programas de utilidad LOAD y UNLOAD
Debido a las mejoras en el programa de utilidad LOAD, un valor de campo de entrada puede contener el nombre del archivo que contiene un valor de columna LOB. El valor de columna LOB se carga desde ese archivo. Las mejoras en el programa de utilidad UNLOAD le permiten almacenar el valor de una columna LOB en un archivo y registrar el nombre del archivo en el registro no cargado en la tabla base.

REORG mejorado de espacios de tablas LOB
Antes de la Versión 9.1, no puede acceder a datos LOB durante la operación REORG y los LOB se trasladan dentro del espacio de tablas LOB existente, lo que impide que el conjunto de datos LOB reclame el espacio físico. Las mejoras en la Versión 9.1 superan estas limitaciones anteriores. Ahora, el espacio de tablas LOB original se ha drenado de escritores. A continuación, todos los LOB se extraen del conjunto de datos original y se insertan en un conjunto de datos de duplicación. Cuando esta operación finaliza, todo el acceso al espacio de tablas LOB se detiene (se drenan los lectores) mientras que el conjunto de datos original se cambia con el conjunto de datos de duplicación. En este momento, el acceso completo a los conjuntos de datos nuevos está habilitado y se realiza una copia en línea para garantizar la capacidad de recuperación de los datos.

Programas de utilidad CHECK LOB y CHECK DATA
Se han añadido las opciones SHRLEVEL REFERENCE y SHRLEVEL CHANGE tanto al programa de utilidad CHECK LOB como al programa de utilidad CHECK DATA. Estas opciones reducen drásticamente la cantidad de tiempo durante el cual los datos están en modalidad de sólo lectura cuando se ejecutan los programas de utilidad CHECK LOB y CHECK DATA. El programa de utilidad CHECK DATA comprueba los espacios de tablas para ver si hay violaciones de restricciones referenciales o de comprobación de tabla e información de informes sobre las violaciones que detecta. CHECK DATA también comprueba la coherencia entre un espacio de tablas base y los espacios de tablas LOB o XML correspondientes. Las nuevas opciones SHRLEVEL REFERENCE y SHRLEVEL CHANGE proporcionan las funciones siguientes: v CHECK DATA con SHRLEVEL REFERENCE especifica que las aplicaciones pueden leer el índice, espacio de tablas o partición que se va a comprobar durante el proceso, pero no escribir en los mismos. v CHECK DATA con SHRLEVEL CHANGE especifica que las aplicaciones pueden leer y escribir en el índice, espacio de tablas o partición que se va a comprobar durante el proceso de CHECK DATA. El programa de utilidad CHECK LOB identifica los defectos estructurales en el espacio de tablas LOB y los valores LOB no válidos. Ejecute el programa de utilidad CHECK LOB antes del programa de utilidad CHECK DATA si un espacio de tablas contiene como mínimo una columna LOB. Las nuevas opciones SHRLEVEL REFERENCE y SHRLEVEL CHANGE proporcionan las funciones siguientes: v CHECK LOB con SHRLEVEL REFERENCE especifica que las aplicaciones pueden leer el espacio de tablas que se va a comprobar durante el proceso de CHECK LOB, pero no escribir en el mismo.
Capítulo 2. Cómo aprovechar la empresa para información bajo demanda

15

v CHECK LOB con SHRLEVEL CHANGE especifica que las aplicaciones pueden leer y escribir en el espacio de tablas que se va a comprobar durante el proceso de CHECK LOB.

Mejoras de rendimiento para objetos grandes
Se han realizado varias mejoras que mejoran el rendimiento para la recuperación de datos para LOB pequeños y medianos y que eliminan bloqueos para las operaciones de LOB.

Optimización de la recuperación de datos para LOB pequeños y medianos
En releases anteriores, el proceso de LOB grandes, especialmente desde una perspectiva distribuida, se ha optimizado para la recuperación de cantidades más grandes de datos. Muchas aplicaciones utilizan eficazmente localizadores para recuperar datos LOB independientemente del tamaño de los datos recuperados. El mecanismo implicado incurrirá en un flujo de red separado para determinar la longitud de los datos a devolver. Los localizadores de este proceso permanecen activos para el ámbito de la transacción, que puede ser mayor de lo que es necesario para cantidades más pequeñas de datos a menos que los localizadores se liberen explícitamente. Como resultado, se consumen recursos valiosos del servidor. La Versión 9.1 presenta la capacidad de que un servidor determine dinámicamente la forma más eficaz en la que devolver datos LOB o XML. Cuando el formato de datos dinámicos está habilitado, el periodo de vida del localizador es el ámbito del cursor (un localizador basado en cursor) en lugar del ámbito de la transacción. También se proporciona un nuevo mecanismo para permitir al peticionario recuperar fragmentos secuenciales de los datos LOB al mismo tiempo que mantiene la posición de los datos (mediante el localizador) en el servidor.

Rendimiento aumentado mediante la eliminación de bloqueos LOB
Se utilizan bloqueos LOB para serializar acceso de espacio de tablas LOB y para determinar si el espacio LOB desasignado anteriormente se puede volver a asignar. En releases anteriores, DB2 adquiere un bloqueo en el valor LOB al mismo tiempo que realiza operaciones de inserción, actualización, supresión y selección, y durante la asignación de espacio LOB. La Versión 9.1 elimina la adquisición de bloqueos en cada operación LOB, incluyendo bloqueos LOB que se utilizan para la asignación de espacio. Se elimina el requisito de un bloqueo LOB para las operaciones de inserción, supresión, actualización y selección. Además, ya no es necesario un bloqueo LOB para serializar la coherencia entre el valor del LOB y la columna de la fila base para la operación de lectura no confirmada. Como resultado, la escala de bloqueos para bloqueos LOB a nivel de espacio de tablas también se elimina. Este cambio mejora el tiempo transcurrido global para la recuperación de datos LOB.

Liderazgo de SQL: novedades de la familia
La Versión 9.1 proporciona liderazgo de SQL ofreciendo una serie de novedades de la familia de DB2.

Sentencia TRUNCATE TABLE
La sentencia TRUNCATE TABLE proporciona un mecanismo eficaz para suprimir todas las filas de datos en una tabla de DB2 indicada sin activar desencadenantes de supresión ni modificar los atributos actuales de tabla del catálogo de DB2. La sentencia también proporciona una opción IMMEDIATE para vaciar de forma

16

Novedades

permanente la tabla de DB2 designada sin emitir una confirmación, y proporciona una opción REUSE STORAGE para permitir la reutilización del almacenamiento desasignado.

Tipo de datos incorporados DECFLOAT
DECFLOAT (coma flotante decimal) es un nuevo tipo de datos incorporado de SQL que tiene una precisión máxima de 34 dígitos. Los datos DECFLOAT se pueden manipular, almacenar o cargar en tablas DB2. Un valor de coma flotante decimal es un número IEEE 754r (finito) con una coma decimal. La posición de la coma decimal se almacena en cada valor de coma flotante decimal.

Tipo de datos VARBINARY
La Versión 9.1 proporciona soporte para la función y el tipo de datos VARBINARY. El tipo de datos VARBINARY representa una serie binaria de longitud variable. La función VARBINARY devuelve una representación de serie binaria de longitud variable de una serie de cualquier tipo. Conceptos relacionados “Tipo de datos y función BINARY” en la página 8

Mejoras en el control de simultaneidad optimista y la detección de actualizaciones
Las mejoras en el control de simultaneidad optimista proporcionan una alternativa de bloqueo más rápida y escalable al bloqueo de base de datos para acceso simultáneo a datos. Una mejora adicional relacionada proporciona un mecanismo para detectar actualizaciones recientes de base de datos (diarias, semanales o mensuales).

Bloqueo optimista
El bloqueo optimista minimiza el tiempo durante el que un recurso determinado no está disponible para ser utilizado por otras transacciones. Debido a que DB2 puede determinar cuándo se ha cambiado una fila, puede garantizar la integridad de los datos al mismo tiempo que limita el tiempo que se mantienen los bloqueos. Con el control de simultaneidad optimista, DB2 libera los bloqueos de fila o página inmediatamente después de una operación de lectura. Para garantizar la integridad de los datos, DB2 también libera el bloqueo de fila después de cada operación FETCH y toma un nuevo bloqueo en una fila sólo para una actualización o supresión posicionada. Una nueva columna de indicación de fecha y hora de cambio de fila que especifique en la sentencia CREATE TABLE y ALTER TABLE le permite implementar el control de simultaneidad optimista. La columna se define con una de dos opciones: v NOT NULL GENERATED ALWAYS FOR EACH ROW ON UPDATE AS ROW CHANGE TIMESTAMP v NOT NULL GENERATED BY DEFAULT FOR EACH ROW ON UPDATE AS ROW CHANGE TIMESTAMP. DB2 mantiene el contenido de la columna de indicación de fecha y hora de cambio de fila. Cuando desea utilizar esta señal de cambio como una condición al realizar una actualización, puede especificar una condición adecuada para esta columna en la cláusula WHERE.
Capítulo 2. Cómo aprovechar la empresa para información bajo demanda

17

Detección de actualización diaria, semanal y mensual
Los administradores de bases de datos se benefician de saber el volumen de actualizaciones dentro de rangos de tiempo específicos de forma que puedan planear la duplicación de datos, crear escenarios de auditoría, etc. Una nueva expresión, ROW CHANGE, devuelve una señal o indicación de fecha y hora que representa el último cambio a una fila. Ahora, una aplicación tiene las opciones siguientes: v Determinar cuándo se ha cambiado por última vez una fila (o si se ha cambiado durante un rango de fechas o un número de días) utilizando la expresión ROW CHANGE TIMESTAMP v Devolver una señal como un valor BIGINT (entero grande) que representa un punto relativo en la secuencia de modificación de una fila utilizando la expresión ROW CHANGE TOKEN

Sentencias MERGE y SELECT FROM MERGE
En releases anteriores, la fusión de datos (de 100 transacciones a una tabla maestra, por ejemplo) requería muchas operaciones distintas: v 100 operaciones de actualización para actualizar filas existentes en la tabla maestra v Operación de inserción para insertar de cero a 100 filas de las transacciones que no existen actualmente en la tabla maestra La Versión 9.1 proporciona un mecanismo más fácil y más eficaz mediante la sentencia MERGE utilizando matrices de datos de entrada. La sentencia MERGE le permite actualizar e insertar muchas filas en una tabla a partir de una única sentencia. Puede incorporar la sentencia MERGE en un programa de aplicación y emitirlo de forma interactiva. La sentencia es ejecutable y se puede preparar dinámicamente. Además, puede utilizar la sentencia SELECT FROM MERGE para devolver todas las filas actualizadas y todas las filas insertadas, incluidos los valores de columna generados por DB2.

Herramientas que dan soporte a la empresa
IBM ofrece muchas herramientas que le ayudan a realizar tareas de administración, a acceder e integrar la información, así como a gestionar de forma más eficaz los programas de utilidad, el rendimiento, la recuperación y las aplicaciones.

Acceso a los datos de la empresa bajo demanda con DB2 QMF
DB2 QMF Versión 9.1 ofrece una estación de trabajo entre plataformas y completamente rediseñada y una solución basada en la web que proporciona acceso bajo demanda a datos, informes y soluciones visuales interactivas a través de una aplicación potente de sobremesa y un navegador web estándar. Además, este release más reciente de DB2 QMF da soporte a la nueva función en DB2 V9.1 para z/OS. La familia de productos de DB2 QMF incluye los siguientes: v DB2 QMF para TSO/CICS v DB2 QMF High Performance Option (HPO) v DB2 QMF para Workstation v DB2 QMF para WebSphere DB2 QMF Versión 9.1 proporciona las mejoras siguientes:

18

Novedades

v Soporte de DB2 Versión 9.1 para z/OS, incluyendo XML y mejoras a SQL v Desarrollo de arrastrar y soltar de analíticas OLAP, consultas de SQL, informes tabulares, informes gráficos, tablas de pivote y vistas de análisis de datos v Desarrollo de arrastrar y soltar de soluciones visuales interactivas tal como paneles de instrumentos ejecutivos que pueden representar gráficamente datos que se extraen desde varias fuentes de datos v Un potente modelo de seguridad que da soporte a la personalización y diseminación de datos y realiza informes por usuario o por grupo v Un nuevo depósito de objetos que simplifica el almacenamiento, el control de acceso y la distribución de objetos de QMF en la empresa v Una aplicación de escritorio rediseñada, basada en Eclipse, que amplía QMF a numerosos sistemas operativos de estación de trabajo, incluyendo Windows, Linux, Solaris y AIX v Completa asimilación de la solución anterior Visionary de QMF en el núcleo del producto DB2 QMF, que amplía los objetos gráficos de Visionary a informes de QMF y unifica el desarrollo de soluciones visuales dentro de una única aplicación v Rediseño de DB2 QMF para WebSphere, que amplía funcionalidad clave de QMF a usuarios basados en navegador entre varias plataformas

DB2 QMF para TSO/CICS
DB2 QMF para TSO/CICS Versión 9.1 ofrece mejoras significativas en el proceso de bases de datos, soporte para nuevos tipos de datos de DB2 V9.1 para z/OS, importación y exportación, seguridad y nuevas capacidades de diagnóstico. Algunos de los aspectos más importantes de la Versión 9.1 de DB2 QMF para TSO/CICS incluyen los siguientes: v Las mejoras en el proceso de bases de datos incluyen un nuevo parámetro de programa que se beneficia del proceso de captación e inserción de varias filas de DB2. v Soporte para los siguientes nuevos tipos de datos de DB2 V9.1 para z/OS: – BIGINT – BINARY – DECFLOAT – VARBINARY – XML v Mejoras en las funciones de importación y exportación, incluyendo las siguientes: – Soporte del nuevo formato de datos XML – Capacidad de importación y exportación de datos utilizando nombres de vía de acceso de UNIX – Capacidad de exportación e importación de objetos y datos de QMF utilizando conjuntos de datos PDSE – Especificación más fácil del tamaño de conjunto de datos v Mejora en la seguridad mediante el mandato CONNECT de QMF, que ahora da soporte a contraseñas en mayúsculas y minúsculas RACF v Soporte de diagnóstico para varios nuevos códigos de SQL de DB2 V9.1 para z/OS

Capítulo 2. Cómo aprovechar la empresa para información bajo demanda

19

DB2 QMF para Workstation
El producto llamado anteriormente DB2 QMF para Windows se ha rediseñado y renombrado a DB2 QMF para Workstation. La nueva arquitectura basada en Eclipse permite a DB2 QMF para Workstation dar soporte a entornos populares de estación de trabajo tales como Linux, UNIX, Solaris y AIX, además de a Windows. Otros cambios y mejoras a DB2 QMF para Workstation incluyen los siguientes: v Integración completa del anterior producto Visionary de DB2 QMF en DB2 QMF para Workstation v Un nuevo depósito de objetos que sustituye al Archivo de definiciones de servidor (SDF) anterior y ofrece una serie de mejoras v Varias mejoras en la productividad y en la facilidad de uso, que incluyen las siguientes: – Soporte mejorado de OLAP – Capacidades rediseñadas de edición de tablas v Una arquitectura distribuida que: – Permite a los usuarios acceder a fuentes de datos de forma remota utilizando conexiones de red o de servicio web a través de HTTP/HTTPS – Permite a los administradores consolidar opcionalmente acceso de base de datos en un servidor designado o una colección de servidores – Combina las ventajas de una administración de cliente cero al mismo tiempo que mantiene la flexibilidad y el rendimiento de una potente aplicación de sobremesa

DB2 QMF para WebSphere
DB2 QMF para WebSphere proporciona drásticas mejoras en el rendimiento y la usabilidad. Las mejoras clave incluyen las siguientes: v Una interfaz de usuario rediseñada con rendimiento mejorado y tiempo reducido de respuesta del servidor, y un diseño que es similar a DB2 QMF para Workstation v Soporte completo de las capacidades que se proporcionaron anteriormente en DB2 QMF Visionary v Una consola de administración de QMF basada en la web que permite a los administradores de QMF gestionar la aplicación QMF para WebSphere mediante un navegador web normal v Soporte de tipos de datos nuevos y existentes y nuevas extensiones de SQL en DB2 V9.1 para z/OS, incluyendo los siguientes: – BIGINT – BINARY – DECFLOAT – VARBINARY – XML

DB2 QMF High Performance Option
Las mejoras clave para la Versión 9.1 de DB2 QMF High Performance Option (HPO) incluyen las siguientes:

20

Novedades

v Aprovechamiento de la captación e inserción de varias filas de DB2 para aumentar el rendimiento v Soporte de DSQLLIB para asignar bibliotecas, proporcionando soporte comparable al de QMF para TSO v Una nueva opción para sustituir automáticamente un procedimiento almacenado existente v Incorpora una interfaz de procedimiento almacenado que toma una consulta y un formulario como entrada y devuelve el informe resultante como un conjunto de resultados v Añade soporte para el nuevo tipo de datos BIGINT de DB2

Opciones de empaquetado para DB2 QMF
Hay disponibles dos opciones de empaquetado para DB2 QMF: DB2 QMF Enterprise Edition y DB2 QMF Classic Edition. DB2 QMF Enterprise Edition proporciona toda la familia de tecnologías de DB2 QMF, lo que habilita la información empresarial a nivel de toda la empresa entre plataformas de base de datos y usuario final. DB2 QMF Enterprise Edition consta de los componentes siguientes: v DB2 QMF para TSO/CICS v DB2 QMF High Performance Option (HPO) v DB2 QMF para Workstation v DB2 QMF para WebSphere DB2 QMF Classic Edition da soporte a usuarios finales que acceden a bases de datos de DB2 para z/OS únicamente desde emuladores y terminales de sistemas principales tradicionales, incluyendo IBM Host On Demand. Esta edición consta de DB2 QMF para TSO/CICS.

Gestión de la empresa con las Herramientas de DB2
Las Herramientas de DB2 para z/OS le ayudan a reducir las tareas manuales, a mantener la alta disponibilidad y a realizar funciones de duplicación e integración de la información. Conjuntamente, el conjunto de herramientas que ofrece IBM puede ayudarle a satisfacer estándares de rendimiento y a controlar los costes de TI. Puede combinar una selección de herramientas de cualquier categoría para crear una solución completa, flexible y asequible personalizada para satisfacer sus necesidades específicas. Encontrará una amplia variedad de herramientas disponibles y preparadas para dar soporte a todas las nuevas funciones principales de la Versión 9.1.

Administración de bases de datos
Las herramientas de administración de bases de datos satisfacen requisitos comunes de servicio y soporte de bases de datos para agilizar la gestión de DB2. Las herramientas de administración de bases de datos de DB2 incluyen las siguientes: v IBM DB2 Administration Tool for z/OS v IBM DB2 Administration Toolkit for z/OS, SAP Edition v IBM DB2 Audit Management Expert for z/OS v IBM DB2 Object Comparison Tool for z/OS v IBM DB2 Storage Management Utility for z/OS
Capítulo 2. Cómo aprovechar la empresa para información bajo demanda

21

v IBM DB2 Thread Expert for z/OS v IBM Data Encryption for IMS and DB2 Databases for z/OS

Gestión de programas de utilidad
Las herramientas de gestión de programas de utilidad proporcionan un completo conjunto de programas de utilidad que manejan las tareas de descarga, carga y otras. Muchos programas de utilidad ampliados le ayudan a mejorar la productividad, el rendimiento y la disponibilidad. Las herramientas de gestión de programas de utilidad incluyen las siguientes: v IBM DB2 Automation Tool for z/OS v IBM DB2 Automation Toolkit for z/OS, SAP Edition v IBM DB2 Cloning Tool for z/OS v IBM DB2 High Performance Unload for z/OS v IBM DB2 Utilities Suite for z/OS Importante: En esta versión de DB2 para z/OS, DB2 Utilities Suite está disponible como un producto opcional. Debe solicitar y adquirir separadamente una licencia para estos programas de utilidad, y la descripción de las funciones de estos programas de utilidad en esta publicación no pretende implicar que tenga una licencia de los mismos. Consulte la Parte 1 del manual DB2 Utility Guide and Reference para ver detalles del paquete.

Gestión de rendimiento
Las herramientas de gestión de rendimiento le ayudan a mantener DB2 en ejecución a niveles máximos incluso bajo una fuerte demanda. Las herramientas de gestión de rendimiento incluyen las siguientes: v IBM DB2 Buffer Pool Analyzer for z/OS v IBM DB2 Optimization Expert for z/OS v IBM DB2 Performance Toolkit for DB2 on z/OS, SAP Edition v IBM DB2 Query Monitor for z/OS v IBM DB2 SQL Performance Analyzer for z/OS v IBM Tivoli OMEGAMON XE for DB2 Performance Expert on z/OS v IBM Tivoli OMEGAMON XE for DB2 Performance Monitor on z/OS

Gestión de recuperación
Las herramientas de gestión de recuperación gestionan una serie de tareas de copia de imagen, copia de seguridad y recuperación, que incluyen la acumulación de cambios, mejoran la flexibilidad de DB2 y aumentan el valor y la disponibilidad de los datos copiados para DB2. Las herramientas de gestión de recuperación incluyen las siguientes: v IBM DB2 Archive Log Accelerator for z/OS v IBM DB2 Change Accumulation Tool for z/OS v IBM DB2 Log Analysis Tool for z/OS v IBM DB2 Object Restore for z/OS v IBM DB2 Recovery Expert for z/OS v IBM Application Recovery Tool for IMS and DB2 Databases

Gestión de aplicaciones
Las herramientas de gestión de aplicaciones le ayudan a gestionar las aplicaciones de DB2 y le ofrecen acceso global y rentable a información y a transacciones basadas en la web. Las herramientas de gestión de aplicaciones incluyen las siguientes:

22

Novedades

v v v v v

IBM IBM IBM IBM IBM

DB2 DB2 DB2 DB2 DB2

Bind Manager for z/OS Data Archive Expert for z/OS Path Checker for z/OS Table Editor for z/OS Test Database Generator for z/OS

Análisis de empresa
Las herramientas de análisis de empresa ayudan a los analistas de empresa a aprovechar la nueva inteligencia empresarial de los datos de base de datos. Las herramientas de análisis de empresa incluyen las siguientes: v IBM DataQuant for z/OS v IBM QMF for z/OS v IBM DB2 Web Query Tool for z/OS

Integración de información
Las herramientas de integración de información ofrecen posibilidades ampliadas de duplicación de datos y de publicación de sucesos de datos como parte del conjunto completo de componentes de Information Integration Solutions. Las herramientas de integración de información incluyen las siguientes: v IBM WebSphere Classic Data Event Publisher for z/OS v IBM WebSphere Classic Federation Server for z/OS v IBM WebSphere Classic Replication Server for z/OS v IBM WebSphere Data Event Publisher for z/OS v IBM WebSphere Data Integration Classic Connector for z/OS v IBM WebSphere DataStage for z/OS v IBM WebSphere QualityStage for z/OS v IBM WebSphere Replication Server for z/OS Información relacionada Página web de Herramientas de DB2 e IMS

Capítulo 2. Cómo aprovechar la empresa para información bajo demanda

23

Capítulo 3. Disponibilidad
La Versión 9.1 ofrece disponibilidad mejorada mediante un nuevo mandato de DB2 y extensiones a sentencias de SQL y programas de utilidad en línea existentes.

REORG en línea sin ninguna fase BUILD2
Al reorganizar un espacio de tablas con SHRLEVEL CHANGE en versiones anteriores de DB2, los datos que se están reorganizando no están disponibles a las aplicaciones durante las fases SWITCH y BUILD2, que son relativamente largas. Ahora, en la Versión V9.1, la fase BUILD2 se ha eliminado para mejorar la disponibilidad de los datos.

Sustitución más rápida de una tabla por otra
La Versión 9.1 proporciona la capacidad de sustituir tablas de forma más rápida mediante el soporte de tablas de réplica. Con el soporte de las tablas de réplica, puede generar una copia de una tabla actual, en el mismo espacio de tablas, que tenga los mismos atributos, estructura y datos que la tabla original. Después de crear una tabla de réplica, puede insertar o cargar datos en la tabla de réplica y cambiar el nombre de la tabla de réplica por el nombre de tabla actual. Las extensiones a la sentencia ALTER TABLE dan soporte a la función de tabla de réplica y le permiten realizar las acciones siguientes: v Crear tablas de réplica con la opción ADD CLONE. Las tablas de réplica pueden estar particionadas o no particionadas y puede realizar copias de imagen de una tabla de réplica. v Descartar tablas de réplica con la opción DROP CLONE. v Cambiar los datos actuales por los datos de réplica con la opción EXCHANGE, que proporciona una sustitución rápida de los datos originales y es una alternativa a la capacidad LOAD REPLACE en línea. Las aplicaciones basadas en la web que necesiten la máxima disponibilidad pueden beneficiarse de la opción para implementar un par de tablas que tengan estructuras replicadas. Se pueden crear fácilmente copias para la comprobación y auditoría de aplicaciones. El soporte de tablas de réplica también proporciona la capacidad exclusiva de cambiar rápidamente los nombres de tabla. Como resultado, las aplicaciones pueden conmutar de forma rápida y transparente entre tablas de réplica dual. Cuando es necesario que los datos de la tabla de réplica pasen a estar activos para una aplicación, puede utilizar la opción EXCHANGE de la sentencia ALTER TABLE para cambiar el nombre de tabla, que proporciona la sustitución rápida de los datos originales.

Espacios de tablas universales
V9.1 presenta un nuevo tipo de espacio de tablas, un espacio de tablas universal. Un espacio de tablas universal es un espacio de tablas que está segmentado y particionado. Hay disponibles dos tipos de espacios de tablas universales: el espacio de tablas de partición por crecimiento y el espacio de tablas particionado por rango.
© Copyright IBM Corp. 2007, 2008

25

Un espacio de tablas universal ofrece las ventajas siguientes: v Mejor gestión del espacio en relación a las filas de longitud variable: una página de correlación de espacio segmentado proporciona más información sobre el espacio libre que una página de correlación de espacio particionado normal. v Rendimiento mejorado de supresión masiva: la supresión masiva en una organización de espacios de tablas segmentados tiende a ser más rápida que los espacios de tablas organizados de otra forma. Además, puede reutilizar de forma inmediata todos los segmentos de una tabla o la mayoría de ellos.

Espacio de tablas de partición por crecimiento
Antes de la Versión 9.1, las tablas particionadas requerían rangos de claves para determinar la partición de destino para la colocación de las filas. Las tablas particionadas proporcionan operaciones de bloqueo y paralelas más granulares ya que dividen los datos entre más conjuntos de datos. Ahora, en la Versión 9.1, tiene la opción de realizar la partición según el crecimiento de los datos, lo que permite que las tablas segmentadas se particionen según crecen, sin necesidad de rangos de claves. Como resultado, las tablas segmentadas se benefician de límites aumentados de espacio de tablas y del paralelismo de programas de utilidad y SQL que anteriormente sólo estaban disponibles para las tablas particionadas, y puede evitar la necesidad de reorganizar un espacio de tablas para cambiar las claves de límite. Puede implementar la organización de espacios de tablas de partición por crecimiento de varias formas: v Puede utilizar la nueva cláusula MAXPARTITIONS en la sentencia CREATE TABLESPACE para especificar el número máximo de particiones que el espacio de tablas de partición por crecimiento puede acomodar. El valor que especifica en la cláusula MAXPARTITIONS se utiliza para proteger contra aplicaciones descontroladas que realizan una inserción en un bucle infinito. v Puede utilizar la cláusula MAXPARTITIONS en la sentencia ALTER TABLESPACE para alterar el número máximo de particiones hasta las que puede crecer un espacio de tablas de partición por crecimiento existente. Esta operación ALTER TABLESPACE actúa como un ALTER inmediato.

Espacio de tablas particionado por rango
Un espacio de tablas particionado por rango es un tipo de espacio de tablas universal que se basa en rangos de partición y que contiene una única tabla. El nuevo espacio de tablas particionado por rango no sustituye al espacio de tablas particionado existente y las operaciones a las que se da soporte en un espacio de tablas particionado o segmentado normal reciben soporte en un espacio de tablas particionado por rango. Puede crear un espacio de tablas particionado por rango especificando las palabras clave SEGSIZE y NUMPARTS en la sentencia CREATE TABLESPACE. Con un espacio de tablas particionado por rango, también puede controlar el tamaño de partición, elegir entre una amplia gama de opciones de indexación y beneficiarse de operaciones a nivel de partición y de las capacidades de paralelismo. Debido a que el espacio de tablas particionado por rango es también un espacio de tablas segmentado, puede ejecutar exploraciones de tabla a nivel de segmento. Como resultado, puede reutilizar de forma inmediata todos los segmentos de una tabla, o la mayoría de ellos, una vez que la tabla se haya descartado o se haya realizado una supresión masiva.

26

Novedades

Mejor disponibilidad durante operaciones REBUILD INDEX
El programa de utilidad REBUILD INDEX en línea se ha ampliado en la Versión 9.1 para dar soporte a acceso de lectura y escritura durante un periodo de tiempo más largo durante la operación del programa de utilidad. Como resultado, las aplicaciones tienen mayor acceso a los datos mientras se están volviendo a crear los índices sobre esos datos. Esto complementa el soporte de la Versión 8 en el que las operaciones de inserción, actualización y supresión están soportadas en índices que no son exclusivos mientras la recreación del índice está en curso.

Disponibilidad mejorada con capacidades para renombrar columnas e índices
Dos nuevas capacidades le permiten renombrar una columna sin necesidad de descartar y volver a crear una tabla, así como renombrar un índice mediante una operación de catálogo. La sentencia ALTER TABLE se ha ampliado para incluir la cláusula RENAME COLUMN. Ahora puede renombrar una columna sin necesidad de descartar y volver a crear una tabla, lo que lleva menos tiempo, reduce los costes de proceso y proporciona un mayor grado de disponibilidad. La capacidad de renombrar una columna de esta forma también permite una mejor reutilización de las columnas porque no es necesario añadir columnas adicionales. La sentencia RENAME se ha ampliado para incluir la palabra clave INDEX, que le permite renombrar un índice mediante una operación de catálogo. La capacidad de renombrar índices de esta forma también le permite consolidar nombres de índice que se utilizan en distintos releases de SAP.

Modificar código EARLY sin una IPL
El nuevo mandato DB2, REFRESH DB2,EARLY, le permite renovar código EARLY cuando DB2 no está activo. No es necesaria ninguna IPL para completar la operación de renovación. Cuando especifica el mandato, los módulos de código EARLY se vuelven a cargar y se vuelve a crear el bloque de control EARLY. Las copias anteriores de los módulos EARLY se suprimirán la próxima vez que inicie DB2.

Mejoras de ALTER TABLESPACE y de las anotaciones cronológicas de índice
La capacidad de modificar un espacio de tablas para suprimir las anotaciones cronológicas se amplía en la Versión V9.1 a espacios de tablas base, espacios de tablas XML y a los índices asociados con los mismos. Los índices heredan los atributos de anotaciones cronológicas de la tabla base con la que están asociados. La supresión de las anotaciones cronológicas comporta ventajas en una serie de situaciones en las que los datos se están duplicando. En estos casos, si los datos se pierden, puede volver a generarlos a partir de la fuente original en lugar de a partir de una copia de imagen y la aplicación subsiguiente de los registros de anotaciones cronológicas. Conceptos relacionados “Soporte ampliado para no anotar cronológicamente espacios de tablas” en la página 10

Capítulo 3. Disponibilidad

27

Soporte para la utilización de clases de almacenamiento SMS con conjuntos de datos definidos por DB2
Los usuarios de DB2 para z/OS han solicitado la capacidad de utilizar clases de almacenamiento SMS con conjuntos de datos definidos por DB2 mediante la sentencia DB2 STOGROUP. La Versión 9.1 ahora da soporte a esta capacidad. Las sentencias CREATE STOGROUP y ALTER STOGROUP se han mejorado para incluir clase de datos SMS, clase de gestión y clase de almacenamiento como parámetros opcionales. La habilitación de conjuntos de datos definidos por DB2 para utilizar clases de almacenamiento SMS aumenta la flexibilidad del manejo de estos conjuntos de datos al mismo tiempo que minimiza el esfuerzo manual y el tiempo que esto implica.

28

Novedades

Capítulo 4. Rendimiento
La Versión 9.1 proporciona rendimiento mejorado mediante reducciones del tiempo de proceso de CPU para una serie de programas de utilidad, acceso más rápido al disco, operaciones mejoradas de anotaciones cronológicas e inserción, optimización mejorada de consultas y mejoras del índice.

Reducción del tiempo de proceso de CPU para programas de utilidad
Ahora se reduce el tiempo de proceso de CPU al extraer claves de índice no rellenadas de filas de datos utilizando los siguientes programas de utilidad: v COPY v REORG v LOAD v REBUILD INDEX v RECOVER v RUNSTATS v CHECK INDEX

Mejoras en la optimización de SQL
La Versión 9.1 ofrece una serie de mejoras en la optimización de SQL, que incluyen soporte para estadísticas de histograma, técnicas de optimización mejoradas y una mejor gestión con el nuevo DB2 Optimization Services Center.

Mejores datos para el optimizador con las estadísticas de histograma
Las estadísticas de distribución de datos son importantes para la optimización de consultas. DB2 elige la mejor vía de acceso en base a los costes. La fundación básica del coste es una estimación de selectividad de predicados, que se basa principalmente en las estadísticas de distribución de datos. Las versiones anteriores de DB2 para z/OS se basan en estadísticas de frecuencia recopiladas (mediante el programa de utilidad RUNSTATS) en valores únicos, de una única columna o de varias columnas. Ahora, la Versión 9.1 da soporte a estadísticas de histograma, que proporcionan mejores datos para el optimizador. Con las estadísticas de histograma, DB2 puede mejorar la selección de vía de acceso calculando la selectividad de predicados de estadísticas de distribución de valores recopiladas de todo el rango de valores de un conjunto de datos, a diferencia de las estadísticas de frecuencia.

Técnicas de optimización mejoradas
DB2 V91 para z/OS añade o mejora varias técnicas para optimizar el rendimiento de consulta.

Optimización de consulta global
En versiones anteriores de DB2 para z/OS, se pueden producir problemas de rendimiento de consulta cuando DB2 divide una consulta en varias partes (por ejemplo, una subconsulta correlacionada o una consulta externa) y optimiza cada una de estas partes independientemente. Mientras que cada una de las partes individuales se puede optimizar para ejecutarse de forma eficaz, el resultado global
© Copyright IBM Corp. 2007, 2008

29

puede ser ineficaz cuando se combinan estas partes. Ahora la Versión 9.1 da soporte a la optimización de consulta global, que permite a DB2 optimizar una consulta de forma global en lugar de como una parte independiente. Cuando se optimiza una consulta como una entidad global, DB2 puede considerar el efecto de un solo bloque de consulta sobre otro y puede considerar la reordenación de bloques de consulta para determinar la vía de acceso de consulta más eficaz.

Índice disperso y mejoras de colocación en antememoria de datos en memoria
En la Versión 8 de DB2 para z/OS, los archivos de trabajo materializados para consultas de unión en estrella se pueden almacenar en la agrupación de almacenamientos global por encima de la barra de 2 GB (una antememoria de datos en memoria) como la alternativa más rentable a la técnica de índice disperso utilizada en versiones anteriores de DB2 para z/OS. Un índice disperso se utiliza como un plan alternativo en tiempo de ejecución si no hay suficiente memoria disponible en la agrupación de almacenamientos global. En la Versión 9.1, la utilización de la colocación en antememoria de datos en memoria se ha generalizado para dar soporte a más tipos de consultas. Además, los datos se colocan en antememoria en una agrupación de almacenamientos local por encima de la barra de 2 GB, lo que puede reducir la contención de almacenamiento potencial porque la gestión de almacenamiento de colocación en antememoria de datos está asociada con cada hebra. Puede asignar hasta 20 MB de memoria para la colocación en antememoria de datos. Si la memoria necesaria excede el límite especificado, se utiliza en su lugar un índice disperso. Este método de acceso ampliado proporciona potenciales ventajas para las tablas que carecen de un índice adecuado o de suficientes estadísticas, y compite con otras opciones para obtener la vía de acceso más eficaz.

Optimización de consulta compleja mediante mejoras en la selección de rango de páginas
El número de particiones a las que accede DB2 para evaluar un predicado de consulta puede afectar al rendimiento de esa consulta. Una consulta que proporciona recuperación de datos a través de un índice secundario con particiones de datos (DPSI) puede acceder a algunas o a todas las particiones del DPSI. Para una consulta que se basa solamente en un valor o rango de clave DPSI, DB2 debe examinar todas las particiones. Sin embargo, si la consulta también tiene predicados en las columnas iniciales de la clave de particionamiento, DB2 no necesita examinar todas las particiones. La Versión 8 de DB2 para z/OS presentaba la selección de rango de páginas o exploración de partición limitada como una técnica para eliminar las particiones inaplicables de la consideración para el acceso. También se ofrecen varias técnicas para escribir o modificar consultas para beneficiarse de la selección de rango de páginas. La Versión 9.1 ofrece dos mejoras adicionales a la función de selección de rango de páginas que reduce más el número de particiones a las que se accede innecesariamente. Ahora puede beneficiarse de selección de rango de páginas creando consultas que unen las tablas en la columna de particionamiento o crean un predicado no coincidente en las claves de particionamiento.

Reoptimización automática para consultas dinámicas
La vía de acceso para consultas estáticas y dinámicas que contienen variables de sistema principal la selecciona el optimizador durante el tiempo de vinculación,

30

Novedades

antes de que estén disponibles los valores de las variables de sistema principal. Debido a que no se consideran los valores de variables de sistema principal, es posible que la vía de acceso que se elija no sea siempre óptima. En versiones anteriores a la Versión 8 de DB2 para z/OS, este problema lo resuelve parcialmente la opción de vinculación REOPT(ALWAYS), que prepara de nuevo la sentencia en tiempo de ejecución cuando las variables de entrada de sistema principal están disponibles. Como resultado, el optimizador puede reoptimizar la vía de acceso en base a los valores de variable de entrada conocidos. Sin embargo, las sentencias de SQL a las que se llama con frecuencia que tardan poco tiempo en ejecutarse no son buenas opciones para este método. La Versión 8 de DB2 para z/OS presentaba la opción de vinculación, REOPT(ONCE), que reoptimiza la vía de acceso de una consulta dinámica sólo una vez en tiempo de ejecución, independientemente de cuántas veces se ejecute la misma sentencia. Con esta técnica, DB2 elige la vía de acceso en base al conjunto de valores de variables de entrada, y la vía de acceso se almacena en la antememoria de sentencias dinámicas para ser utilizada por ejecuciones subsiguientes de la consulta. Mientras que esta opción ofrece flexibilidad adicional, se continúa observando el impacto de las variables de sistema principal en la selección de vías de acceso óptimas. La Versión 9.1 ahora ofrece mayor flexibilidad con la opción REOPT(AUTO), que habilita DB2 para determinar autonómicamente si es necesaria una nueva vía de acceso para una sentencia en la antememoria de sentencias dinámicas. Cuando se especifica REOPT(AUTO), DB2 optimiza la vía de acceso para las sentencias de SQL dinámicas durante la primera operación de ejecutar o abrir. Cada vez que se ejecuta una sentencia, DB2 determina si es necesaria una nueva vía de acceso para mejorar el rendimiento de la sentencia. Si una nueva vía de acceso mejorará el rendimiento, DB2 genera una nueva vía de acceso y sustituye la vía de acceso anterior en la antememoria de sentencias dinámicas.

FETCH FIRST n ROWS ONLY y ORDER BY en subselecciones y selecciones completas
En versiones anteriores de DB2 para z/OS, se daba soporte a las cláusulas ORDER BY y FETCH FIRST n ROWS ONLY sólo a nivel de sentencia como parte de una sentencia select o de una sentencia SELECT INTO. La Versión 9.1 proporciona flexibilidad adicional permitiendo tanto cláusulas FETCH FIRST n ROWS ONLY como cláusulas ORDER BY cuando se especifican como parte de un sentencia de subselección o de selección completa. Con el nuevo soporte para FETCH FIRST n ROWS ONLY, puede seleccionar las n filas superiores de la tabla de resultados de una expresión de tabla, una parte de una unión o una subconsulta (para una sentencia completa que es un componente de un predicado). Si especifica la cláusula FETCH FIRST n ROWS ONLY con la cláusula ORDER BY, la ordenación se realiza en toda la tabla de resultados antes de que se devuelvan las n primeras filas.

IBM Optimization Service Center for DB2 for z/OS
IBM Optimization Service Center for DB2 for z/OS (Optimization Service Center) es una herramienta de estación de trabajo que proporciona un conjunto innovador de capacidades para mejorar el rendimiento de consultas individuales de DB2 SQL y cargas de trabajo completas de SQL que se ejecutan en el subsistema DB2 para z/OS. Puede utilizar Optimization Service Center para identificar y analizar sentencias de SQL problemáticas y recibir consejo experto sobre las estadísticas que puede reunir para mejorar el rendimiento de una sentencia individual.
Capítulo 4. Rendimiento

31

Para consultas individuales, Optimization Service Center puede hacer lo siguiente: v Añadir comentarios a la consulta v Dibujar una gráfica de plan de acceso v Generar informes de consulta v Facilitar la generación de sugerencias de optimización v Sugerir estadísticas que necesite el optimizador de SQL Cuando lo solicite, Optimization Service Center puede enviar información relacionada con consultas de nuevo al servicio de IBM. Para cargas de trabajo de SQL, Optimization Service Center puede reunir cargas de trabajo de varias fuentes tales como la antememoria de sentencias dinámicas, tablas de catálogo, archivos y directorios, tablas de QMF y supervisión de perfiles. De forma adicional, Optimization Service Center puede hacer lo siguiente: v Capturar consultas de SQL de forma inmediata o a una hora planificada, bien periódicamente o una sola vez. v Sugerir estadísticas importantes a recopilar para mejorar el rendimiento para toda la carga de trabajo. v Gestionar y utilizar la supervisión de perfiles. La supervisión de perfiles proporciona un mecanismo de supervisión de excepciones de poco peso en el que DB2 sólo coloca sentencias de excepción. OSC se ofrece como parte de la Suite de accesorios de DB2 para z/OS, una característica gratuita de DB2 Versión 9.1 para z/OS que se puede solicitar.

IBM DB2 Optimization Expert for z/OS
IBM DB2 Optimization Expert for z/OS (DB2 Optimization Expert) es una herramienta de la estación de trabajo que ofrece un completo conjunto de consejeros de índice y estadísticas que puede utilizar para mejorar el rendimiento del sistema y disminuir el coste total de propiedad. Además de un potente conjunto de herramientas de consejero experto, DB2 Optimization Expert incluye todas las funciones del Optimization Service Center. Con DB2 Optimization Expert, puede hacer lo siguiente: v Visualizar la actividad de consulta para buscar problemas de rendimiento a partir de una instantánea de la antememoria de sentencias del subsistema DB2 y una serie de otras fuentes (el catálogo de DB2, por ejemplo) v Obtener e implementar recomendaciones de ajuste expertas para mejorar el rendimiento de una consulta de SQL utilizando algunos de los siguientes consejeros expertos, o todos ellos: – Consejero de estadísticas, que recomienda estadísticas a actualizar o recopilar para mejorar el rendimiento de una consulta – Consejero de consultas, que recomienda formas de sobreescribir una consulta de SQL para mejorar el rendimiento – Consejero de vía de acceso, que le alerta de vías de acceso problemáticas en el plan de acceso para la consulta que puede causar un bajo rendimiento – Consejero de índice, que le recomienda nuevos índices para mejorar el rendimiento de una consulta de SQL y genera sentencias CREATE INDEX que se pueden ejecutar desde la estación de trabajo para implementar las recomendaciones. – Funciones de Optimization Service Center, que da soporte al ajuste avanzado con potentes herramientas de optimización.

32

Novedades

Todas las funciones de Optimization Service Center de DB2 Accessories Suite se incluyen con DB2 Optimization Expert. En resumen, permiten a los administradores de bases de datos experimentados comprender, analizar, formatear y optimizar sentencias de SQL. v Visualizar la actividad de grupos de sentencias de SQL para buscar problemas de rendimiento: Puede supervisar la salud de las cargas de trabajo de SQL. Cuando el rendimiento de SQL se ha optimizado, puede crear perfiles de supervisión para el proceso normal y el proceso de excepciones que: – Supervisen la salud del proceso de SQL en el subsistema – Le alerten cuando se desarrollen problemas – Le alerten cuando es posible que sean aconsejables más actividades de ajuste v Obtengan consejo experto de ajustes de las siguientes funciones de consejero experto para mejorar el rendimiento de toda una carga de trabajo de SQL: – Consejero de estadísticas de carga de trabajo, que recomienda estadísticas a recopilar o actualizar para mejorar el rendimiento general de las sentencias que componen una carga de trabajo de SQL. – Consejero de índice de carga de trabajo, que recomienda índices a crear o modificar para mejorar el rendimiento global de las sentencias que componen una carga de trabajo de SQL. El consejero de índice de carga de trabajo también genera sentencias CREATE INDEX que puede ejecutar desde la estación de trabajo para implementar las recomendaciones. – Consejero de consulta de carga de trabajo, que recomienda formas de sobreescribir consultas de SQL específicas para mejorar el rendimiento de una carga de trabajo. Se recomiendan los arreglos de las mejores prácticas para los errores comunes de escritura de consultas. DB2 Optimization Expert for z/OS es una Herramienta de DB2, con un precio aparte, que se puede solicitar por separado.

Mejoras en la indexación
Las mejoras en la indexación contribuyen a las mejoras generales en el rendimiento de consultas. Las mejoras específicas incluyen compresión de índice, índice en expresión, aleatorización de clave de índice y tamaños más grandes de página de índice.

Compresión de índice
La Versión 9.1 proporciona la capacidad de comprimir un índice sin utilizar un diccionario. La compresión de un índice reduce el espacio de almacenamiento físico que requiere un índice. Eliminando la necesidad de un diccionario, los datos de índice se pueden comprimir tan pronto como las primeras entradas de índice se añaden a un índice, y el espacio que utilizaría normalmente un diccionario pasa a estar disponible. Puede elegir si desea utilizar compresión de índice especificando COMPRESS YES o COMPRESS NO en las sentencias CREATE INDEX o ALTER INDEX.

Índice en expresión
El soporte de un nuevo tipo de índice, índice en expresión, le permite crear un índice en una expresión general. El rendimiento de consultas se puede mejorar si el optimizador elige ese índice. Cuando utiliza un índice en una expresión, los resultados de las expresiones se evalúan durante el tiempo de inserción o durante una recreación de índice y se mantienen en el índice. Si el optimizador elige
Capítulo 4. Rendimiento

33

utilizar ese índice, el predicado se evalúa contra los valores que se almacenan en el índice. Como resultado, se elimina la actividad general de rendimiento en tiempo de ejecución.

Tamaños más grandes de página de índice
Las versiones anteriores de DB2 para z/OS limitan el tamaño de una página de índice a 4 KB. El tamaño de una página de índice limita el número de claves de índice que la página de índice puede acomodar y puede causar contención en los índices que se dividen con frecuencia. La Versión 9.1 levanta estas restricciones proporcionando tamaños expandidos de página de índice de 8 KB, 16 KB y 32 KB. Un tamaño de página de índice mayor de 4 KB acomoda más claves de índice por página y puede reducir la frecuencia de divisiones de página de índice. Puede utilizar la opción INDEXBP tanto en la sentencia CREATE DATABASE como en la sentencia ALTER DATABASE para especificar agrupaciones de almacenamientos intermedios de 4 KB, 8 KB, 16 KB o 32 KB. También puede utilizar la palabra clave BUFFERPOOL en la sentencia CREATE INDEX para especificar agrupaciones de almacenamientos intermedios de 8 KB, 16 KB y 32 KB.

Aleatorización de clave de índice
Actualmente, las cargas de trabajo de proceso de transacción en línea (OLTP) en un entorno de compartimiento de datos pueden experimentar contención de bloqueo en la última página de un índice, especialmente cuando un programa de aplicación utiliza índices en columnas que contienen indicaciones de fecha y hora o valores secuenciales en continuo aumento crean puntos activos de inserción. Como resultado de esta contención, una aplicación debe esperar a adquirir una página de índice. Para aliviar la contención de bloqueo, la Versión 9.1 proporciona soporte para aleatorizar columnas de clave de índice mediante la nueva opción RANDOM tanto en sentencias CREATE INDEX como en sentencias ALTER INDEX. Cuando especifica la opción RANDOM, los valores se almacenan en lugares aleatorios del árbol de índice. Como resultado, el número de inserciones consecutivas en una página disminuye y también se disminuye la contención. Puede utilizar un índice ordenado aleatoriamente para realizar búsquedas de igualdad en una columna especificada. Además, las columnas de clave que están en un orden aleatorio se pueden utilizar en exploraciones de índices no coincidentes, y el acceso sólo a índice en columnas de clave aleatorias es posible. Aunque los valores se almacenan en un orden aleatorio, puede recuperar el valor original de la columna de clave aleatoria. Conceptos relacionados “Capacidad de crear un índice en una expresión” en la página 11 “Liberación de la inserción secuencial de claves” en la página 35

Rendimiento mejorado para filas de longitud variable
Antes de la Versión 9.1, si almacena un valor cuya longitud es inferior a la longitud de una columna en una columna de longitud variable, los datos no rellenan la longitud total de la columna. Como resultado, las columnas que siguen a columnas de longitud variable se encuentran en un desplazamiento variable en la fila. Cuando necesita localizar y acceder a una columna de este tipo, debe explorar las columnas de forma secuencial después de la primera columna de longitud variable. En la Versión 9.1, el formato en el que una fila que contiene columnas de longitud variable se almacena en la tabla se ha cambiado para facilitar la localización de columnas dentro de la fila para la recuperación de datos y la

34

Novedades

evaluación de predicados. Como resultado, ya no necesita ejecutar una exploración secuencial y se mejora el rendimiento para acceder a los datos en tablas que almacenan filas con columnas de longitud variable.

Liberación de la inserción secuencial de claves
En releases anteriores, una página de índice se divide de forma que aproximadamente la mitad de las claves de índice en la página que se divide permanecen en una página, mientras que el resto de claves de índice pasan a una página nueva. Esta división 50:50 puede causar divisiones de página frecuentes en un índice con patrones de inserción secuencial. Como resultado, la mitad de las páginas que se dividen están vacías. Los índices no particionados actualizados por los trabajos del programa de utilidad LOAD que se ejecutan en paralelo contra varias particiones son especialmente susceptibles a estos problemas ya que se pueden producir inserciones secuenciales en varios rangos en el índice no particionado. Dos mejoras en la Versión 9.1 alivian estos problemas: soporte para la división asimétrica de páginas de índice y aumento de los tamaños de las páginas de índice (mayor de 4 KB). Si se permite que las páginas de índice se dividan de forma asimétrica, se puede mejorar la utilización de espacio y reducir la contención resultado de frecuentes divisiones de página en un índice con patrones de inserción secuencial en medio del índice. Un tamaño de página de índice mayor de 4 KB también puede aliviar contención acomodando más claves de índice por página, lo que reduce la frecuencia de divisiones de página en índices. Puede utilizar la opción INDEXBP tanto en la sentencia CREATE DATABASE como en la sentencia ALTER DATABASE para especificar agrupaciones de almacenamientos intermedios de índice de 4 KB, 8 KB, 16 KB o 32 KB, y la palabra clave BUFFERPOOL en la sentencia CREATE INDEX para especificar agrupaciones de almacenamientos intermedios de 8 KB, 16 KB, y 32 KB.

Rendimiento mejorado de la anotación cronológica
Varias mejoras de anotación cronológica de la Versión 9.1 mejoran el rendimiento: v En versiones anteriores, las cargas de trabajo de compartimiento de datos que realizan un gran número de anotaciones cronológicas pueden experimentar retrasos significativos debido al proceso adicional necesario para establecer valores de LRSN (número de secuencia de registro de anotaciones cronológicas) exclusivos para cada registro. En la Versión 9.1, el proceso de establecer y actualizar los valores de LRSN se ha agilizado para mejorar el rendimiento. v La Versión 8 de DB2 para z/OS y los releases anteriores utilizan el método de acceso directo básico (BDAM) para leer anotaciones cronológicas de archivado del disco, lo que facilita el acceso rápido a los intervalos de control de VSAM, pero no da soporte a conjuntos de datos fragmentados y conjuntos de datos de formato ampliado. La Versión 9.1 sustituye a BDAM con el método de acceso secuencial básico (BSAM), que da soporte tanto a conjuntos de datos fragmentados como a conjunto de datos de formato ampliado, y mejora el rendimiento de la lectura y escritura. v En versiones anteriores de DB2 para z/OS, una anotación cronológica activa puede tener un máximo de 4 GB de pistas en un único volumen de disco, mientras que el límite de tamaño para una anotación cronológica de archivado es sólo de aproximadamente 3 GB. Como resultado, las instalaciones que utilizan anotaciones cronológicas activas de 4 GB están obligadas a poner las anotaciones cronológicas de archivado en cinta. La Versión 1.7 de z/OS ahora da soporte a conjuntos de datos grandes y elimina el límite de anotaciones cronológicas de
Capítulo 4. Rendimiento

35

archivado de 64 KB. La Versión 9.1 se beneficia del nuevo límite presentando el atributo DSNTYPE=LARGE del campo PRIMARY QUANTITY del panel de instalación DSNTIPA. El nuevo atributo da soporte a una anotación cronológica de archivado que tiene un máximo de 4 GB de pistas por volumen de disco.

Rendimiento mejorado de la inserción de datos
La opción APPEND de la sentencia CREATE TABLE y ALTER TABLE ofrece rendimiento mejorado para la inserción de datos al final de una tabla. Esta opción reduce el proceso que se utiliza para alcanzar las ubicaciones de las nuevas filas Como el programa de utilidad LOAD RESUME, las filas se colocan al final de la tabla y no se agrupan en clústeres como lo harían para una operación de inserción normal. La opción APPEND proporciona una compensación que favorece las inserciones en lugar de las recuperaciones y la necesidad de una reorganización. Otras funciones de la Versión 9.1 que pueden mejorar el rendimiento de la inserción de datos incluyen varias mejoras de índice, mejoras de los rendimientos de anotaciones cronológicas y no anotar cronológicamente espacios de tablas. Conceptos relacionados “Mejoras de ALTER TABLESPACE y de las anotaciones cronológicas de índice” en la página 27 “Mejoras en la indexación” en la página 33 “Rendimiento mejorado de la anotación cronológica” en la página 35

36

Novedades

Capítulo 5. Conformidad con las regulaciones
La conformidad con las regulaciones, la seguridad y la auditoría son temas que están en primera línea de la actualidad y que adquieren cada día mayor importancia. DB2 9 le ayuda a responder a las crecientes demandas para proteger la seguridad, asegurar la integridad y satisfacer las regulaciones tales como el Sarbanes-Oxley Act, el Health Insurance Portability and Accountability Act (HIPAA) y los Payment Card Industry (PCI) Security Standards. El control de acceso mejorado con roles y contexto fiable de red permite un control más preciso de la seguridad. El filtro mejorado aumenta la usabilidad de la auditoría. El cifrado de datos SSL (Secure Sockets Layer) en redes es más seguro.

Roles y contextos fiables de red
El soporte para contexto fiable trata el problema del establecimiento de una relación fiable entre DB2 y una entidad externa tal como un administrador de base de datos o un servidor de middleware. Con el soporte de contexto fiable, se evalúan una serie de atributos fiables para determinar si se puede confiar en un contexto específico. Una vez que se haya establecido un contexto fiable, puede definir un conjunto exclusivo de interacciones entre DB2 y la entidad externa, tal como un servidor de middleware, de forma que un usuario distinto pueda utilizar la conexión de base de datos existente sin requerir autenticación del nuevo usuario de conexión. El soporte del contexto fiable también proporciona la capacidad, dentro de un contexto fiable específico, de un ID de autorización de DB2 para adquirir un conjunto especial de privilegios que no están disponibles fuera del contexto fiable mediante la definición de roles. Un rol es una entidad de base de datos que agrupa uno o varios privilegios y que se puede asignar a los usuarios. Un rol proporciona privilegios, además del conjunto actual de privilegios, que se otorgan a los identificadores de autorización primario y secundario. Un rol puede poseer objetos si los objetos se crean en un contexto fiable con el rol definido como el propietario. Si el rol se define como un propietario, sólo los privilegios otorgados al rol se consideran para la propiedad de objeto.

Auditoría mejorada
El filtro de rastreo mejorado facilita los trabajos de auditoría y de gestión del rendimiento. Se pueden utilizar muchas otras opciones para minimizar la cantidad de datos recopilados, de forma que se reduce la actividad general y los datos extraños que no es necesario procesar.

Soporte del protocolo Secure Socket Layer
DB2 Versión 9.1 para z/OS da soporte al protocolo Secure Socket Layer (SSL) implementando la función Application Transparent Transport Layer Security (AT-TLS) de z/OS Communications Server IP. z/OS V1R7 Communications Server para TCP/IP presenta la función AT-TLS en la pila TCP/IP para aplicaciones que requieren conexiones TCP/IP seguras. AT-TLS realiza seguridad de capa de transporte en nombre de la aplicación, tal como DB2, invocando SSL del sistema z/OS en la capa TCP de la pila TCP/IP. SSL del sistema z/OS proporciona soporte para los protocolos TLS V1.0, SSL V3.0 y SSL V2.0.
© Copyright IBM Corp. 2007, 2008

37

Más opciones de seguridad con desencadenantes INSTEAD OF
Los desencadenantes INSTEAD OF, que se definen en las vistas, proporcionan otra forma de garantizar la seguridad dentro de la base de datos. Los desencadenantes INSTEAD OF se utilizan para procesar operaciones de inserción, actualización y supresión (mediante lógica de desencadenante) en lugar de la sentencia INSERT, UPDATE o DELETE que activa el desencadenante. Además de otras capacidades, puede utilizar los desencadenantes INSTEAD OF para codificar y descodificar datos de la base de datos dentro de una vista. La vista puede encapsular funciones de cifrado, mientras que los desencadenantes INSTEAD OF utilizan las funciones de cifrado para garantizar la seguridad de la base de datos. Conceptos relacionados “Desencadenantes INSTEAD OF” en la página 7

38

Novedades

|

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Apéndice. Planificación para DB2 Versión 9.1 para z/OS
Cada versión nueva de DB2 para z/OS introduce algunos cambios técnicos que necesita tener en cuenta cuando planee la migración. Al migrar de la versión 8 a la versión 9.1 de DB2 para z/OS, revise los cambios técnicos para asegurase de que la migración se realice sin problemas. Por ejemplo, en la versión 9.1, DB2 para z/OS incluye cambios en mandatos, en programas de utilidad, en sentencias de SQL, en el catálogo de DB2, en la supervisión de rendimiento y en los identificadores de componentes de recurso de instrumentación (IFCID). Esta información va dirigida a todos los usuarios de DB2, incluyendo los programadores de aplicaciones, los administradores de bases de datos y los programadores del sistema. Se da por supuesto que está familiarizado con la versión 8 de DB2 Universal Database para z/OS. Esta información asume que el subsistema de DB2 se está ejecutando en la versión 9.1, en la modalidad de nueva función. En general, las funciones nuevas descritas, incluyendo cambios en las funciones existentes, sentencias y límites, solo están disponibles en la modalidad de nuevas funciones. Hay dos nuevas excepciones a esta sentencia general y mejoras de la optimización y programas de utilidad modificados, que también están disponibles en la modalidad de conversión, salvo que se especifique lo contrario.

Cambios en los mandatos
La Versión 9.1 de DB2 for z/OS incluye mandatos nuevos y modificados. Para obtener información detallada sobre todos los cambios, como por ejemplo la sintaxis de los mandatos nuevos o modificados, consulte DB2 Command Reference. Los temas siguientes proporcionan información adicional.

Mandatos nuevos
En la tabla siguiente se muestran los mandatos nuevos de la Versión 9.1.
Tabla 1. Mandatos nuevos Mandato ACCESS DATABASE Descripción Fuerza la apertura física de un espacio de tablas, espacio de índices o partición, o elimina el estado dependiente de GBP de un espacio de tablas, espacio de índices o partición. Muestra si el perfilado está activo o inactivo. Vuelve a cargar los módulos de código EARLY y vuelve a crear el bloque de control EARLY. Carga o vuelve a cargar la tabla de perfiles en una estructura de datos en memoria. Detiene o inhabilita la función de perfiles.

DISPLAY PROFILE REFRESH DB2, EARLY START PROFILE STOP PROFILE

© Copyright IBM Corp. 2007, 2008

39

| | | |

Mandatos modificados
La Versión 9.1 incluye mandatos modificados. En la tabla siguiente se muestra que varios mandatos existentes tienen opciones nuevas y modificadas.
Descripción de mejoras y notas El mandato ALTER BUFFERPOOL ahora cambia los valores de ciertos parámetros. Opciones nuevas: AUTOSIZE(NO) AUTOSIZE(YES) La opción AUTOSIZE(NO) es la predeterminada y especifica que la agrupación de almacenamiento intermedio no utiliza servicios de Workload Manager (WLM) para ajustar automáticamente el tamaño de la agrupación de almacenamiento intermedio. La opción AUTOSIZE(YES) especifica que la agrupación de almacenamiento intermedio utiliza servicios de WLM, si los hay, para ajustar automáticamente el tamaño de la agrupación de almacenamiento intermedio en función de la supervisión dinámica de los objetivos de carga de trabajo y el almacenamiento disponible del sistema. El mandato ALTER UTILITY ahora cambia los valores de ciertos parámetros de una ejecución del programa de utilidad REBUILD que utiliza SHRLEVEL CHANGE. Opciones nuevas y modificadas: REBUILD REORG DELAY (entero) La opción REBUILD especifica que se va a modificar un programa de utilidad REBUILD SHRLEVEL CHANGE. La opción REORG especifica que se va a modificar un programa de utilidad REORG SHRLEVEL REFERENCE o REORG SHRLEVEL CHANGE. La opción DELAY (entero) especifica un límite inferior para el intervalo entre el momento en que el programa de utilidad envía el mensaje LONGLOG a la consola y el momento en que el programa de utilidad lleva a cabo la acción especificada por el parámetro LONGLOG. El entero es el retardo en segundos.

| Tabla 2. Cambios en los mandatos existentes | Mandato | -ALTER BUFFERPOOL (DB2) | | | | | | | | | | | | | | | -ALTER UTILITY (DB2) | | | | | | | | | | | | | | |

40

Novedades

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Tabla 2. Cambios en los mandatos existentes (continuación) Mandato BIND PLAN (DSN) BIND PACKAGE (DSN) REBIND PLAN (DSN) REBIND PACKAGE (DSN) Descripción de mejoras y notas Opciones nuevas y modificadas: BIND PACKAGE DEPLOY DBPROTOCOL REOPT(AUTO) ROUNDING SET CURRENT PACKAGESET SET CURRENT PACKAGE PATH La opción de vinculación BIND PACKAGE DEPLOY despliega un procedimiento de SQL nativo. La opción DBPROTOCOL ahora tiene DBPROTOCAL(DRDA) como valor predeterminado. La opción REOPT con la palabra clave AUTO especificada determina automáticamente si es necesario generar una nueva vía de acceso para optimizar más el rendimiento de cada ejecución. La opción ROUNDING especifica la modalidad de redondeo durante el tiempo de vinculación. La modalidad de redondeo puede utilizarse para manipular datos DECFLOAT. Puede utilizarse el mandato BIND PACKAGE con la opción SET CURRENT PACKAGESET y la opción SET CURRENT PACKAGE PATH. -DISPLAY DATABASE (DB2) En la Versión 9.1, puede utilizarse DISPLAY DATABASE para mostrar los objetos siguientes: v Espacios de tablas XML v Información de tabla de clones El mandato DISPLAY DATABASE puede mostrar información sobre el estado de los espacios de tablas XML, que se muestran con el tipo ’XS’. El mandato DISPLAY DATABASE puede mostrar información sobre objetos de la tabla base y sus clones. La información se muestra automáticamente si existe una tabla de clones. -DISPLAY DDF (DB2) La salida del mandato DISPLAY DDF ahora incluye direcciones IPv6 en formato hexadecimal con dos puntos. Si se utilizan direcciones IPv4, el único formato aceptado es el formato decimal con puntos de IPv4. La salida del mandato DISPLAY LOCATION ahora incluye direcciones IPv6 en formato hexadecimal con dos puntos. Si se utilizan direcciones IPv4, el único formato aceptado es el formato decimal con puntos de IPv4. En la Versión 9.1 se puede utilizar DISPLAY PROCEDURE para mostrar procedimientos de SQL nativos si se ejecuta en modalidad DEBUG. En la versión 9, hay que ejecutar el procedimiento en modalidad DEBUG si la columna del entorno WLM de la salida contiene el WLM ENVIRONMENT FOR DEBUG especificado al crear el procedimiento de SQL nativo. La salida de DISPLAY PROCEDURE muestra las estadísticas de los procedimientos de SQL nativos como ’0’ si éstos están bajo el efecto de un mandato STOP PROCEDURE.

-DISPLAY LOCATION (DB2)

-DISPLAY PROCEDURE (DB2)

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

41

| Tabla 2. Cambios en los mandatos existentes (continuación) | Mandato | -DISPLAY THREAD (DB2) | | | | | | | | |
Descripción de mejoras y notas Opciones nuevas y modificadas: TYPE (PROC) LIMIT La palabra clave TYPE ahora tiene una opción PROC que muestra información sobre las hebras que ejecutan procedimientos almacenados y funciones definidas por el usuario. La opción LIMIT acepta una entrada numérica que especifica el número de líneas de salida que se desean. La salida de este mandato ahora incluye direccionamiento IPv6.

42

Novedades

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Tabla 2. Cambios en los mandatos existentes (continuación) Mandato -DISPLAY TRACE (DB2) Descripción de mejoras y notas Opciones nuevas: ROLE XPLAN XPKGLOC XPKGCOL XPKGPROG XAUTHID XLOC XUSERID XAPPNAME XWRKSTN XCONNID XCORRID XROLE La opción ROLE especifica los roles de conexión. La opción XPLAN proporciona filtros de exclusión para el nombre del plan. La opción XPKGLOC proporciona filtros de exclusión para el nombre de la ubicación del paquete. La opción XPKGCOL proporciona filtros de exclusión para el ID de la colección de paquetes. La opción XPKGPROG proporciona filtros de exclusión para el nombre del programa de paquetes. La opción XAUTHID proporciona filtros de exclusión para el ID de autorización. La opción XLOC proporciona filtros de exclusión para la ubicación. La opción XUSERID proporciona filtros de exclusión para el ID de usuario. La opción XAPPNAME proporciona filtros de exclusión IFC para el nombre de aplicación o de transacción. La opción XWRKSTN proporciona filtros de exclusión IFC para el nombre de estación de trabajo. La opción XCONNID proporciona filtros de exclusión para el ID de conexión. La opción XCORRID proporciona filtros de exclusión para el ID de correlación. La opción XROLE proporciona filtros de exclusión para los roles de conexión. El mandato DISPLAY TRACE ahora permite especificar direcciones IP en LOCATION KEYWORD y acepta el formato hexadecimal con dos puntos para las direcciones IP.

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

43

| Tabla 2. Cambios en los mandatos existentes (continuación) | Mandato | -DISPLAY UTILITY (DB2) | | | | | | | | | | | | | MODIFY irlmproc,SET | | (z/OS IRLM) | | | | | | | | | | | | | | | | | | | | | |
-RESET INDOUBT DDF (DB2) Descripción de mejoras y notas Salida nueva: Salida durante la fase UNLOAD de REORG con SHRLEVEL CHANGE o SHRLEVEL REFERENCE. Progreso del programa de utilidad RECOVER. Durante la fase UNLOAD de REORG con SHRLEVEL CHANGE o SHRLEVEL REFERENCE, se emiten mensajes DSNU111I para las subtareas siguientes: descargar índices no particionados, crear índices no particionados duplicados, ordenar, compilar y estadísticas incorporadas. La fase de las subtareas de descargar índices no particionados es UNLOADIX. Durante la fase LOGAPPLY, se puede utilizar el mandato DISPLAY UTILITY para verificar el estado de progreso del programa de utilidad RECOVER. Opciones nuevas y modificadas: DEADLOCK=nnnn PVT=nnnn DEADLOCK especifica, en milisegundos, cada cuánto tiempo se planifican los procesos de puntos muertos locales. PVT especifica el límite superior de almacenamiento privado que se utiliza para bloqueos. Este valor puede especificarse en megabytes o gigabytes indicando M (para megabytes) o G (para gigabytes) tras el valor, como sigue nnnnM o nnnnG. Cuando se ejecuta el mandato RESET INDOUBT, deben especificarse direcciones IP y puertos con dos puntos (..) en vez del signo de dos puntos (:). Si se especifica el atributo IPADDR, ahora deberá especificar también una dirección IP y un puerto. En la Versión 9.1 se puede utilizar el mandato START DATABASE en los objetos siguientes: v Bases de datos v Espacios de tablas v Espacios de índices v Particiones físicas de espacios de tablas particionados o de espacios de índices (incluyendo espacios de índices que contienen índices secundarios de datos particionados) v Particiones lógicas de índices secundarios no particionados Opciones nuevas y modificadas: LIGHT(YES) LIGHT(NOINDOUBTS) LIGHT(YES) especifica que ha de realizarse un reinicio ligero. DB2 se inicia con almacenamiento reducido y termina normalmente tras liberar los bloqueos retenidos. Ahora DB2 espera a que se determinen las unidades de recuperación dudosas antes de terminar. LIGHT(NOINDOUBTS) especifica que DB2, durante un reinicio ligero, no espere a que se determinen las unidades de recuperación dudosas antes de terminar. En la Versión 9.1, el mandato START PROCEDURE afecta de nuevas formas a los procedimientos de SQL nativos. El mandato START PROCEDURE afecta a la versión actual de los procedimientos de SQL nativos que se especifican en el mandato.

-START DATABASE (DB2)

| -START DB2 (DB2) | | | | | | | | | | -START PROCEDURE (DB2) | | | |

44

Novedades

| | | | | | | | | | | | |

Tabla 2. Cambios en los mandatos existentes (continuación) Mandato START irlmproc (z/OS IRLM) Descripción de mejoras y notas Opciones nuevas y modificadas: LTE=nnnn MAXCSA= PC= LTE especifica el número de entradas de la tabla de bloqueos necesarios en la estructura de bloqueos de recursos asociada. MAXCSA es un parámetro posicional obligatorio pero actualmente no se utiliza. PC es un parámetro posicional obligatorio pero actualmente no se utiliza. MAXCSA y PC actualmente no se utilizan porque IRLM Versión 2 Release 2 coloca bloqueos solamente en almacenamiento privado.

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

45

| Tabla 2. Cambios en los mandatos existentes (continuación) | Mandato | -START TRACE (DB2) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -STOP PROCEDURE (DB2) | | | |
Descripción de mejoras y notas Opciones nuevas: ROLE XPLAN XPKGLOC XPKGCOL XPKGPROG XAUTHID XLOC XUSERID XAPPNAME XWRKSTN XCONNID XCORRID XROLE La opción ROLE especifica los roles de conexión. La opción XPLAN proporciona filtros de exclusión para el nombre del plan. La opción XPKGLOC proporciona filtros de exclusión para el nombre de la ubicación del paquete. La opción XPKGCOL proporciona filtros de exclusión para el ID de la colección de paquetes. La opción XPKGPROG proporciona filtros de exclusión para el nombre del programa de paquetes. La opción XAUTHID proporciona filtros de exclusión para el ID de autorización. La opción XLOC proporciona filtros de exclusión para la ubicación. La opción XUSERID proporciona filtros de exclusión para el ID de usuario. La opción XAPPNAME proporciona filtros de exclusión IFC para el nombre de aplicación o de transacción. La opción XWRKSTN proporciona filtros de exclusión IFC para el nombre de estación de trabajo. La opción XCONNID proporciona filtros de exclusión para el ID de conexión. La opción XCORRID proporciona filtros de exclusión para el ID de correlación. La opción XROLE proporciona filtros de exclusión para los roles de conexión. El mandato START TRACE ahora permite especificar direcciones IP en LOCATION KEYWORD y acepta el formato hexadecimal con dos puntos para las direcciones IP. En la Versión 9.1, el mandato STOP PROCEDURE afecta de nuevas formas a los procedimientos de SQL nativos. El mandato STOP PROCEDURE afecta a la versión actual de los procedimientos de SQL nativos que se especifican en el mandato.

46

Novedades

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Tabla 2. Cambios en los mandatos existentes (continuación) Mandato -STOP TRACE (DB2) Descripción de mejoras y notas Opciones nuevas: ROLE XPLAN XPKGLOC XPKGCOL XPKGPROG XAUTHID XLOC XUSERID XAPPNAME XWRKSTN XCONNID XCORRID XROLE La opción ROLE especifica los roles de conexión. La opción XPLAN proporciona filtros de exclusión para el nombre del plan. La opción XPKGLOC proporciona filtros de exclusión para el nombre de la ubicación del paquete. La opción XPKGCOL proporciona filtros de exclusión para el ID de la colección de paquetes. La opción XPKGPROG proporciona filtros de exclusión para el nombre del programa de paquetes. La opción XAUTHID proporciona filtros de exclusión para el ID de autorización. La opción XLOC proporciona filtros de exclusión para la ubicación. La opción XUSERID proporciona filtros de exclusión para el ID de usuario. La opción XAPPNAME proporciona filtros de exclusión IFC para el nombre de aplicación o de transacción. La opción XWRKSTN proporciona filtros de exclusión IFC para el nombre de estación de trabajo. La opción XCONNID proporciona filtros de exclusión para el ID de conexión. La opción XCORRID proporciona filtros de exclusión para el ID de correlación. La opción XROLE proporciona filtros de exclusión para los roles de conexión. El mandato STOP TRACE ahora permite especificar direcciones IP en LOCATION KEYWORD y acepta el formato hexadecimal con dos puntos para las direcciones IP.

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

47

| Tabla 2. Cambios en los mandatos existentes (continuación) | Mandato | -STOP DATABASE (DB2) | | | | | | | | | | | | | | | | | | | | |
Descripción de mejoras y notas En la Versión 9.1 se puede utilizar el mandato STOP DATABASE en los objetos siguientes: v Bases de datos v Espacios de tablas v Espacios de índices v Particiones físicas de espacios de tablas particionados o de espacios de índices (incluyendo espacios de índices que contienen índices secundarios de datos particionados) v Particiones lógicas de índices secundarios no particionados

Cambios en los programas de utilidad
Esta información resume los cambios efectuados en los programas de utilidad de la Versión 9.1 de DB2 for z/OS. Los temas siguientes proporcionan información adicional.

Programas de utilidad nuevos
La versión 9.1 no contiene programas de utilidad nuevos.

Cambios en los programas de utilidad
La versión 9.1 incluye programas de utilidad modificados. En la tabla siguiente se enumeran y describen las opciones nuevas y modificadas de muchos de los programas de utilidad de DB2 for z/OS existentes.
Descripción de mejoras y notas

| Tabla 3. Opciones nuevas y modificadas de los programas de utilidad | Nombre del programa de | utilidad | BACKUP SYSTEM | | | | | | | | | | CATMAINT | | | | | |

Opción nueva: DUMP, DUMPONLY, DUMPCLASS, FORCE, TOKEN, ESTABLISH FCINCREMENTAL y END FCINCREMENTAL Se han añadido DUMP, DUMPONLY, DUMPCLASS, FORCE y TOKEN para dar soporte a copias de replicación rápidas de la agrupación de copia de la base de datos o de la agrupación de copia del registro. Se han añadido ESTABLISH FCINCREMENTAL y END FCINCREMENTAL para especificar que se va a establecer una relación FlashCopy persistente o última incremental. Opción nueva: SCHEMA SWITCH, OWNER FROM y VCAT SWITCH SCHEMA SWITCH actualiza el nombre del propietario, creador o esquema, OWNER FROM cambiando la propiedad de los objetos de un usuario a un rol, y VCAT SWITCH cambia el nombre de catálogo utilizado por los grupos de almacenamiento, índices de usuario y espacios de tabla.

48

Novedades

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Tabla 3. Opciones nuevas y modificadas de los programas de utilidad (continuación) Nombre del programa de utilidad CHECK DATA Descripción de mejoras y notas

Opción nueva: CLONE, LOBERROR y XMLERROR Opción modificada: SHRLEVEL REFERENCE, SHRLEVEL CHANGE, PUNCHDDN, DRAIN_WAIT, RETRY y RETRY_DELAY Se ha añadido CLONE para dar soporte a la comprobación de tablas de clones. Se han añadido LOBERROR y XMLERROR para especificar qué acción hay que llevar a cabo si se produce un error LOB XML. Se han añadido SHRLEVEL REFERENCE y SHRLEVEL CHANGE para dar soporte a los espacios de tablas LOB. Se ha añadido PUNCHDDN para especificar una sentencia DD para un conjunto de datos. Se han añadido DRAIN_WAIT, RETRY y RETRY_DELAY para mejorar la disponibilidad.

CHECK INDEX

Opción nueva: CLONE Se ha añadido CLONE para verificar únicamente los índices especificados que están en tablas de clones.

CHECK LOB

Opción nueva: CLONE Opción modificada: SHRLEVEL REFERENCE, SHRLEVEL CHANGE, PUNCHDDN, DRAIN_WAIT, RETRY y RETRY_DELAY Se ha añadido CLONE para verificar el espacio de tablas LOB únicamente para la tabla de clones, no para los datos LOB de la tabla base. Se han añadido SHRLEVEL REFERENCE y SHRLEVEL CHANGE para dar soporte a los espacios de tablas LOB. Se ha añadido PUNCHDDN para especificar una sentencia DD para un conjunto de datos. Se han añadido DRAIN_WAIT, RETRY y RETRY_DELAY para mejorar la disponibilidad.

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

49

| Tabla 3. Opciones nuevas y modificadas de los programas de utilidad (continuación) | Nombre del programa de | utilidad | COPY | | | | | | | | | | | | COPYTOCOPY | | | | | | DIAGNOSE | | | | | | | LISTDEF | | | | | | | | | LOAD | | | | | | | | MERGECOPY | | | |
Descripción de mejoras y notas

Opción nueva: CLONE, SCOPE ALL y SCOPE PENDING Opción modificada: CHANGELIMIT Se ha añadido CLONE para copiar solamente datos de clones en un espacio de tablas o espacio de índices determinado. SCOPE ALL copia todos los objetos especificados y SCOPE PENDING permite copiar solamente objetos en estado pendiente de COPY o en estado pendiente de COPY informativo. Se ha añadido CHANGELIMIT ANY para hacer una copia de imagen completa si se ha modificado alguna página desde la última copia de imagen. Opción nueva: CLONE Se ha añadido CLONE para poder procesar únicamente los conjuntos de datos de la copia de imagen que se hicieron a partir de tablas de clones o índices en tablas de clones. Opción nueva: CLONE Se ha añadido CLONE para poder mostrar información únicamente de los objetos especificados que son tablas de clones, espacios de tablas que contienen tablas de clones, índices en tablas de clones o espacios de índices que contienen tablas de clones. Opción nueva: CLONED y XML CLONED indica que la expresión INCLUDE o EXCLUDE ha de devolver únicamente los nombres de las tablas de clones, espacios de tablas que contienen tablas de clones, índices en tablas de clones o espacios de índices que contienen índices en tablas de clones. Se ha añadido XML para especificar que en este elemento de la lista únicamente deben incluirse objetos XML. Opciones nuevas: BIGINT, BINARY, VARBINARY, DECFLOAT_ROUNDMODE y DECFLOAT Se han añadido los tipos de datos BIGINT, BINARY y VARBINARY para especificar una serie binaria en una columna. Se ha añadido DECFLOAT_ROUNDMODE para permitir varias modalidades de redondeo. Se ha añadido DECFLOAT para permitir el tipo de datos coma flotante decimal. Opción nueva: CLONE Se ha añadido CLONE para poder procesar únicamente los conjuntos de datos de la copia de imagen que se hicieron a partir de objetos de tipo clon.

50

Novedades

| | | | | | | | | | | |

Tabla 3. Opciones nuevas y modificadas de los programas de utilidad (continuación) Nombre del programa de utilidad MODIFY RECOVERY Descripción de mejoras y notas

Opción nueva: CLONE, LAST (entero) y LOGLIMIT Se ha añadido CLONE para poder suprimir registros SYSCOPY y los registros SYSLGRNX relacionados únicamente para objetos de tipo clon. Se ha añadido LAST (entero) para especificar el número de registros recientes que han de conservarse en SYSIBM.SYSCOPY. Se ha añadido LOGLIMIT para determinar la indicación de fecha y hora más antigua del registro de archivado. Opción nueva: CLONE Se ha añadido CLONE para poder crear un punto de inmovilización únicamente para los espacios de tablas especificados que contienen tablas de clones. Opción nueva: CLONE y SHRLEVEL CHANGE Se ha añadido CLONE para poder volver a crear únicamente los índices especificados que están en tablas de clones. Se ha añadido SHRLEVEL CHANGE para permitir que la aplicación lea y grabe en el índice, espacio de tablas o partición que se va a verificar. Opción nueva: CLONE, RESTOREBEFORE X’serie-de-bytes’, CURRENTCOPYONLY, FROMDUMP y DUMPCLASS Se ha añadido CLONE para poder recuperar únicamente datos de tablas de clones de los espacios de tablas especificados o de los espacios de índices especificados que contienen índices o tablas de clones. Se ha añadido RESTOREBEFORE para recuperar una copia de imagen con un valor RBA o LRSN previo al valor X’serie-de-bytes’ especificado para utilizarlo en la fase RESTORE. Se ha añadido CURRENTCOPYONLY para especificar que para la restauración se va a utilizar la copia primaria. Se han añadido FROMDUMP y DUMPCLASS para dar soporte a copias de replicación rápidas de la agrupación de copia de la base de datos o de la agrupación de copia del registro.

| QUIESCE | | | | | REBUILD INDEX | | | | | | | RECOVER | | | | | | | | | | | | | | | | | | |
REORG INDEX

Opción nueva: CLONE Se ha añadido CLONE para poder reorganizar únicamente los espacios de índices especificados que contienen índices en tablas de clones.

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

51

| Tabla 3. Opciones nuevas y modificadas de los programas de utilidad (continuación) | Nombre del programa de | utilidad | REORG TABLESPACE | | | | | | | | | | | REPAIR | | | | | | | | | | | | | | | | | | REPORT | | | | | RESTORE SYSTEM | | | | | | | | |
Descripción de mejoras y notas

Opción nueva: CLONE Opciones modificadas: SHRLEVEL REFERENCE Se ha añadido CLONE para poder reorganizar únicamente tablas de clones a partir de los espacios de tablas especificados. Se ha actualizado SHRLEVEL REFERENCE para dar soporte a los espacios de tablas LOB. Se ha modificado REORG para reducir la cantidad de almacenamiento virtual que utiliza para crear diccionarios de compresión. Opciones nuevas: CLONE, VERSIONS, INDEXSPACE, NOAREORENDSTAR Opciones modificadas: DBD REBUILD Se ha añadido CLONE para poder procesar únicamente los espacios de tablas especificados que contienen tablas de clones. La opción VERSIONS actualiza la información acerca de la versión del espacio de tabla especificado o índice del catálogo y directorio. Utilice esta opción para mover objetos de un sistema a otro o como parte de la gestión de los números de versiones. La opción INDEXSPACE permite identificar el índice especificando el nombre calificado del espacio de índices, que puede obtenerse de la tabla SYSIBM.SYSINDEXES. Puede utilizar la opción NOAREOPENDSTAR para restablecer el estado informativo pendiente de REORG (AREO*) del espacio de tablas o índice especificado. Ya no es necesario iniciar una base de datos para que los programas de utilidad accedan a ella únicamente antes de que REPAIR DBD REBUILD pueda ejecutarse. Ahora DB2 realiza este paso por nosotros. Opciones nuevas: SHOWDSNS Se ha añadido SHOWDSNS para incluir nombres de conjuntos de datos VSAM en el informe TABLESPACESET. Opciones nuevas: FROMDUMP, DUMPCLASS, TAPEUNITS y RSA Se han añadido FROMDUMP y DUMPONLY para dar soporte a copias de replicación rápidas de la agrupación de copia de la base de datos o de la agrupación de copia del registro. Se ha añadido TAPEUNITS para limitar el número de unidades de cintas que el programa de utilidad debe asignar dinámicamente. Se ha añadido RSA para especificar una etiqueta clave en la sentencia de control del programa de utilidad.

52

Novedades

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Tabla 3. Opciones nuevas y modificadas de los programas de utilidad (continuación) Nombre del programa de utilidad RUNSTATS Descripción de mejoras y notas

Opciones nuevas: HISTOGRAM y NUMQUANTILES Opciones modificadas: INDEX LIST Se han añadido HISTOGRAM y NUMQUANTILES para recopilar estadísticas de histogramas a partir de columnas. Se ha añadido soporte para las palabras clave de especificación de estadísticas de correlación, cuando se especifican con las palabras clave RUNSTATS INDEX LIST.

TEMPLATE

Opciones nuevas: LIMIT Se ha añadido LIMIT para permitir la conmutación de plantillas.

UNLOAD

Opciones nuevas: CLONE, BIGINT, BINARY, VARBINARY, SKIP LOCKED DATA, DECFLOAT_ROUNDMODE, DECFLOAT y XML Opciones modificadas: INTEGER EXTERNAL Se ha añadido CLONE para poder descargar datos únicamente de tablas de clones de los espacios de tabla especificados. Se han añadido los tipos de datos BIGINT, BINARY y VARBINARY para especificar una serie binaria en una columna. Se ha añadido SKIP LOCKED DATA para pasar por alto las filas en que otras transacciones mantienen bloqueos incompatibles. Se ha añadido DECFLOAT_ROUNDMODE para permitir varias modalidades de redondeo. Se ha añadido DECFLOAT para permitir el tipo de datos coma flotante decimal. Se ha añadido XML para especificar que una columna XML se va a descargar directamente en el registro de salida. Para INTEGER EXTERNAL, los valores ″mayor que″ y ″menor que″ de los datos originales se han cambiado para que tengan un rango mayor. Opciones nuevas: IPV4, IPV6, GRPIPV4, GRPIPV6, NOIPV4, NOIPV6, NGRPIPV4, NGRPIPV6 Se han añadido IPV4, IPV6, GRPIPV4 y GRPIPV6 a la sentencia DDF para identificar una dirección IP. Opciones modificadas: SYSPITR Se ha añadido el valor FFFFFFFFFFFF para que se produzca la restauración del sistema en un instante específico sin corte de registro.

| DSNJU003 (inventario del | registro de cambios) | | | | | | | |

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

53

| Tabla 3. Opciones nuevas y modificadas de los programas de utilidad (continuación) | Nombre del programa de | utilidad | DSNJU004 (imprimir | correlación del registro) | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Descripción de mejoras y notas

Opciones nuevas: IPV4, IPV6, GRPIPV4, GRPIPV6, Se han añadido IPV4, IPV6, GRPIPV4 y GRPIPV6 a la salida del registro de impresión.

Otros cambios en los programas de utilidad
La versión 9.1 incluye cambios generales en los programas de utilidad. Estos otros cambios en los programas de utilidad en la Versión 9.1 son: v Los siguientes programas de utilidad pueden utilizarse para interactuar con los nuevos espacios de tablas de partición por crecimiento: COPY, LOAD, REBUILD INDEX, RECOVER, REORG TABLESPACE y DSN1COPY. v Los datos XML ahora pueden cargarse o descargarse. v Puede utilizar el programa de utilidad RUNSTATS para explorar un índice de una expresión. v No se puede ejecutar REORG TABLESPACE SHRLEVEL CHANGE PART entero simultáneamente en el mismo espacio de tablas. En vez de enviar varios trabajos, pueden fusionarse en un único trabajo y especificar un intervalo mediante REORG TABLESPACE SHRLEVEL CHANGE PART entero1:entero2 o bien se puede especificar REORG TABLESPACE SHRLEVEL CHANGE SCOPE PENDING si varias particiones están en estado pendiente de REORG.

Cambios en las sentencias de SQL
La Versión 9.1 de DB2 for z/OS ofrece sentencias de SQL nuevas y modificadas. Para obtener información detallada sobre todos los cambios, como por ejemplo la sintaxis de las sentencias de SQL nuevas o modificadas, descripciones completas de las palabras clave y ejemplos de uso, consulte DB2 SQL Reference. Los temas siguientes proporcionan información adicional.

Sentencias de SQL nuevas
En la tabla siguiente se muestran las sentencias de SQL nuevas de la Versión 9.1.
Descripción Cambia la descripción o define versiones adicionales de un procedimiento de SQL nativo Cambia la descripción de un contexto acreditado Define un procedimiento de SQL nativo Define un rol Define un contexto acreditado Intercambia los datos entre una tabla base y la tabla de clones asociada Actualiza o inserta una o varias filas de una tabla

| Tabla 4. Sentencias de SQL nuevas | Sentencia de SQL | ALTER PROCEDURE (SQL - nativa) | | ALTER TRUSTED CONTEXT | CREATE PROCEDURE (SQL - nativa) | CREATE ROLE | CREATE TRUSTED CONTEXT | EXCHANGE | MERGE

54

Novedades

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Tabla 4. Sentencias de SQL nuevas (continuación) Sentencia de SQL RENAME SET CURRENT DEBUG MODE SET CURRENT DECFLOAT ROUNDING MODE SET CURRENT ROUTINE VERSION TRUNCATE Descripción Renombra una tabla o índice existentes Asigna un valor al registro especial CURRENT DEBUG MODE Asigna un valor al registro especial CURRENT DECFLOAT ROUNDING MODE Asigna un valor al registro especial CURRENT ROUTINE VERSION Suprime todas las filas de una tabla

Sentencias de SQL modificadas
Como se puede ver en la tabla siguiente, muchas sentencias de SQL existentes tienen cláusulas nuevas y modificadas.
Tabla 5. Cambios en las sentencias de SQL existentes Sentencia de SQL ALTER FUNCTION (externa) Descripción de mejoras y notas Cláusulas nuevas: NO PACKAGE PATH o PACKAGE PATH vía-acceso-paquete Cláusulas nuevas: REGENERATE ALTER PROCEDURE (externa)

ALTER INDEX

Cláusulas nuevas: NO PACKAGE PATH o PACKAGE PATH vía-acceso-paquete Cláusulas nuevas: DATACLAS nombre-cd MGMTCLAS nombre-cm STORCLAS nombre-cs

ALTER STOGROUP

ALTER TABLE

Cláusulas nuevas: FOR EACH ROW ON UPDATE AS ROW CHANGE TIMESTAMP HIDDEN ADD CLONE DROP CLONE APPEND NO o APPEND YES RENAME COLUMN nombre-columna-origen TO nombre-columna-destino Cláusulas modificadas: SESSION USER o USER

ALTER TABLESPACE

Cláusulas nuevas: LOGGED o NOT LOGGED MAXPARTITIONS entero SEGSIZE entero

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

55

| Tabla 5. Cambios en las sentencias de SQL existentes (continuación) | Sentencia de SQL | COMMENT | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
CREATE INDEX CREATE FUNCTION (tabla externa) CREATE DATABASE Descripción de mejoras y notas Cláusulas nuevas: ACTIVE VERSION o VERSION id-versión-rutina ROLE TRUSTED CONTEXT nombre-contexto

Cláusulas nuevas: AS WORKFILE ROLE TRUSTED CONTEXT nombre-contexto

CREATE FUNCTION (escalar externo)

Cláusulas nuevas: NO PACKAGE PATH o PACKAGE PATH vía-acceso-paquete

Cláusulas nuevas: NO PACKAGE PATH o PACKAGE PATH vía-acceso-paquete

Cláusulas nuevas: RANDOM expresión-clave GENERATE KEY USING XMLPATTERN prolog expresión-patrón AS SQL tipo-datos

CREATE PROCEDURE (externa)

Cláusulas nuevas: ALLOW DEBUG MODE, DISALLOW DEBUG MODE o DISABLE DEBUG MODE NO PACKAGE PATH o PACKAGE PATH vía-acceso-paquete

CREATE STOGROUP

Cláusulas nuevas: DATACLAS nombre-cd MGMTCLAS nombre-cm STORCLAS nombre-cs

56

Novedades

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Tabla 5. Cambios en las sentencias de SQL existentes (continuación) Sentencia de SQL CREATE TABLE Descripción de mejoras y notas Cláusulas nuevas: FOR EACH ROW ON UPDATE AS ROW CHANGE TIMESTAMP HIDDEN PARTITION BY SIZE APPEND NO o APPEND YES Cláusulas modificadas: SESSION_USER o USER Si no se especifica un nombre de base de datos o un nombre de espacio de tablas para la sentencia CREATE TABLE, y DB2 está en modalidad de conversión, DB2 creará un espacio de tablas segmentado con un SEGSIZE de 4 y LOCKSIZE ROW. Si DB2 está en modalidad de función nueva y no se especifica un nombre de base de datos o un nombre de espacio de tablas, DB2 creará implícitamente una base de datos o un espacio de tablas. CREATE TABLESPACE Cláusulas nuevas: LOGGED o NOT LOGGED MAXPARTITIONS entero Si no se especifican las cláusulas SEGSIZE, NUMPARTS o MAXNUMPARTS, se crea un espacio de tablas segmentado con un SEGSIZE predeterminado de 4. Si no se especifica el nombre de una base de datos, se crea un espacio de tablas segmentado con un SEGSIZE de 4 en la base de datos predeterminada, DSNDB04. CREATE TRIGGER Cláusulas nuevas: INSTEAD OF ON nombre-vista

DECLARE GLOBAL TEMPORARY TABLE

Cláusulas nuevas: SESSION_USER o USER

DELETE

Cláusulas nuevas: columna-include SKIP LOCKED DATA

| DROP | | | | | | | | | | | | | |
EXECUTE

Cláusulas nuevas: ROLE TRUSTED CONTEXT nombre-contexto

Cláusulas nuevas: datos-fila-origen

EXPLAIN

Cláusulas nuevas: v STMTS MONITORED v STMTS ALL v STMTS SCOPE

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

57

| Tabla 5. Cambios en las sentencias de SQL existentes (continuación) | Sentencia de SQL | FETCH | | | | | GET DIAGNOSTICS | | | | GRANT | | | | | INSERT | | | | PREPARE | | | | RENAME | | | | REVOKE | | | | | SELECT INTO | | | SET PATH | | | SET SCHEMA | | | SET variable-transición | asignación | | | UPDATE | | | | | | | | |
Descripción de mejoras y notas Cláusulas nuevas: WITH CONTINUE CONTINUE

Cláusulas nuevas: DB2_LINE_NUMBER

Cláusulas nuevas: ROLE nombre-rol DEBUGSESSION

Cláusulas nuevas: columna-include

Cláusulas nuevas: SKIP LOCKED DATA

Cláusulas nuevas: INDEX

Cláusulas nuevas: ROLE nombre-rol DEBUGSESSION

Cláusulas nuevas: SKIP LOCKED DATA Cláusulas nuevas: SESSION_USER o USER Cláusulas nuevas: SESSION_USER o USER Cláusulas nuevas: DEFAULT Cláusulas nuevas: columna-include DEFAULT SKIP LOCKED DATA

Funciones nuevas
En la tabla siguiente se muestran las funciones incorporadas nuevas de la Versión 9.1, que mejoran la potencia del lenguaje SQL.

58

Novedades

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Tabla 6. Funciones nuevas Nombre de la función ADMIN_TASK_LIST ADMIN_TASK_STATUS Descripción Devuelve una tabla con una fila para cada una de las tareas definidas en la lista de tareas del Planificador administrativo Devuelve una tabla con una fila para cada tarea de la lista de tareas del Planificador administrativo que contiene el estado de la última vez que se ejecutó la tarea Devuelve el carácter que corresponde al valor del código ASCII especificado por el argumento Devuelve la versión ASCII del carácter o argumento de la serie gráfica Devuelve una serie que representa la clave de clasificación del argumento de la clasificación especificada Devuelve un valor SMALLINT que indica si dos argumentos son iguales o sin ordenar, o si un argumento es mayor que el otro Devuelve el coeficiente de la correlación de un conjunto de pares de números Devuelve la covarianza (población) de un conjunto de pares de números Devuelve una representación DECFLOAT de su argumento Devuelve un valor binario que puede utilizarse al ordenar valores DECFLOAT Devuelve el valor descifrado de un argumento cifrado Devuelve un valor que representa la diferencia entre el sonido de dos series basado en la aplicación de la función SOUNDEX a las series Devuelve el carácter que corresponde al valor del código EBCDIC especificado por el argumento Devuelve una versión EBCDIC del argumento de tipo serie Devuelve una parte de una fecha o una indicación de fecha y hora en función de sus argumentos Devuelve una serie de caracteres de datos de bits que es exclusiva comparada con cualquier otra ejecución de la función Devuelve una serie de caracteres de longitud variable que es una representación del valor de una variable de sesión Devuelve una serie que consta del número de bytes de la izquierda especificado o de las unidades de longitud de una serie especificadas Devuelve la posición en que aparece por primera vez un argumento en una serie específica Devuelve una serie rellenada a la izquierda con blancos o una serie determinada Devuelve un valor DECFLOAT que es el resultado de normalizar el argumento de entrada Devuelve un valor de tipo serie que es el resultado de normalizar el valor Unicode de entrada Devuelve una serie formada por un argumento insertado en otro argumento en la misma posición en que se ha suprimido cierto número de bytes Devuelve un valor DECFLOAT que es igual en valor (excepto por el redondeo) y signo a un argumento y cuyo exponente se ha establecido para que sea igual que el exponente del segundo argumento Devuelve el RID de una fila Devuelve una serie que consta del número de bytes de la derecha especificado o de las unidades de código de una serie especificadas

ASCII_CHR ASCII_STR COLLATION_KEY COMPARE_DECFLOAT CORRELATION COVARIANCE o COVARIANCE_SAMP DECFLOAT DECFLOAT_SORTKEY DECRYPT_BINARY DIFFERENCE EBCDIC_CHR EBCDIC_STR EXTRACT GENERATE_UNIQUE GETVARIABLE LEFT LOCATE_IN_STRING LPAD NORMALIZE_DECFLOAT NORMALIZE_STRING OVERLAY QUANTIZE

RID RIGHT

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

59

| Tabla 6. Funciones nuevas (continuación) | Nombre de la función | RPAD | SOUNDEX | TIMESTAMPADD | | TIMESTAMP_ISO | TOTALORDER | | UNICODE | | UNICODE_STR | | VARCHAR_FORMAT | | XMLATTRIBUTES | | XMLCOMMENT | | XMLDOCUMENT | | XMLPARSE | | XMLPI | XMLQUERY | | XMLSERIALIZE | | XMLTEXT | | | | | | | | | | | | | | | | | | |
Descripción Devuelve una serie rellenada a la derecha con blancos o una serie determinada Devuelve un valor que representa el sonido de las palabras del argumento Devuelve una indicación de fecha y hora obtenida sumando el intervalo especificado a una indicación de fecha y hora Devuelve una indicación de fecha y hora a partir de sus argumentos Devuelve un valor SMALLINT que indica el orden de comparación de dos argumentos Devuelve el valor del código Unicode (UTF-16) del carácter de más a la izquierda del argumento como un entero Devuelve una serie en Unicode (UTF-8 o UTF-16) que representa una codificación Unicode del argumento Devuelve una serie de caracteres de longitud variable que es una representación de una indicación de fecha y hora con la serie en un formato dado Devuelve una secuencia de XML que contiene el nodo de un atributo XQuery para cada argumento no nulo Devuelve un valor XML con un solo nodo de comentarios a partir de una expresión de tipo serie Devuelve un valor XML con un solo nodo de documento y cero o más nodos como sus hijos Devuelve un valor XML a partir del análisis del argumento como documento XML Devuelve un valor XML con un solo nodo de instrucción del procesamiento Devuelve un valor XML a partir de la evaluación de la expresión XPath con un conjunto de argumentos Devuelve una serie de caracteres SQL o un valor BLOB a partir de un valor XML Devuelve un valor XML con un solo nodo de texto que contiene el valor del argumento

Palabras reservadas
Algunas palabras no se pueden usar como identificadoes normales en algunos contextos, porque estas palabras se pueden interpretar como palabras claves de SQL. Por ejemplo, ALL no puede ser un nombre de columna en una sentencia SELECT. No obstante, cada palabra se puede utilizar como identificador delimitador en contextos donde no se puede utilizar como identificador normal. Por ejemplo, si las comillas (″) son un carácter de escape que empieza y finaliza identificadores delimitados, “ALL” puede aparecer como nombre de columna en una sentencia SELECT. Mediante notas en cada sección de este tema, se identifican nuevas palabras reservadas para esta versión de DB2 for z/OS. Además, algunos temas de esta sección pueden indicar palabras que no se pueden usar en un contexto específico que se describe. IBM SQL tiene palabras reservadas adicionales que DB2 for z/OS no cumple. Por lo tanto, no debería usar estas palabras reservadas adicionales como identificadores normales en nombres que se usan continuamente. Consulte IBM DB2 SQL Reference for Cross-Platform Development para obtener una lista de palabras.

60

Novedades

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

A
ADD AFTER ALLALLOCATE ALLOW ALTER AND ANYAS ASENSITIVE ASSOCIATE ASUTIMEAT1 AUDITAUX AUXILIARY

Nota: 1. Nuevas palabras reservadas para la versión 9.1.

B
BEFORE BEGIN BETWEENBUFFERPOOL BY

C
CALL CAPTURE CASCADED CASE CAST CCSIDCHARCHARACTER CHECK CLONE1 CLOSE CLUSTER COLLECTION COLLID COLUMN COMMENTCOMMIT CONCAT CONDITIONCONNECT CONNECTION CONSTRAINT CONTAINS CONTENT CONTINUECREATE CURRENT CURRENT_DATE CURRENT_LC_CTYPE CURRENT_PATH CURRENT_SCHEMA1 CURRENT_TIME CURRENT_TIMESTAMP CURSOR

Nota: 1. Nuevas palabras reservadas para la versión 9.1.

D
DATADATABASE DAY DAYS DBINFO DECLARE DEFAULT DELETEDESCRIPTOR DETERMINISTIC DISABLEDISALLOW DISTINCT DO DOCUMENT1 DOUBLEDROPDSSIZE DYNAMIC

Nota: 1. Nuevas palabras reservadas para la versión 9.1.

E
EDITPROC ELSE ELSEIF ENCODING ENCRYPTIONEND Nota: Solo COBOL ENDINGEND-EXEC1 ERASE ESCAPE EXCEPTEXCEPTION EXECUTEEXISTS EXIT EXPLAIN EXTERNAL

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

61

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

F
FENCED FETCHFIELDPROC FINAL FOR FREE FROM FULL FUNCTION

G
GENERATED GET GLOBAL GO GOTO GRANTGROUP

H
HANDLER HAVING HOLD HOUR HOURS

I
IF IMMEDIATE IN INCLUSIVE INDEX INF1 INFINITY1 INHERIT INNER INOUT INSENSITIVE INSERTINTERSECT1 INTO IS ISOBID ITERATE

Nota: 1. Nuevas palabras reservadas para la versión 9.1.

J
JARJOIN

K
KEEP1 KEY Nota: 1. Nuevas palabras reservadas para la versión 9.1.

62

Novedades

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

L
LABEL LANGUAGE LC_CTYPE LEAVE LEFT LIKELOCALLOCALE LOCATOR LOCATORS LOCK LOCKMAX LOCKSIZELONG LOOP

M
MAINTAINED MATERIALIZED MICROSECOND MICROSECONDS MINUTE MINUTES MODIFIES MONTH MONTHS

N
NAN1 NEXTVAL NONONENOT NULLNULLSNUMPARTS

Nota: 1. Nuevas palabras reservadas para la versión 9.1.

O
OBID OF ON OPENOPTIMIZATION OPTIMIZE OR ORDEROUT OUTER

P
PACKAGEPARAMETER PART PADDEDPARTITION PARTITIONED PARTITIONING PATHPIECESIZE PLAN PRECISION PREPAREPREVVAL PRIQTY PRIVILEGES PROCEDURE PROGRAM PSID PUBLIC1

Nota: 1. Nuevas palabras reservadas para la versión 9.1.

Q
QUERY QUERYNO

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

63

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

R
READSREFERENCES REFRESH RESIGNAL RELEASERENAMEREPEAT RESTRICT RESULT RESULT_SET_LOCATOR ROUND_DOWN1 RETURN ROUND_FLOOR1 RETURNS ROUND_HALF_DOWN1 1 REVOKERIGHTROLE ROUND_HALF_EVEN1 1 ROLLBACKROUND_CEILING ROUND_HALF_UP1 ROUND_UP1 ROW1 ROWSET RUN

Nota: 1. Nuevas palabras reservadas para la versión 9.1.

S
SAVEPOINT SET SCHEMASCRATCHPAD SIGNAL SECOND SIMPLE SECONDS SNAN1 SECQTY SOME SECURITY SOURCE SEQUENCE SPECIFIC SELECTSENSITIVESESSION_USER1 STANDARD STATIC STATEMENT1 STAY Nota: 1. Nuevas palabras reservadas para la versión 9.1. STOGROUP STORES STYLESUMMARYSYNONYM SYSFUN SYSIBMSYSPROC SYSTEM

T
TABLETABLESPACE THEN TO TRIGGER TRUNCATE1 TYPE1

Nota: 1. Nuevas palabras reservadas para la versión 9.1.

U
UNDO UNIONUNIQUE UNTIL UPDATE USERUSING

V
VALIDPROC VALUEVALUES VARIABLE VARIANT VCAT VIEW VOLATILE VOLUMES

64

Novedades

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

W
WHEN WHENEVER WHERE WHILE WITH WLM

X
XMLELEMENT XMLEXISTS1 XMLNAMESPACES1 XMLCAST1 Nota: 1. Nuevas palabras reservadas para la versión 9.1.

S
YEAR YEARS

Otros cambios en el lenguaje SQL
Además de las muchas sentencias y funcionas de SQL nuevas, la Versión 9.1 ofrece otras mejoras al lenguaje SQL, como se puede ver en la tabla siguiente.
Tabla 7. Otros cambios en el lenguaje SQL Elemento Expresiones Descripción La expresión ROW CHANGE y las especificaciones OLAP se ofrecen como expresiones nuevas. Una expresión ROW CHANGE devuelve una señal o una indicación de fecha y hora que representa el último cambio realizado en una fila. Las especificaciones OLAP (RANK, DENSE_RANK y ROW_NUMBER) permiten devolver información de clasificación y numeración de filas como un valor escalar en el resultado de una consulta. A RANK, DENSE_RANK y ROW_NUMBER a veces se les denomina funciones de ventana. Las funciones siguientes ahora permiten series fuente cuyo tipo de datos sea CHAR FOR BIT DATA, VARCHAR FOR BIT DATA o CLOB FOR BIT DATA: v CHAR v INSERT v LEFT v LOCATE v RIGHT v SUBSTRING v VARCHAR Se proporciona XMLEXISTS como nuevo predicado. XMLEXISTS evalúa una expresión XPath y devuelve un valor verdadero o falso.

| Funciones | | | | | | | | | |
Predicados

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

65

| Tabla 7. Otros cambios en el lenguaje SQL (continuación) | Elemento | Registros especiales | | | | | | | | | | | | | Variables de sesión | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Soporte para cambiar las columnas existentes de LONG VARCHAR y LONG VARGRAPHIC a VARCHAR y VARGRAPHIC Descripción La Versión 9.1 de DB2 presenta varios registros especiales nuevos. CURRENT DEBUG MODE especifica el valor predeterminado para la opción DEBUG MODE de la sentencia CREATE PROCEDURE para un procedimiento de SQL nativo o un procedimiento de Java. CURRENT DECFLOAT ROUNDING MODE especifica la modalidad de redondeo predeterminada que se utilizará para los valores DECFLOAT. CURRENT ROUTINE VERSION especifica el identificador de versión que se va a utilizar para invocar una rutina de SQL nativa. El registro especial ENCRYPTION PASSWORD especifica la contraseña de cifrado y la pista para recordar la contraseña (si la hay) utilizadas por las funciones incorporadas ENCRYPTION y DECRYPTION. El registro especial SESSION_USER sustituye al registro especial USER (USER puede especificarse como sinónimo de SESSION_USER). De forma parecida a los registros especiales, las variables de sesión son otra forma de proporcionar información a las aplicaciones. La Versión 9.1 soporta muchas variables de sesión definidas para DB2 nuevas que almacenan información a la se puede hacer referencia desde sentencias de SQL. La función incorporada GETVARIABLE puede utilizarse para recuperar los valores de variables de sesión. Las nuevas variables de sesión definidas para DB2 son: v SYSIBM.APPLICATION_ENCODING_SCHEME v SYSIBM.COBOL_STRING_DELIMITER v SYSIBM.DATE_FORMAT v SYSIBM.DATE_LENGTH v SYSIBM.DECIMAL_ARITHMETIC v SYSIBM.DECIMAL_POINT v SYSIBM.DEFAULT_DECFLOAT_ROUND_MODE v SYSIBM.DEFAULT_DEFAULT_SSID v SYSIBM.DEFAULT_LANGUAGE v SYSIBM.DEFAULT_LOCALE_LC_CTYPE v SYSIBM.DISTRIBUTED_SQL_STRING_DELIMITER v SYSIBM.DSNHDECP_NAME v SYSIBM.DYNAMIC_RULES v SYSIBM.ENCODING_SCHEME v SYSIBM.MIXED_DATA v SYSIBM.NEWFUN v SYSIBM.PAD_NUL_TERMINATED v SYSIBM.SQL_STRING_DELIMITER v SYSIBM.SSID v SYSIBM.STANDARD_SQL v SYSIBM.TIME_FORMAT v SYSIBM.TIME_LENGTH Aunque se sigue dando soporte a LONG VARCHAR y LONG VARGRAPHIC, debe definir las columnas como VARCHAR o VARGRAPHIC. Para ayudarle a cambiar las columnas de las tablas existentes de LONG VARCHAR y LONG VARGRAPHIC a VARCHAR y VARGRAPHIC, se ha añadido soporte a ALTER TABLE para cambiar los tipos de datos de las columnas de LONG VARCHAR y LONG VARGRAPHIC a VARCHAR y VARGRAPHIC.

66

Novedades

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Cambios en los catálogos
La Versión 9.1 de DB2 for z/OS incluye catálogos modificados y algunos catálogos e índices nuevos. Para ver una descripción completa de las columnas de las tablas de catálogo nuevas y modificadas, consulte DB2 SQL Reference. Si va a migrar a la Versión 9.1 desde la versión 8, en la DB2 Installation Guide encontrará un resumen de cuándo se han hecho los cambios en los catálogos. Los temas siguientes proporcionan información adicional.

Tablas de catálogo nuevas
En la tabla siguiente se muestran las tablas de catálogo nuevas.
Tabla 8. Tablas de catálogo nuevas Nombre de tabla de catálogo SYSIBM.SYSCONTEXT SYSIBM.SYSCONTEXTAUTHIDS SYSIBM.SYSCTXTTRUSTATTRS SYSIBM.SYSDEPENDENCIES SYSIBM.SYSENVIRONMENT SYSIBM.SYSINDEXSPACESTATS SYSIBM.SYSJAVAPATHS Descripción Contiene una fila por cada contexto acreditado. Contiene una fila por cada ID de autorización con que puede utilizarse el contexto acreditado. Contiene una fila por cada lista de atributos de un contexto acreditado concreto. Registra las dependencias entre objetos. Registra las variables de entorno cuando se crea un objeto. Contiene estadísticas en tiempo real de espacios de índices. Contiene la vía de acceso completa de resolución de clases JAR y registra las dependencias que un JAR tiene con los JAR de la vía de acceso de Java. Contiene una fila por cada objetivo clave que participa en una definición de índices ampliada. Contiene estadísticas de partición para objetivos clave específicos. Para cada objetivo clave, existe una fila por cada partición de la tabla. Se insertan filas cuando RUNSTATS recopila estadísticas de claves indexadas o de claves no indexadas de un espacio de tablas particionado. No se insertan filas si el espacio de tablas es no particionado. Contiene filas de la tabla SYSKEYTARGETS. Siempre que se añaden o modifican filas en SYSKEYTARGETS, las filas también se graban en esta tabla. Contiene una o varias filas para el primer objetivo clave de una clave de índice ampliada. Contiene cero o más filas por partición para el primer objetivo clave de un índice secundario de datos particionados. Se insertan filas cuando RUNSTATS explora un índice secundario de datos particionados. No se insertan filas si el índice es un índice secundario.

SYSIBM.SYSKEYTARGETS SYSIBM.SYSKEYTARGETSTATS

SYSIBM.SYSKEYTARGETS_HIST

SYSIBM.SYSKEYTGTDIST SYSIBM.SYSKEYTGTDISTSTATS

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

67

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Tabla 8. Tablas de catálogo nuevas (continuación) Nombre de tabla de catálogo SYSIBM.SYSKEYTGTDIST_HIST Descripción Contiene filas de la tabla SYSKEYTGTDIST. Siempre que se añaden o modifican filas en SYSKEYTGTDIST, las filas también se graban en esta tabla. Enumera los objetos dependientes de cada rol. Contiene una fila por cada rol. Tabla auxiliar de la columna TEXT de SYSIBM.SYSROUTINES, necesaria para contener los datos LOB. Contiene estadísticas en tiempo real de espacios de tablas. Contiene una fila por cada tabla XML creada por una columna XML. Cada fila contiene una sola serie y su ID exclusivo, que se utiliza para condensar datos XML. La serie puede ser el nombre de un elemento, el nombre de un atributo, el prefijo de un espacio de nombres o el URI de un espacio de nombres. Tabla auxiliar de la columna BLOB COMPONENT de SYSIBM.SYSXSROBJECTCOMPONENTS. Está en el espacio de tablas LOB SYSXSRA3. Contiene una fila por cada esquema XML registrado. Las filas de esta tabla sólo pueden modificarse mediante sentencias de SQL estáticas emitidas por los procedimientos almacenados XSR suministrados por DB2.

SYSIBM.SYSOBJROLEDEP SYSIBM.SYSROLES SYSIBM.SYSROUTINESTEXT

SYSIBM.SYSTABLESPACESTATS SYSIBM.SYSXMLRELS SYSIBM.SYSXMLSTRINGS

SYSIBM.XSRCOMPONENT

SYSIBM.XSROBJECTS

SYSIBM.XSROBJECTCOMPONENTS Contiene una fila por cada componente (documento) de un esquema XML. Las filas de esta tabla sólo pueden modificarse mediante sentencias de SQL estáticas emitidas por los procedimientos almacenados XSR suministrados por DB2. SYSIBM.XSROBJECTGRAMMAR Tabla auxiliar de la columna BLOB GRAMMAR de SYSIBM.SYSXSROBJECTS. Está en el espacio de tablas LOB SYSXSRA1. Contiene una fila por cada componente (documento) de un esquema XML para registrar la relación jerárquica del documento del esquema XML. Las filas de esta tabla sólo pueden modificarse mediante sentencias de SQL estáticas emitidas por los procedimientos almacenados XSR suministrados por DB2. Tabla auxiliar de la columna BLOB PROPERTIES de SYSIBM.SYSXSROBJECTS. Está en el espacio de tablas LOB SYSXSRA2. Tabla auxiliar de la columna BLOB COMPONENT de SYSIBM.SYSXSROBJECTCOMPONENTS. Está en el espacio de tablas LOB SYSXSRA3.

SYSIBM.XSROBJECTHIERARCHIES

SYSIBM.XSROBJECTPROPERTY

SYSIBM.XSRPROPERTY

68

Novedades

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Tablas de catálogo modificadas
En la Versión 9.1 se han modificado muchas tablas de catálogo existentes. En la tabla siguiente se muestra lista de las columnas nuevas y de las columnas existentes que se han revisado. Las revisiones hechas a las columnas incluyen descripciones nuevas o valores nuevos de una columna, tipos de datos modificados, longitudes modificadas o bien tipos de datos y longitudes modificados.
Tabla 9. Resumen de columnas de tablas de catálogo nuevas o revisadas Nombre de tabla de catálogo IPLIST IPNAMES LOCATIONS SYSAUXRELS SYSCHECKDEP SYSCHECKS SYSCHECKS2 SYSCOLAUTH SYSCOLDIST SYSCOLDIST_HIST SYSCOLDISTSTATS SYSCOLSTATS SYSCOLUMNS RELCREATED RELCREATED RELCREATED GRANTORTYPE TRUSTED SECURE RELCREATED TBOWNER AUXTBOWNER TBOWNER TBOWNER TBOWNER GRANTEETYPE CREATOR Columna nueva Columna revisada IPADDR IPADDRUSERNAMES SECURITY_OUT

QUANTILENOLOWVALUEHIGHVALUE TYPECARDFFREQUENCYFTBOWNER QUANTILENOLOWVALUEHIGHVALUE TYPECARDFFREQUENCYFTBOWNER QUANTILENOLOWVALUEHIGHVALUE TYPECARDFFREQUENCYFTBOWNER

TBOWNER HIGHKEYHIGH2KEYLOWKEYLOW2KEY

COLTYPELENGTHHIGH2KEYLOW2KEY DEFAULT DEFAULTVALUE TBOWNER

SYSCOLUMNS_HIST SYSCONSTDEP SYSCOPY DTBOWNER OWNERTYPE LOGGED TTYPE INSTANCE RELCREATED IMPLICIT CREATORTYPE RELCREATED OWNERTYPE RELCREATED GRANTEETYPE GRANTORTYPE PLCREATORTYPE RELCREATED

TBCREATORCOLTYPELENGTHLENGTH TBOWNER DTBCREATOR STYPE ICTYPE RELCREATED TIMESTAMPPIT_RBA

SYSDATABASE

SYSDATATYPES SYSDBAUTH SYSDBRM

CREATEDBY

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

69

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Tabla 9. Resumen de columnas de tablas de catálogo nuevas o revisadas (continuación) Nombre de tabla de catálogo SYSINDEXES Columna nueva KEYTARGET_COUNT UNIQUE_COUNT IX_EXTENSION_TYPE COMPRESSOWNEROWNERTYPE DATAREPEATFACTORF ENVID DATAREPEATFACTORF Columna revisada

PGSIZETBCREATORUNIQUERULECLUSTER

SYSINDEXES_HIST SYSINDEXPART SYSINDEXPART_HIST SYSINDEXSTATS SYSINDEXSTATS_HIST SYSJAROBJECTS SYSKEYS SYSPACKAGE SYSPACKAUTH SYSPACKDEP

TBCREATORCREATOR

IXCREATORLEAFDISTFAROFFPOSFNEARO IXCREATOR DATAREPEATFACTORF DATAREPEATFACTORF OWNERTYPE COLSEQ ORDERING OWNERTYPE ROUNDING GRANTORTYPE DOWNERTYPE TYPEREOPTVAR GRANTEETYPE BTYPE DTYPE BQUALIFIER SEQNO VERSIONOWNERTYPE ROWTYPE PARMNAME CCSID REOPTVAR OWNER OWNER

SYSPACKSTMT SYSPARMS

SYSPLAN SYSPLANAUTH SYSPLANDEP SYSRELS SYSRESAUTH SYSROUTINEAUTH SYSROUTINES

CREATORTYPE ROUNDING GRANTEETYPE GRANTORTYPE

BTYPE BCREATOR RELCREATED GRANTEETYPE GRANTORTYPE GRANTORTYPE VERSIONCONTOKEN ACTIVE DEBUG_MODE TEXT_ENVID TEXT_ROWID TEXTOOWNERTYPE PARAMETER_VARCHARFORM RELCREATED PACKAGEPATH GRANTEETYPE GRANTORTYPE GRANTORTYPE GRANTEETYPE GRANTEETYPE ORIGIN FENCED CREATEDBY WLMENVIRONMENT EXTERNAL_SECURITY CREATORREFTBCREATOR IXOWNER

SYSSCHEMAAUTH SYSSEQUENCEAUTH

70

Novedades

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Tabla 9. Resumen de columnas de tablas de catálogo nuevas o revisadas (continuación) Nombre de tabla de catálogo SYSSEQUENCES SYSSEQUENCESDEP SYSSTMT SYSSTOGROUP Columna nueva OWNERTYPE RELCREATED DOWNER DOWNERTYPE PLCREATORTYPE CREATORTYPE DATACLAS MGMTCLAS STORCLAS RELCREATED CREATORTYPE RELCREATED GRANTORTYPE TBCREATOR GRANTEETYPE SCREATOR TCREATOR TBCREATORIXOWNER IXCREATOR Columna revisada SEQTYPE CREATEDBY DTYPE

SYSSYNONYMS SYSTABAUTH

SYSTABCONST SYSTABLEPART

CREATORTYPE RELCREATED FORMAT REORG_LR_TS RELCREATED APPEND OWNEROWNERTYPE RELCREATED

SYSTABLES

DBIDOBID TYPECREATORTBCREATOR CREATOR

SYSTABLES_HIST SYSTABLESPACE MAXPARTITIONS CREATORTYPE INSTANCE CLONE RELCREATED

LOG TYPE

SYSTABSTATS SYSTABSTATS_HIST SYSTRIGGERS OWNERTYPE ENVID RELCREATED GRANTEETYPE GRANTORTYPE DEBUGSESSIONAUTH DOWNER OWNERTYPE OWNEROWNERTYPE RELCREATED RELCREATED

OWNER OWNER OWNERCREATEDBY TRIGTIME TBOWNER TBNAME

SYSUSERAUTH

SYSVIEWDEP SYSVIEWS SYSVOLUMES USERNAMES

DCREATOR CREATOR

TYPE

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

71

| | |

Índices nuevos y modificados
En la tabla siguiente se muestran los índices nuevos y modificados de la Versión 9.1.
ÍNDICE SYSIBM. ... DSNCTX01 DSNCTX02 DSNCTX03 DSNCTX04 SYSCONTEXTAUTHIDS DSNCDX01 DSNCDX02 SYSCTXTTRUSTATTRS DSNCAX01

| Tabla 10. Índices nuevos y modificados | Espacio de tablasTabla de catálogo SYSIBM. ... | DSNDB06. ... | SYSCONTX | | | | | | | | SYSDBASE | | | | SYSDBAUT | | | SYSGPAUT | | | | | SYSHIST | | | SYSJAVA | |
SYSJAVAPATHS DSNJIPX01 DSNJIPX02 JARSCHEMA.JAR_ID.ORDINAL PE_JARSCHEMA.PE_JAR_ID SYSKEYTARGETS_HIST SYSKEYTGTDIST_HIST DSNHKX01 DSNTDX02 IXSCHEMA.IXNAME.KEYSEQ.STATSTIME IXSCHEMA.IXNAME.KEYSEQ.STATSTIME SYSRESAUTH DSNAGH01 DSNAGX01 GRANTEE.QUALIFIER.NAME.OBTYPE. GRANTEETYPE GRANTOR.QUALIFIER.NAME.OBTYPE. GRANTORTYPE SYSDBAUTH DSNADH01 DSNADX01 GRANTEE.NAME.GRANTEETYPE GRANTOR.NAME.GRANTORTYPE SYSRELS SYSTABAUTH SYSTABLEPART DSNDLX03 DSNATX01 DSNDPX04 IXOWNER.IXNAME GRANTOR.GRANTORTYPE IXCREATOR.IXNAME SYSCONTEXT CAMPOS DE ÍNDICES NAME SYSTEMAUTHID CONTEXID DEFAULTROLE CONTEXTID.AUTHID ROLE CONTEXTID.NAME.VALUE

72

Novedades

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Tabla 10. Índices nuevos y modificados (continuación) Espacio de tablasTabla de catálogo DSNDB06. ... SYSIBM. ... SYSOBJ SYSDEPENDENCIES ÍNDICE SYSIBM. ... DSNONX01 DSNONX02 SYSENVIRONMENT SYSPARMS SYSROUTINEEAUTH DSNOEX01 DSNOPX04 DSNOAX01 CAMPOS DE ÍNDICES BSCHEMA.BNAME.BCOLNAME.BTYPE. DSCHEMA.DNAME.DCOLNAME.DTYPE DSCHEMA.DNAME.DCOLNAME.DTYPE. BSCHEMA.BNAME.BCOLNAME.BTYPE ENVID SCHEMA.SPECIFICNAME.ROUTINETYPE.VERSION GRANTOR.SCHEMA.SPECIFICNAME. ROUTINETYPE.GRANTEETYPE.EXECUTEAUTH. GRANTORTYPE NAME.PARM_COUNT. ROUTINETYPE.PARM_SIGNATURE. SCHEMA.PARM1.PARM2.PARM3. PARM4.PARM5.PARM6.PARM7. PARM8.PARM9.PARM10.PARM11. PARM12.PARM13.PARM14.PARM15. PARM16.PARM17.PARM18.PARM19. PARM20.PARM21.PARM22.PARM23. PARM24.PARM25.PARM26.PARM27. PARM28.PARM29.PARM30. VERSION SCHEMA.SPECIFICNAME. ROUTINETYPE. VERSION NAME.PARM_COUNT. ROUTINETYPE. SCHEMA. PARM_SIGNATURE. PARM1.PARM2.PARM3. PARM4.PARM5.PARM6.PARM7. PARM8.PARM9.PARM10.PARM11. PARM12.PARM13.PARM14.PARM15. PARM16.PARM17.PARM18.PARM19. PARM20.PARM21.PARM22.PARM23. PARM24.PARM25.PARM26.PARM27. PARM28.PARM29.PARM30. VERSION GRANTEE.SCHEMANAME.GRANTEETYPE GRANTOR.GRANTORTYPE

SYSROUTINES

DSNOFX01

DSNOFX02

DSNOFX07

SYSSCHEMAAUTH

DSNSKX01 DSNSKX02

| SYSPKAGE | | | | | | | SYSPLAN | |

SYSPACKAUTH

DSNKAX01 DSNKAX02

GRANTOR.LOCATION.COLLID.NAME. GRANTORTYPE GRANTEE.LOCATION.COLLID.NAME.BINDAUTH. COPYAUTH.EXECUTEAUTH.GRANTEETYPE LOCATION.COLLID.NAME.CONTOKEN.STMTNOI. SECTNOI.SEQNO

SYSPACKSTMT

DSNKSX01

SYSPLANAUTH

DSNAPH01 DSNAPX01

GRANTEE.NAME.EXECUTEAUTH.GRANTEETYPE GRANTOR.GRANTORTYPE

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

73

| Tabla 10. Índices nuevos y modificados (continuación) | Espacio de tablasTabla de catálogo | DSNDB06. ... SYSIBM. ... | SYSROLES | | | | SYSRTSTS | | | SYSSEQ2 | | | SYSSTATS | | | | SYSTARG | | | SYSUSER | | | SYSXML | | | | | SYSXSR | | | | | | | | | | | SYSXSRA1 | | SYSXSRA2 |
XSROBJECTPROPERTY XSRXOP01 PROPERTIES XSROBJECTGRAMMAR XSRXOG01 GRAMMAR XSROBJECTCOMPONENTS XSROBJECTHIERARCHIES XSROBJECTS XSROBJ01 XSROBJ02 XSROBJ03 XSROBJ04 XSRCOMP01 XSRCOMP02 XSRHIER01 XSRHIER02 XSROBJECTID XSROBJECTSCHEMA.XSROBJECTNAME TARGETNAMESPACE.SCHEMALOCATION SCHEMALOCATION XSRCOMPONENTID TARGETNAMESPACE.SCHEMALOCATION XSROBJECTID.TARGETNAMESPACE. SCHEMALOCATION XSROBJECTID.TARGETNAMESPACE SYSXMLSTRINGS SYSXMLRELS DSNXRX01 DSNXRX02 DSNXSX01 DSNXSX02 TBOWNER.TBNAME XMLTBOWNER.XMLTBNAME STRINGID STRING SYSUSERAUTH DSNAUH01 DSNAUX01 GRANTEE.GRANTEDTS.GRANTEETYPE GRANTOR.GRANTORTYPE SYSKEYTARGETS DSNRKX01 DSNRKX02 IXSCHEMA.IXNAME.KEYSEQ DATATYPEID.KEYSPEC_INTERNAL SYSKEYTARGETSTATS SYSKEYTGDIST SYSKEYTGTDISTSTATS DSNTKX01 DSNTDX01 DSNTSX01 IXSCHEMA.IXNAME.KEYSEQ.PARTITION IXSCHEMA.IXNAME.KEYSEQ IXSCHEMA.IXNAME.KEYSEQ.PARTITION SYSSEQUENCEAUTH DSNWCX02 DSNWCX03 GRANTOR.SCHEMA.NAME.GRANTORTYPE GRANTEE.SCHEMA.NAME.GRANTEETYPE SYSTABLESPACESTATS SYSINDEXSPACESTAT DSNRTX01 DSNRTX02 DBID.PSID.PARTITION.INSTANCE DBID.ISOBID.PARTITION.INSTANCE SYSROLES SYSOBJROLESEP ÍNDICE SYSIBM. ... DSNRDX01 DSNRDX02 DSNRLX01 CAMPOS DE ÍNDICES DSCHEMA.DNAME.DTYPE.ROLENAME ROLENAME NAMES

74

Novedades

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Tabla 10. Índices nuevos y modificados (continuación) Espacio de tablasTabla de catálogo DSNDB06. ... SYSIBM. ... SYSXSRA3 XSRCOMPONENT ÍNDICE SYSIBM. ... XSRXCC01 CAMPOS DE ÍNDICES COMPONENT

SYSXSRA4

XSRPROPERTY

XSRXCP01

PROPERTIES

Modificaciones en la supervisión y los ajustes del rendimiento
La Versión 9.1 de DB2 for z/OS incluye cambios que afectan al rendimiento y modificaciones en herramientas de supervisión como EXPLAIN, PLAN_TABLE y DSN_STATEMNT_TABLE. Los temas siguientes proporcionan información adicional.

Cambios en el rendimiento
En DB2 for z/OS, los cambios en el rendimiento incluyen cambios en los procesos en paralelo, los métodos de selección de un rango de páginas, un supervisor del sistema de DB2 nuevo y cambios en la forma en que DB2 selecciona vías de acceso.

Cambios en el paralelismo
En releases anteriores de DB2, si la vía de acceso de una consulta utilizaba un índice secundario de datos particionados que permitía ordenar los datos, DB2 no podía utilizar el paralelismo cuando ejecutaba la consulta. En DB2 Version 9.1 for z/OS, se contempla la posibilidad de utilizar el paralelismo si DB2 ejecuta este tipo de consulta. Por ejemplo, supongamos que la tabla T1 tiene dos columnas, C1 y C2, y que en C1 se ha definido un índice secundario de datos particionados. En DB2 Version 9.1 for z/OS versión 8, no se contemplaba la posibilidad de utilizar el paralelismo para la consulta siguiente:
SELECT * FROM TABLE1 ORDER BY C1;

En la versión 9.1, DB2 sí considera la posibilidad de utilizar el paralelismo para esta consulta.

Selección de un rango de páginas para tablas con índices secundarios de datos particionados
Ahora se puede aumentar el rendimiento escribiendo consultas de forma que la selección de un rango de páginas reduzca el número de particiones que acceden a DB2. Se puede beneficiar de la selección de un rango de páginas para tablas: v Uniendo las tablas en la columna de particionamiento v Creando un predicado no coincidente en las claves de particionamiento

Supervisor del sistema de DB2
El supervisor del sistema de DB2 busca detenciones de la CPU que dan lugar a una contención de mecanismo de cierre. Cuando detecta la detención de una CPU, el supervisor del sistema de DB2 intenta solucionar la contención de mecanismo de
Apéndice. Planificación para DB2 Versión 9.1 para z/OS

75

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

cierre aumentando temporalmente la prioridad de WLM. Además, el supervisor del sistema emite el mensaje DSNV508I para notificar que el almacenamiento DBM1 que hay por debajo de los 2 GB llega a niveles de almacenamiento críticos, y una serie de mensajes DSNV512I para identificar los agentes que consumen la mayor parte del almacenamiento. Establezca el espacio de direcciones xxxxMSTR en la prioridad de asignación de tareas de SYSSTC en WLM para que el supervisor funcione con eficacia.

RUNSTATS y columnas de clave aleatoria
Los valores de las columnas HIGH2KEY y LOW2KEY de las tablas de catálogo SYSCOLSTATS y SYSCOLUMNS se actualizan con valores decodificados si la columna es una columna de clave aleatoria.

Selección de vía de acceso mejorada para índices en orden invertido y duplicados
Para índices que contienen muchos valores de clave duplicados o valores de clave muy agrupados en clúster en orden invertido, la estimación del coste basada solamente en CLUSTERRATIOF puede generar exploraciones de índice repetitivas. En el peor de los casos, se puede explorar toda una página una vez para cada fila de la página. La selección de vía de acceso de DB2 puede evitar este problema de rendimiento mediante la utilización de una fórmula de estimación de costes nueva basada en la estadística DATAREPEATFACTORF para elegir índices. Si DB2 utiliza esta estadística depende del valor del parámetro STATCLUS del subsistema. Para beneficiarse de la fórmula nueva, establezca el parámetro STATCLUS en ENHANCED. Si no, establezca el valor en STANDARD.

Cambios en la tabla EXPLAIN
Esta información incluye las definiciones completas de las principales tablas EXPLAIN de DB2. También ofrece una descripción de las columnas de las tablas EXPLAIN nuevas y modificadas de DB2 for z/OS. Para poder utilizar EXPLAIN, primero debe crear una tabla denominada PLAN_TABLE para que contenga los resultados de EXPLAIN. Si tiene una tabla PLAN_TABLE existente de un subsistema que se ejecutaba en una versión anterior de DB2 puede modificarla para incluir las columnas nuevas. En “Formato de PLAN_TABLE de la Versión 9.1” se muestra el formato de PLAN_TABLE. También pueden crearse tablas EXPLAIN denominadas DSN_STATEMNT_TABLE, DSN_FUNCTION_TABLE y DSN_STATEMENT_CACHE_TABLE para capturar distintos tipos de información sobre sentencias de SQL. Los temas relacionados ofrecen información adicional sobre los cambios realizados en estas tablas EXPLAIN.

Formato de PLAN_TABLE de la Versión 9.1
En DB2 for z/OS, PLAN_TABLE tiene una columna nueva, PARENT_PLANNO. La columna PARENT_PLANNO de PLAN_TABLE corresponde al número de plan del bloque de consulta padre en que se invoca una subconsulta correlacionada. Para subconsultas no correlacionadas, corresponde al número de plan del bloque de consulta padre que representa al archivo de trabajo de la subconsulta.En la figura siguiente se muestra el formato de PLAN_TABLE para la Versión 9.1.

76

Novedades

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

CREATE TABLE id_usuario.PLAN_TABLE (QUERYNO INTEGER NOT NULL, QBLOCKNO SMALLINT NOT NULL, APPLNAME CHAR(8) NOT NULL, PROGNAME VARCHAR(128) NOT NULL, PLANNO SMALLINT NOT NULL, METHOD SMALLINT NOT NULL, CREATOR VARCHAR(128) NOT NULL, TNAME VARCHAR(128) NOT NULL, TABNO SMALLINT NOT NULL, ACCESSTYPE CHAR(2) NOT NULL, MATCHCOLS SMALLINT NOT NULL, ACCESSCREATOR VARCHAR(128) NOT NULL, ACCESSNAME VARCHAR(128) NOT NULL, INDEXONLY CHAR(1) NOT NULL, SORTN_UNIQ CHAR(1) NOT NULL, SORTN_JOIN CHAR(1) NOT NULL, SORTN_ORDERBY CHAR(1) NOT NULL, SORTN_GROUPBY CHAR(1) NOT NULL, SORTC_UNIQ CHAR(1) NOT NULL, SORTC_JOIN CHAR(1) NOT NULL, SORTC_ORDERBY CHAR(1) NOT NULL, SORTC_GROUPBY CHAR(1) NOT NULL, TSLOCKMODE CHAR(3) NOT NULL, TIMESTAMP CHAR(16) NOT NULL, REMARKS VARCHAR(762) NOT NULL PREFETCH CHAR(1) NOT NULL WITH DEFAULT, COLUMN_FN_EVAL CHAR(1) NOT NULL WITH DEFAULT, MIXOPSEQ SMALLINT NOT NULL WITH DEFAULT, VERSION VARCHAR(64) NOT NULL WITH DEFAULT, COLLID VARCHAR(128) NOT NULL WITH DEFAULT, ACCESS_DEGREE SMALLINT , ACCESS_PGROUP_ID SMALLINT , JOIN_DEGREE SMALLINT , JOIN_PGROUP_ID SMALLINT , SORTC_PGROUP_ID SMALLINT , SORTN_PGROUP_ID SMALLINT , PARALLELISM_MODE CHAR(1) , MERGE_JOIN_COLS SMALLINT , CORRELATION_NAME VARCHAR(128) , PAGE_RANGE CHAR(1) NOT NULL WITH DEFAULT, JOIN_TYPE CHAR(1) NOT NULL WITH DEFAULT, GROUP_MEMBER CHAR(8) NOT NULL WITH DEFAULT, IBM_SERVICE_DATA VARCHAR(254) FOR BIT DATA NOT NULL WITH DEFAULT WHEN_OPTIMIZE CHAR(1) NOT NULL WITH DEFAULT, QBLOCK_TYPE CHAR(6) NOT NULL WITH DEFAULT, BIND_TIME TIMESTAMP NOT NULL WITH DEFAULT, OPTHINT VARCHAR(128) NOT NULL WITH DEFAULT, HINT_USED VARCHAR(128) NOT NULL WITH DEFAULT PRIMARY_ACCESSTYPE CHAR(1) NOT NULL WITH DEFAULT, PARENT_QBLOCKNO SMALLINT NOT NULL WITH DEFAULT, TABLE_TYPE CHAR(1) , TABLE_ENCODE CHAR(1) NOT NULL WITH DEFAULT, TABLE_SCCSID SMALLINT NOT NULL WITH DEFAULT TABLE_MCCSID SMALLINT NOT NULL WITH DEFAULT, TABLE_DCCSID SMALLINT NOT NULL WITH DEFAULT, ROUTINE_ID INTEGER NOT NULL WITH DEFAULT, CTEREF SMALLINT NOT NULL WITH DEFAULT STMTTOKEN VARCHAR(240) PARENT_PLANNO SMALLINT NOT NULL WITH DEFAULT) IN nombre-base-datos.nombre-espacio-tablas CCSID EBCDIC; Figura 1. Formato de 59 columnas de PLAN_TABLE

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

77

v

v v v v

Intel, el logotipo de Intel, Intel Inside, el logotipo de Intel Inside, Intel Centrino, el logotipo de Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium y Pentium son marcas registradas de Intel Corporation o de sus subsidiarias en Estados Unidos y en otros países. Java y las marcas registradas basadas en Java son marcas registradas de Sun Microsystems, Inc. en Estados Unidos o en otros países. UNIX es una marca registrada de The Open Group en Estados Unidos y en otros países. Linux es una marca registrada de Linus Torvalds en Estados Unidos o en otros países. Adobe, el logotipo de Adobe, Postscript y el logotipo de Postscript son marcas registradas o marcas comerciales de Adobe Systems Incorporated en Estados Unidos o en otros países.

Puede haber otros nombres de compañías, productos o servicios que sean marcas registradas o de servicio de otras empresas.

Avisos

107

| | | | | | | | | | | | | | | | | | | | | | |

La tabla PLAN_TABLE puede utilizar muchos otros formatos con menos columnas. Sin embargo, el formato de 59 columnas proporciona la información más completa. Para cambiar una tabla de plan existente que tenga menos de 59 columnas al formato de 59 columnas, siga estos pasos: 1. Determine si PLAN_TABLE tiene las siguientes columnas: v PROGNAME v CREATOR v TNAME v ACCESSTYPE v ACCESSNAME v REMARKS v COLLID v CORRELATION_NAME v IBM_SERVICE_DATA v OPTHINT v HINT_USED 2. Para las columnas que existan, utilice los valores de la figura anterior para cambiar los tipos de datos de estas columnas por los tipos de datos apropiados. 3. Para las columnas que no están en PLAN_TABLE, inclúyalas en la tabla utilizando las definiciones de columna de la figura anterior. Descripciones de las columnas nuevas y modificadas de PLAN_TABLE: En la tabla siguiente se muestra el contenido de todas las columnas nuevas o modificadas de la Versión 9.1.
Nuevo o modificado

| Tabla 11. Descripciones de las columnas nuevas y modificadas de PLAN_TABLE | | Nombre de columna Tipo de datos | QUERYNO | | | | | | | | | | | | | | | APPLNAME | | |
VARCHAR(24) NOT NULL INTEGER NOT NULL Descripción

Modificada Un número pensado para identificar la sentencia que se explica. Para una fila producida por una sentencia EXPLAIN, especifique el número en la cláusula QUERYNO. Para una fila producida por sentencias no EXPLAIN, especifique el número utilizando la cláusula QUERYNO, que es una parte opcional de la sintaxis de las sentencias SELECT, INSERT, UPDATE, MERGE y DELETE. De lo contrario, DB2 asigna un número basado en el número de línea de la sentencia de SQL del programa fuente. Cuando los valores de QUERYNO se basan en el número de sentencia del programa fuente, los valores mayores que 32767 se notifican como 0. Sin embargo, en un programa muy largo, no se puede garantizar que el valor sea exclusivo. Si QUERYNO no es exclusivo, el valor de TIMESTAMP es exclusivo. El nombre del plan de aplicación para la fila. Sólo se aplica Modificada a sentencias EXPLAIN incorporadas ejecutadas desde un plan o a sentencias explicadas cuando se vincula un plan. En blanco si no se aplica.

78

Novedades

| | | | | | | | | | | | | | | | | | | | | | | | | | | |

Tabla 11. Descripciones de las columnas nuevas y modificadas de PLAN_TABLE (continuación) Nombre de columna Tipo de datos ACCESSTYPE CHAR(2) NOT NULL Descripción El método de acceso a la tabla nueva: DI DU DX Mediante una intersección de múltiples listas de DOCID para devolver la lista de DOCID final Mediante una unión de múltiples listas de DOCID para devolver la lista de DOCID final Mediante una exploración de índice XML en el índice especificado en ACCESSNAME para devolver una lista de DOCID Mediante un índice (identificado en ACCESSCREATOR y ACCESSNAME) Mediante una exploración de índice de una captación Mediante una exploración de múltiples índices (seguida de MX, MI o MU) Mediante una intersección de múltiples índices Mediante una unión de múltiples índices Mediante una exploración de índice en el índice nombrado en ACCESSNAME. Cuando el método de acceso MX viene a continuación del método de acceso DX, DI o DU, el índice DOCID accede a la tabla utilizando la lista de DOCID devuelta por DX, DI o DU. Mediante una exploración de índice cuando el predicado coincidente contiene la palabra clave IN Modificada Nuevo o modificado Modificada

I I1 M MI MU MX

N SMALLINT NOT NULL VARCHAR(128) NOT NULL VARCHAR(128) NOT NULL

| MATCHCOLS | | | ACCESSCREATOR | | ACCESSNAME |

Para ACCESSTYPE I, I1, N, MX o DX, el número de claves de índice utilizadas en una exploración de índice; de lo contrario, 0. Para ACCESSTYPE I, I1, N, MX o DX, el creador del índice; de lo contrario, blanco. Para ACCESSTYPE I, I1, N, MX o DX, el nombre del índice; de lo contrario, blanco.

Modificada Modificada

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

79

| Tabla 11. Descripciones de las columnas nuevas y modificadas de PLAN_TABLE (continuación) | | Nombre de columna Tipo de datos | TSLOCKMODE | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MIXOPSEQ | | | | | | | |
SMALLINT NOT NULL WITH DEFAULT CHAR(3) NOT NULL Descripción Indicación de la modalidad de bloqueo que se adquirirá en la tabla nueva, en su espacio de tablas o en particiones de espacio de tablas. Si el aislamiento se puede determinar durante el tiempo de vinculación, los valores son: IS IX S U X SIX Bloqueo de compartimiento de intención Bloqueo exclusivo de intención Bloqueo de compartimiento Bloqueo de actualización Bloqueo exclusivo Compartimiento con bloqueo exclusivo de intención Nuevo o modificado Modificada

N Aislamiento UR; sin bloqueo Si el aislamiento no se puede determinar durante el tiempo de vinculación, la modalidad de bloqueo determinada por el aislamiento durante el tiempo de ejecución viene indicada por los valores siguientes. NS NIS NSS SS Para aislamiento UR, sin bloqueo; para CS, RS o RR, un bloqueo S. Para aislamiento UR, sin bloqueo; para CS, RS o RR, un bloqueo IS. Para aislamiento UR, sin bloqueo; para CS o RS, un bloqueo IS; para RR, un bloqueo S. Para aislamiento UR, CS o RS, un bloqueo IS; para RR, un bloqueo S.

Los datos de esta columna están justificados a la derecha. Por ejemplo, IX aparece como un blanco seguido de I seguido de X. Si la columna contiene un blanco, no se adquiere ningún bloqueo. Si el método de acceso de la columna ACCESSTYPE es DX, DI o DU, no se adquiere ningún mecanismo de cierre en la página de índice del valor XML y no se adquiere ningún bloqueo en la página de datos de la tabla base nueva ni en la tabla XML y los espacios de tablas correspondientes. En este caso, TSLOCKMODE es un blanco. El número de secuencia de un paso en una operación de múltiples índices. 1, 2,...n Para los pasos del procedimiento de múltiples índices (ACCESSTYPE es MX, MI, MU, DX, DI o DU.) 0 Para cualquier otra fila (ACCESSTYPE es I, I1, M, N, R o en blanco.) Modificada

80

Novedades

| | | | | | | | |

Tabla 11. Descripciones de las columnas nuevas y modificadas de PLAN_TABLE (continuación) Nombre de columna Tipo de datos JOIN_TYPE CHAR(1) Descripción El tipo de unión: F L P S FULL OUTER JOIN LEFT OUTER JOIN Unión en pares Unión en estrella Nuevo o modificado Modificada

blanco INNER JOIN o ninguna unión CHAR(6) NOT NULL WITH DEFAULT Modificada Para cada bloque de consulta, una indicación del tipo de operación de SQL realizada. Para la consulta más exterior, esta columna identifica el tipo de sentencia. Valores posibles: SELECT SELECT INSERT INSERT UPDATE UPDATE MERGE MERGE DELETE DELETE SELUPD SELECT con FOR UPDATE OF DELCUR DELETE WHERE CURRENT OF CURSOR TRUNCA TRUNCATE UPDCUR UPDATE WHERE CURRENT OF CURSOR CORSUB Subselección correlacionada o selección completa NCOSUB Subselección no correlacionada o selección completa TABLEX Expresión de tabla

| QBLOCK_TYPE | | | | | | | | | | | | | | | | | | | | | | | | | |

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

81

| Tabla 11. Descripciones de las columnas nuevas y modificadas de PLAN_TABLE (continuación) | | Nombre de columna Tipo de datos | PRIMARY_ | ACCESSTYPE | | | | | | | | | | | | | | | | | | TABLE_TYPE | | | | | | | | | | | | | | | | | | PARENT_PLANNO | | | | | | | | | | | |
SMALLINT NOT NULL WITH DEFAULT CHAR(1) CHAR(1) NOT NULL WITH DEFAULT Descripción Indica si se intentará primero el acceso directo de fila: D DB2 intenta utilizar el acceso directo de fila. Si DB2 no puede utilizar el acceso directo de fila durante el tiempo de ejecución, utiliza la vía de acceso descrita en la columna ACCESSTYPE de PLAN_TABLE. La tabla base o el archivo de resultados se materializará en un archivo de trabajo y a éste se accederá mediante un acceso de índice disperso. Cuando hay implicada una tabla base, ACCESSTYPE indica cómo se accede a la tabla base. Nuevo o modificado Modificada

T

blanco DB2 no intenta utilizar un acceso directo de fila utilizando una columna rowid ni un acceso de índice disperso para un archivo de trabajo. El valor de la columna ACCESSTYPE de PLAN_TABLE proporciona información sobre el método de acceso a la tabla. El tipo de la tabla nueva: B Almacenamientos intermedios para la sentencia SELECT from INSERT, SELECT from UPDATE, SELECT from MERGE o SELECT from DELETE. Expresión de tabla común Función de tabla Tabla de consulta materializada Tabla de resultados intermedios temporales (no materializada). Para el nombre de una vista o expresión de tabla anidada, un valor de Q indica que la materialización ha sido virtual y no real. La materialización puede ser virtual cuando la vista o la definición de expresión de tabla anidada contienen un UNION ALL que no es no distribuido. Expresión de tabla común recursiva Tabla Archivo de trabajo Modificada

C F M Q

R T W

Corresponde al número de plan del bloque de consulta Nueva padre en el que se invoca una subconsulta correlacionada. Para subconsultas no correlacionadas, corresponde al número de plan del bloque de consulta padre que representa al archivo de trabajo de la subconsulta.

La tabla PLAN_TABLE puede utilizar muchos otros formatos con menos columnas. Sin embargo, debe utilizar el formato de 59 columnas puesto que es el que proporciona más información. Para cambiar una tabla de plan existente que tenga menos de 59 columnas al formato de 59 columnas, siga estos pasos: 1. Determine si PLAN_TABLE tiene las siguientes columnas: v PROGNAME v CREATOR

82

Novedades

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

v TNAME v ACCESSTYPE v ACCESSNAME v REMARKS v COLLID v CORRELATION_NAME v IBM_SERVICE_DATA v OPTHINT v HINT_USED 2. Para las columnas que existan, utilice los valores de Figura 1 en la página 77 para cambiar los tipos de datos de estas columnas por los tipos de datos apropiados para la versión 8. 3. Para las columnas que no están en PLAN_TABLE, inclúyalas en la tabla utilizando las definiciones de columna de Figura 1 en la página 77.

Formato de DSN_STATEMNT_TABLE de la versión 9.1
En DB2 for z/OS, DSN_STATEMNT_TABLE tiene una columna nueva, TOTAL_COST. La tabla de sentencias contiene información de EXPLAIN sobre el coste estimado de una sentencia.
CREATE TABLE DSN_STATEMNT_TABLE ( QUERYNO INTEGER NOT NULL WITH DEFAULT, APPLNAME VARCHAR(24) NOT NULL WITH DEFAULT, PROGNAME VARCHAR(128) NOT NULL WITH DEFAULT, COLLID VARCHAR(128) NOT NULL WITH DEFAULT, GROUP_MEMBER VARCHAR(24) NOT NULL WITH DEFAULT, EXPLAIN_TIME TIMESTAMP NOT NULL WITH DEFAULT, STMT_TYPE CHAR(6) NOT NULL WITH DEFAULT, COST_CATEGORY CHAR(1) NOT NULL WITH DEFAULT, PROCMS INTEGER NOT NULL WITH DEFAULT, PROCSU INTEGER NOT NULL WITH DEFAULT, REASON VARCHAR(254) NOT NULL WITH DEFAULT STMT_ENCODE CHAR(1) NOT NULL WITH DEFAULT TOTAL_COST FLOAT NOT NULL WITH DEFAULT ); IN nombre-base-de-datos.nombre-espacio-tablas CCSID UNICODE; Figura 2. La sentencia CREATE TABLE de DSN_STATEMNT_TABLE de la Versión 9.1.

Descripciones de las columnas nuevas y modificadas de DSN_STATEMNT_TABLE: La tabla de sentencias, DSN_STATEMNT_TABLE, contiene información acerca del coste estimado de las sentencias de SQL especificadas. En la tabla siguiente se describen las columnas nuevas y modificadas de DSN_STATEMNT_TABLE.

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

83

| Tabla 12. Descripciones de las columnas nuevas y modificadas de DSN_STATEMNT_TABLE | Nombre de columna | STMT_TYPE | | | | | | | | | | | | | | | | | | | | | | |
Tipo de datos CHAR(6) Descripción Nueva o modificada El tipo de sentencia que se Modificada explica. Los valores posibles son: SELECT SELECT INSERT INSERT UPDATE UPDATE MERGE MERGE DELETE DELETE SELUPD SELECT con FOR UPDATE OF DELCUR DELETE WHERE CURRENT OF CURSOR UPDCUR UPDATE WHERE CURRENT OF CURSOR

84

Novedades

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Tabla 12. Descripciones de las columnas nuevas y modificadas de DSN_STATEMNT_TABLE (continuación) Nombre de columna REASON Tipo de datos VARCHAR(254) Descripción Nueva o modificada

Modificada Una serie que indica las razones para colocar una estimación en la categoría B de costes. HAVING CLAUSE Una subselección de la sentencia de SQL contiene una cláusula HAVING. HOST VARIABLES La sentencia utiliza variables de sistema principal, marcadores de parámetros o registros especiales. REFERENTIAL CONSTRAINTS Existen restricciones de referencia del tipo CASCADE o SET NULL en la tabla de destino de una sentencia DELETE. TABLE CARDINALITY Faltan las estadísticas de cardinalidad para una o varias tablas que se utilizan en la sentencia. TRIGGERS Hay desencadenantes definidos en la tabla de destino de una operación de inserción, actualización o supresión. UDF La sentencia utiliza funciones definidas por el usuario.

MATERIALIZATION Faltan estadísticas porque la sentencia utiliza vistas materializadas o expresiones de tabla anidadas.

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

85

| Tabla 12. Descripciones de las columnas nuevas y modificadas de DSN_STATEMNT_TABLE (continuación) | Nombre de columna | TOTAL_COST | | | | | | |
Tipo de datos FLOAT Descripción El coste estimado global de la sentencia. Este coste sólo se debe utilizar para referencia. Nueva o modificada Nueva

Formato de DSN_FUNCTION_TABLE de DB2 Version 9.1 for z/OS
En DB2 for z/OS, DSN_FUNCTION_TABLE tiene dos columnas con tipos de datos modificados.

| | CREATE TABLE DSN_FUNCTION_TABLE (QUERYNO INTEGER NOT NULL WITH DEFAULT, | QBLOCKNO INTEGER NOT NULL WITH DEFAULT, | APPLNAME VARCHAR(24) NOT NULL WITH DEFAULT, | PROGNAME VARCHAR(128) NOT NULL WITH DEFAULT, | COLLID VARCHAR(128) NOT NULL WITH DEFAULT, | GROUP_MEMBER VARCHAR(24) NOT NULL WITH DEFAULT | EXPLAIN_TIME TIMESTAMP NOT NULL WITH DEFAULT, | SCHEMA_NAME VARCHAR(128) NOT NULL WITH DEFAULT, | FUNCTION_NAME VARCHAR(128) NOT NULL WITH DEFAULT, | SPEC_FUNC_NAME VARCHAR(128) NOT NULL WITH DEFAULT, | FUNCTION_TYPE CHAR(2) NOT NULL WITH DEFAULT, | VIEW_CREATOR VARCHAR(128) NOT NULL WITH DEFAULT, | VIEW_NAME VARCHAR(128) NOT NULL WITH DEFAULT, | PATH VARCHAR(2048) NOT NULL WITH DEFAULT, | FUNCTION_TEXT VARCHAR(1500) NOT NULL WITH DEFAULT) | IN nombre-base-de-datos.nombre-espacio-tablas CCSID UNICODE; | | | Figura 3. La sentencia CREATE TABLE de DSN_STATEMNT_TABLE de la Versión 9.1. | | Descripciones de las columnas nuevas y modificadas de | DSN_FUNCTION_TABLE: | | | | | La tabla de funciones, DSN_FUNCTION_TABLE, contiene información acerca de las funciones definidas por el usuario a las que se hace referencia en sentencias de SQL. En la tabla siguiente se describen las columnas nuevas y modificadas de DSN_FUNCTION_TABLE.
Nueva o modificada Modificada

| Tabla 13. Descripciones de las columnas nuevas y modificadas de DSN_FUNCTION_TABLE | | Nombre de columna Tipo de datos | APPLNAME | | | | | | | |
GROUP_MEMBER VARCHAR(24) VARCHAR(24) Descripción Nombre del plan de aplicación para la fila, o en blanco.

Nombre de miembro del subsistema de DB2 que ha Modificada ejecutado EXPLAIN, o en blanco.

Tabla de antememoria de sentencias nueva
Para obtener información sobre cómo crear y utilizar DSN_STATEMENT_CACHE_TABLE, consulte DB2 SQL Reference y DB2 Application Programming and SQL Guide.

86

Novedades

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

IFCID nuevos y modificados
La Versión 9.1 de DB2 for z/OS contiene varias mejoras de rastreo.
PSPI

Las mejoras de rastreo de la Versión 9.1 son: v Más formas de filtrar registros de rastreo DB2 Versión 9.1 añade estos tipos de filtros nuevos al bloque de restricción de un mandato START TRACE, STOP TRACE o DISPLAY TRACE: – PKGPROG: paquete – PKGLOC: ubicación – PKGCOL: ID de colección – USERID: ID de usuario – APPNAME: nombre de aplicación – WKRSTN: nombre de estación de trabajo – CONNID: ID de conexión – CORRID: ID de correlación – ROLE: rol Además, se pueden excluir registros de rastreo, además de incluir registros de rastreo por cualquier tipo de filtro. Por ejemplo, la sentencia siguiente excluye los registros de rastreo de los planes denominados A, B o C:
-START TRACE(ACCTG) XPLAN(A,B,C)

v La longitud del registro del archivo sin formato del IFCID (DSNWMSGS) se ha aumentado de 87 a 92, para acomodar nombres de campos de rastreo más grandes. Esta información describe brevemente los IFCID nuevos y los cambios hechos en los IFCID existentes para cada función nueva. Para obtener una descripción detallada de los campos de cada registro del IFCID, consulte la biblioteca del conjunto de datos de macros de correlación DSN910.SDSNMACS.
PSPI

IFCID nuevos
PSPI

En la tabla siguiente se enumeran los IFCID nuevos.
Tabla 14. IFCID nuevos IFCID Rastreo Clase Macro de correlación Descripción

Conexiones acreditadas 0269 AUDIT 10 DSNDQW04 Graba información sobre el establecimiento y la reutilización de una conexión acreditada.

Uso excesivo de almacenamiento temporal 0343 PERFORMANCE STATISTICS Detalle del paquete READS 0346 DSNDQW04 Graba información de detalle del paquete. 3 4 DSNDQW04 Graba información sobre un agente si se sobrepasa el valor del parámetro MAXTEMPS del subsistema.

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

87

| | | | | | |

PSPI

IFCID modificados
PSPI

La Versión 9.1 de DB2 presenta cambios en varios registros de rastreo. Cambios en determinados registros de rastreo: en la tabla siguiente se ofrece una visión general de los cambios realizados en determinados IFCID. No se incluyen los cambios en el IFCID 0106, el registro de parámetros del sistema.
Descripción de los cambios

| Tabla 15. IFCID modificados | IFCID | Soporte para tablas de clones | | | | | | | | | |
0006, 0012, 0019, 0025, 0124, 0144, 0199, 0216, 0227, 0259, 0007, 0008, 0010, 0011, 0013, 0015, 0016, 0017, 0020, 0021, 0023, 0024, 0044, 0105, 0107, 0108, 0125, 0127, 0128, 0143, 0150, 0172, 0196, 0198, 0211, 0212, 0213, 0215, 0218, 0221, 0223, 0226, 0251, 0252, 0255, 0258, 0263, 0337, 0342 En el campo ID de conjunto de páginas (PSID) de cada registro, si el bit más significativo está activado, el número de instancia asociado con el objeto es el número de instancia 2. En el caso de los campos PSID representados como FIXED(15), si el número de instancia es 2, el valor de PSID del registro de rastreo es un valor negativo.

| Tipo de datos de coma flotante decimal | | 0184, 0247, 0248 | | | 0002, 0003, 0148 | | | 0059 | | | 0022 | | | 0003 | | | 0148, 0239 | | 0023, 0024 | Sentencia RENAME INDEX | 0062 | 0140 | Mejoras de REORG
Se ha añadido RENAME INDEX al principio del registro de ejecución. Se ha añadido RENAME INDEX al registro de anomalía de autorización. Se ha añadido el tipo de datos de coma flotante decimal a los campos de tipo de datos.

| Sentencia FETCH con CONTINUE
Se ha añadido un contador para anotar el número de sentencias FETCH CURRENT CONTINUE que se han ejecutado. Se ha añadido un campo para indicar si se ha especificado la cláusula WITH CONTINUE o CURRENT CONTINUE en una sentencia FETCH.

| Optimización de consulta global
Se han añadido y se han modificado campos para sincronizar este registro de rastreo con la tabla PLAN_TABLE de la Versión 9.1.

| Procedimientos de SQL nativos
La información de contabilidad de nivel de plan para procedimientos de SQL incluye datos del procedimiento de SQL nativo además de datos del procedimiento de SQL externo. Se ha actualizado el campo que especifica el tipo de paquete para incluir un paquete para un procedimiento de SQL nativo.

| Recuperación hasta un momento de coherencia
Se han añadido las fases LOGCSR y LOGUNDO nuevas o RECOVER.

88

Novedades

| | | | | | |

Tabla 15. IFCID modificados (continuación) IFCID 0023, 0024, 0025 Descripción de los cambios v Se graban registros de rastreo para nuevas subtareas para descargar índices no particionados. v Debido a la eliminación de la fase BUILD2, ya no se graban los registros del IFCID 0024 con la fase BUILD2. Se ha añadido RENAME INDEX al registro de anomalía de autorización.

| 0140 | 0018 | | soporte de XML | 0020, 0021, 0044, 0107, 0150, | 0172, 0196, 0337. | Cambios diversos | 0001, 0225 | | | 0034, 0035 | | | 0104 | | 0142 | | | 0191 | | | | | 0199 | | | 0201, 0202 | | | 0217, 0225 | | | 0225 | | | 0239 | | |

| Pasar por alto filas bloqueadas
Se ha añadido un campo para anotar el número de filas que se han pasado por alto porque otra transacción bloqueaba esas filas.

Se han añadido y se han modificado campos para los bloqueos XML.

Se han añadido campos para anotar estadísticas de almacenamiento de la pila. v Estos registros de rastreo ahora incluyen tiempo de espera de lectura de captura previa del registro activo, además de tiempo de espera de lectura. El IFCID 0034 incluye un distintivo nuevo que indica el tipo de tiempo de espera. v Estos registros de rastreo ahora se incluyen en las clases de contabilidad 3 y 8, y las clases de supervisión 3 y 8. Los registros del IFCID 0104 ahora están disponibles mediante la interfaz IFI READS. Los registros del IFCID 0142 ahora rastrean operaciones ALTER, independientemente de si el atributo AUDIT de la tabla ha cambiado. v Se ha añadido una sección nueva. v Cuando se produce un error de la DRDA que da lugar al código de razón 00D3444E o 00D3444F, y hay activo un rastreo del IFCID 0191, también se generarán registros de rastreo del IFCID 0274. Se ha añadido un campo para indicar si el conjunto de datos en que se notifican las estadísticas es un conjunto de datos duplicado. Se han añadido campos para anotar si la agrupación de almacenamiento intermedio automática está vigente. Se han añadido campos para anotar la cantidad de almacenamiento compartido virtual que utiliza el espacio de direcciones ssnmDBM1. Estos registros de rastreo se han cambiado del SMF tipo 102 al SMF tipo 100 y subtipo 4. Se ha añadido un campo para anotar el número de veces que se ha asignado un paquete.

PSPI

Apéndice. Planificación para DB2 Versión 9.1 para z/OS

89

Recursos de información para DB2 for z/OS y productos relacionados
Hay disponibles muchos recursos de información para ayudarle a utilizar DB2 for z/OS y muchos productos relacionados. Ahora hay disponible una gran cantidad de información técnica sobre productos IBM en línea, en los centros de información o en los sitios web de las bibliotecas. Limitación de responsabilidad: Cualquier dirección web aquí incluida era exacta en el momento de la publicación de esta información. Sin embargo, las direcciones web a veces cambian. Si visita una dirección web que se liste aquí pero que ya no sea válida, puede intentar encontrar la dirección web actual para la información del producto que está buscando en uno de los siguientes sitios: v http://www.ibm.com/support/publications/us/library/index.shtml, que lista los centros de información de IBM disponibles para varios productos IBM v http://www.elink.ibmlink.ibm.com/public/applications/publications/cgibin/ pbi.cgi, que es el IBM Publications Center, donde puede descargar manuales PDF en línea y realizar pedidos de manuales impresos para varios productos IBM

Información del producto DB2 for z/OS Información del producto
El lugar principal donde se puede encontrar y utilizar información sobre DB2 for z/OS es el Centro de información de Information Management Software for z/OS Solutions (http://publib.boulder.ibm.com/infocenter/imzic), que también contiene la información sobre IMS, QMF y muchos productos de Herramientas de DB2 e IMS. La mayor parte de la información de DB2 for z/OS en este centro de información también está disponible en los manuales identificados en la tabla siguiente. Puede acceder a estos manuales en el sitio web de la biblioteca de DB2 for z/OS (http://www.ibm.com/software/data/db2/zos/library.html) o en IBM Publications Center (http://www.elink.ibmlink.ibm.com/public/applications/ publications/cgibin/pbi.cgi).
Tabla 16. Títulos de manuales de DB2 Versión 9.1 para z/OS Disponible en el centro de información X X X Disponible en formato BookManager X X X Disponible en manual impreso X X X

Título DB2 Version 9.1 for z/OS Administration Guide DB2 Version 9.1 for z/OS Application Programming & SQL Guide DB2 Version 9.1 for z/OS Application Programming Guide and Reference for Java DB2 Version 9.1 for z/OS Codes DB2 Version 9.1 for z/OS Command Reference DB2 Version 9.1 for z/OS Data Sharing: Planning and Administration

Número de publicación SC18-9840 SC18-9841 SC18-9842

Disponible en PDF X X X

GC18-9843 SC18-9844 SC18-9845

X X X

X X X

X X X

X X X

© Copyright IBM Corp. 2007, 2008

91

Tabla 16. Títulos de manuales de DB2 Versión 9.1 para z/OS (continuación) Disponible en el centro de información Disponible en formato BookManager X Disponible en manual impreso X X X X X X X X X X X GI10-8737 SC18-9852 SC18-9853 SX26-3854 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X

Título DB2 Version 9.1 for z/OS Diagnosis Guide and Reference 1 DB2 Version 9.1 for z/OS Diagnostic Quick Reference DB2 Version 9.1 for z/OS Installation Guide DB2 Versión 9.1 para z/OS Introducción a DB2 DB2 Version 9.1 for z/OS Licensed Program Specifications DB2 Version 9.1 for z/OS Messages DB2 Version 9.1 for z/OS ODBC Guide and Reference DB2 Versión 9.1 para z/OS Guía de supervisión y ajuste del rendimiento DB2 Versión 9.1 para z/OS Optimization Service Center DB2 Version 9.1 for z/OS Program Directory DB2 Version 9.1 for z/OS RACF Access Control Module Guide DB2 Version 9.1 for z/OS Reference for Remote DRDA Requesters and Servers DB2 Version 9.1 for z/OS Reference Summary

Número de publicación LY37-3218 LY37-3219 GC18-9846 SC11-3682 GC18-9848 GC18-9849 SC18-9850 SC11-3759

Disponible en PDF X

DB2 Version 9.1 for z/OS SQL Reference SC18-9854 DB2 Version 9.1 for z/OS Utility Guide and Reference DB2 Versión 9.1 para z/OS Novedades SC18-9855 GC11-3452

DB2 Version 9.1 for z/OS XML Extender SC18-9857 Administration and Programming DB2 Version 9.1 for z/OS XML Guide Nota: SC18-9858

1. El manual DB2 Version 9.1 for z/OS Diagnosis Guide and Reference está disponible en los formatos PDF y BookManager en DB2 Version 9.1 for z/OS Licensed Collection kit, LK3T-7195. Puede solicitar este License Collection kit en el sitio de IBM Publications Center (http://www.elink.ibmlink.ibm.com/public/applications/ publications/cgibin/pbi.cgi). Este manual también está disponible en formato en línea en el archivo de DB2 DSN910.SDSNIVPD(DSNDR).

Recursos de información para productos relacionados
En la tabla siguiente, los nombres de productos relacionados se listan en orden alfabético y se indican las direcciones web asociadas de los centros de información del producto o las páginas web de biblioteca.

92

Novedades

Tabla 17. Ubicaciones de recursos de información de productos relacionados Producto relacionado C/C++ for z/OS Recursos de información Sitio web de la biblioteca: http://www.ibm.com/software/awdtools/czos/library/ Este producto se denomina ahora z/OS XL C/C++. CICS Transaction Server for Centro de información: http://publib.boulder.ibm.com/infocenter/cicsts/v3r1/index.jsp z/OS COBOL Centro de información: http://publib.boulder.ibm.com/infocenter/pdthelp/v1r1/ index.jsp Este producto se denomina ahora Enterprise COBOL for z/OS. DB2 Connect Centro de información: http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp Este recurso es para DB2 Connect 9. DB2 Database para Linux, UNIX y Windows DB2 Query Management Facility Centro de información: http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp Este recurso es para DB2 9 for Linux, UNIX y Windows. Centro de información: http://publib.boulder.ibm.com/infocenter/imzic

DB2 Server para VSE y VM Una de las ubicaciones siguientes: v Para VSE: http://www.ibm.com/support/docview.wss?rs=66&uid=swg27003758 v Para VM: http://www.ibm.com/support/docview.wss?rs=66&uid=swg27003759 DB2 Tools Una de las ubicaciones siguientes: v Centro de información: http://publib.boulder.ibm.com/infocenter/imzic v Sitio web de la biblioteca: http://www.ibm.com/software/data/db2imstools/ library.html Estos recursos incluyen información sobre los siguientes productos y otros distintos: v DB2 Administration Tool v DB2 Automation Tool v DB2 DataPropagator (también denominado WebSphere Replication Server for z/OS) v DB2 Log Analysis Tool v DB2 Object Restore Tool v DB2 Query Management Facility v DB2 SQL Performance Analyzer DB2 Universal Database for iSeries Debug Tool for z/OS Enterprise COBOL for z/OS Enterprise PL/I for z/OS IMS Centro de información: http://www.ibm.com/systems/i/infocenter/ Centro de información: http://publib.boulder.ibm.com/infocenter/pdthelp/v1r1/ index.jsp Centro de información: http://publib.boulder.ibm.com/infocenter/pdthelp/v1r1/ index.jsp Centro de información: http://publib.boulder.ibm.com/infocenter/pdthelp/v1r1/ index.jsp Centro de información: http://publib.boulder.ibm.com/infocenter/imzic

Recursos de información para DB2 for z/OS y productos relacionados

93

Tabla 17. Ubicaciones de recursos de información de productos relacionados (continuación) Producto relacionado IMS Tools Recursos de información Una de las ubicaciones siguientes: v Centro de información: http://publib.boulder.ibm.com/infocenter/imzic v Sitio web de la biblioteca: http://www.ibm.com/software/data/db2imstools/ library.html Estos recursos incluyen información sobre los siguientes productos y otros distintos: v IMS Batch Terminal Simulator for z/OS v IMS Connect v IMS HALDB Conversion and Maintenance Aid v Productos IMS High Performance Utility v IMS DataPropagator v IMS Online Reorganization Facility v IMS Performance Analyzer PL/I Centro de información: http://publib.boulder.ibm.com/infocenter/pdthelp/v1r1/ index.jsp Este producto se denomina ahora Enterprise PL/I for z/OS. System z http://publib.boulder.ibm.com/infocenter/eserver/v1r2/index.jsp

| Tivoli OMEGAMONXE for Centro de información: http://publib.boulder.ibm.com/infocenter/tivihelp/v15r1/ | DB2 Performance Expert index.jsp?topic=/com.ibm.ko2pe.doc/ko2welcome.htm | on z/OS
WebSphere Application Server Centro de información: http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/ index.jsp

En releases anteriores, este producto se denominó DB2 Performance Expert for z/OS.

WebSphere Message Broker Centro de información: http://publib.boulder.ibm.com/infocenter/wmbhelp/v6r0m0/ index.jsp with Rules and Formatter Extension Este producto se denomina también WebSphere MQ Integrator Broker. WebSphere MQ Centro de información: http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/ index.jsp El recurso incluye información sobre MQSeries. WebSphere Replication Server for z/OS Una de las ubicaciones siguientes: v Centro de información: http://publib.boulder.ibm.com/infocenter/imzic v Sitio web de la biblioteca: http://www.ibm.com/software/data/db2imstools/ library.html Este producto se denomina también DB2 DataPropagator. z/Architecture Sitio del centro de bibliotecas: http://www.ibm.com/servers/eserver/zseries/zos/ bkserv/

94

Novedades

Tabla 17. Ubicaciones de recursos de información de productos relacionados (continuación) Producto relacionado z/OS Recursos de información Sitio del centro de bibliotecas: http://www.ibm.com/servers/eserver/zseries/zos/ bkserv/ Este recurso incluye información sobre los siguientes elementos y componentes de z/OS: v Character Data Representation Architecture v Device Support Facilities v DFSORT v Fortran v High Level Assembler v NetView v SMP/E for z/OS v SNA v TCP/IP v TotalStorage Enterprise Storage Server v VTAM v z/OS C/C++ v z/OS Communications Server v z/OS DCE v z/OS DFSMS v z/OS DFSMS Access Method Services v z/OS DFSMSdss v z/OS DFSMShsm v z/OS DFSMSdfp v z/OS ICSF v z/OS ISPF v z/OS JES3 v z/OS Language Environment v z/OS Managed System Infrastructure v z/OS MVS v z/OS MVS JCL v z/OS Parallel Sysplex v z/OS RMF v z/OS Security Server v z/OS UNIX System Services z/OS XL C/C++ http://www.ibm.com/software/awdtools/czos/library/

Los siguientes recursos de información de IBM no son necesariamente específicos de un único producto: v Guía de información de DB2 for z/OS; disponible en: http://www.ibm.com/ software/data/db2/zos/roadmap.html v DB2 Redbooks y Redbooks sobre productos relacionados, disponibles en: http://www.ibm.com/redbooks v Recursos de formación de IBM: – La información acerca de ofertas de formación de IBM está disponible en la web en la dirección: http://www.ibm.com/software/sw-training/
Recursos de información para DB2 for z/OS y productos relacionados

95

– Hay disponible una colección de glosarios de términos de IBM en varios idiomas en el sitio web de Terminología de IBM en la dirección: http://www.ibm.com/software/globalization/terminology/index.jsp v Información de soporte de idioma nacional, disponible en IBM Publications Center en la dirección: http://www.elink.ibmlink.ibm.com/public/applications/ publications/cgibin/pbi.cgi v SQL Reference for Cross-Platform Development; disponible en el siguiente sitio de developerWorks: http://www.ibm.com/developerworks/db2/library/ techarticle/0206sqlref/0206sqlref.html Los siguientes recursos de información no han sido publicados por IBM pero pueden ser de utilidad a los usuarios de DB2 for z/OS y productos relacionados: v Temas de diseño de bases de datos: – DB2 for z/OS and OS/390 Development for Performance Volume I, by Gabrielle Wiorkowski, Gabrielle & Associates, ISBN 0-96684-605-2 – DB2 for z/OS and OS/390 Development for Performance Volume II, by Gabrielle Wiorkowski, Gabrielle & Associates, ISBN 0-96684-606-0 – Handbook of Relational Database Design, by C. Fleming and B. Von Halle, Addison Wesley, ISBN 0-20111-434-8 v Especificaciones de Distributed Relational Database Architecture (DRDA); http://www.opengroup.org v Sistema de nombres de dominio: DNS and BIND, Third Edition, Paul Albitz and Cricket Liu, O’Reilly, ISBN 0-59600-158-4 v Información de Microsoft Open Database Connectivity (ODBC); http://msdn.microsoft.com/library/ v Información de Unicode; http://www.unicode.org

96

Novedades

Cómo obtener información de DB2
Puede acceder a la información oficial sobre el producto DB2 de varias formas. v “DB2 en la web” v “Información sobre el producto DB2” v “Formación sobre DB2” en la página 98 v “Cómo solicitar la biblioteca de DB2” en la página 98

DB2 en la web
Procure estar al corriente de la información más reciente sobre DB2 visitando la página inicial de DB2 en la web: www.ibm.com/software/db2zos En la página inicial de DB2, puede encontrar enlaces a una gran variedad de recursos de información sobre DB2. Puede leer artículos de noticias que le mantendrán informado sobre las mejoras más recientes del producto. Los anuncios de productos, los anuncios de prensa, los folletos y los artículos técnicos le ayudarán a planificar e implementar la estrategia de gestión de bases de datos.

Información sobre el producto DB2
La información oficial de DB2 para z/OS está disponible en diversos formatos y métodos de entrega. IBM proporciona actualizaciones entre versiones respecto a la información mediante actualizaciones del Centro de información y en copia software que encontrará disponibles en la web y en CD-ROM. Centro de información de Information Management Software for z/OS Solutions La información sobre el producto DB2 la puede consultar en el Centro de información, que es el principal vehículo de entrega por lo que a información respecta sobre DB2 para z/OS, IMS, QMF y las herramientas relacionadas. Este Centro de información le permite buscar información relacionada con el producto en diversos idiomas para obtener soluciones de gestión de datos para el entorno de z/OS así como imprimir temas individuales o conjuntos de temas relacionados. También puede acceder, descargar e imprimir los PDF de las publicaciones que están asociadas a los temas del Centro de información. Se proporciona información técnica del producto en un formato que ofrece diversas opciones y herramientas de acceso, integración y personalización de los recursos de la información. El Centro de información se basa en la tecnología de código abierto de Eclipse. El Centro de información de Information Management Software for z/OS Solutions se puede consultar en el siguiente sitio web: http://publib.boulder.ibm.com/infocenter/imzic CD-ROM y DVD Las publicaciones de DB2 están disponibles en un CD-ROM que se incluye con el envío del producto: v DB2 V9.1 for z/OS Licensed Library Collection, LK3T-7195, en inglés
© Copyright IBM Corp. 2007, 2008

97

El CD-ROM contiene la recopilación de las publicaciones de DB2 V9.1 para z/OS en los formatos PDF y BookManager. IBM renueva periódicamente las publicaciones en ediciones posteriores de este CD-ROM. Las publicaciones de DB2 para z/OS también están disponibles en los siguientes kits de colecciones de CD-ROM y DVD, que contienen publicaciones en línea para la mayoría de productos de IBM: v IBM z/OS Software Products Collection , SK3T-4270, en inglés v IBM z/OS Software Products DVD Collection , SK3T–4271, en inglés Formato PDF Muchas de las publicaciones de DB2 están disponibles en formato PDF (Portable Document Format) para consultarlas o imprimirlas desde un CD-ROM o desde la página inicial de DB2 en el sitio web o desde el Centro de información. Descargue las publicaciones en formato PDF en la intranet para distribuirlas por su empresa. Formato BookManager Puede utilizar las publicaciones en línea en CD-ROM para leer y efectuar búsquedas en las publicaciones, imprimir partes del texto y tomar notas en estas publicaciones BookManager. Mediante IBM Softcopy Reader, los correspondientes IBM Library Readers o el producto BookManager Read, puede ver estar publicaciones en los entornos z/OS, Windows y VM. También puede ver y buscar la mayoría de las publicaciones de DB2 en formato BookManager en la web.

Formación sobre DB2
IBM Education and Training ofrece una gran variedad de cursos que le ayudarán de forma rápida y eficaz a tener experiencia con DB2. IBM planifica cursos en todas las ciudades del mundo. Puede encontrar información sobre los cursos, según su país, en el sitio web IBM Learning Services: www.ibm.com/services/learning IBM también ofrece clases en su emplazamiento, a la hora que más le convenga. IBM puede personalizar cursos para que se ajusten a sus requisitos exactos. Para obtener más información, incluida la planificación local actual, póngase en contacto con el representante de IBM.

Cómo solicitar la biblioteca de DB2
Para solicitar publicaciones, visite IBM Publication Center (el centro de publicaciones) en la web: www.elink.ibmlink.ibm.com/public/applications/publications/cgibin/pbi.cgi Desde IBM Publication Center, puede ir al sistema de notificación de publicaciones (PNS - Publication Notification System). Los usuarios de PNS reciben avisos por correo electrónico de las publicaciones actualizadas en sus perfiles. Tiene la posibilidad de solicitar las actualizaciones utilizando la aplicación de solicitud directa de publicaciones o cualquier otro canal para solicitar publicaciones de IBM. La aplicación PNS no realiza envíos automáticos de las publicaciones. El usuario recibirá las publicaciones actualizadas y una factura de las mismas si responde al aviso por correo electrónico.

98

Novedades

También puede solicitar las publicaciones y CD-ROM de DB2 a través del representante de IBM o de la sucursal de IBM en su localidad. Si se encuentra en Estados Unidos o en Canadá, puede realizar la solicitud llamando a uno de los números de teléfono de llamada gratuita: v En Estados Unidos, llame al 1-800-879-2755. v En Canadá, llame al 1-800-426-4968. Para solicitar copias adicionales de publicaciones con licencia, especifique la opción SOFTWARE. Para solicitar publicaciones o CD-ROM adicionales, especifique la opción PUBLICATIONS. Tenga preparada la información del número de cliente, el número del producto y los códigos de dispositivo o los números de pedido que desee.

Cómo obtener información de DB2

99

Cómo utilizar la biblioteca de DB2
Los títulos de las publicaciones en la biblioteca comienzan por DB2 Version 9.1 for z/OS. Sin embargo, las referencias de una publicación de la biblioteca a otra se abrevian y no incluyen el nombre del producto, la versión ni el release. En cambio, apuntan directamente a la sección que trata la información en cuestión. | | | | | Si es un usuario novel de DB2 para z/OS, la publicación Introduction to DB2 for z/OS proporciona una introducción exhaustiva a DB2 Version 9.1 for z/OS. Los temas que se incluyen en esta publicación explican los conceptos básicos que están asociados a los sistemas de gestión de bases de datos relacionales en general y a DB2 para z/OS en particular. La tarea más gratificante relacionada con un sistema de gestión de bases de datos es formular preguntas y obtener respuestas, esta tarea se denomina uso final. Hay otras tareas que también necesitan parámetros de definición del sistema, colocación de los datos en su lugar, etcétera. Las tareas que están asociadas a DB2 se agrupan en estas categorías principales.

Instalación
Si participa en DB2 solamente para instalar el sistema, la publicación DB2 Installation Guide puede resultarle muy útil. Si va a utilizar los recursos de compartición, también necesitará la publicación DB2 Data Sharing: Planning and Administration, que describe las consideraciones acerca de la instalación para compartir datos.

Uso final
Los usuarios finales emiten sentencias SQL para recuperar datos. También insertan, actualizan o suprimen datos, con sentencias SQL. Es posible que necesiten una introducción a SQL, instrucciones detalladas para utilizar SPUFI y una referencia por orden alfabético a los tipos de sentencias SQL. Esta información la encontrará en las publicaciones DB2 Application Programming and SQL Guide y DB2 SQL Reference. Los usuarios finales también pueden emitir sentencias SQL a través de DB2 Query Management Facility (QMF) o algún que otro programa, y la biblioteca de ese programa bajo licencia proporciona todo el material de instrucciones o de consulta que puedan necesitar. Si desea una lista de los títulos de la biblioteca DB2 QMF, consulte la bibliografía que encontrará al final de esta publicación.

Programación de aplicaciones
Algunos usuarios acceden a DB2 sin saberlo, utilizando programas que contienen sentencias SQL. Los programadores de aplicaciones DB2 escriben estos programas. Puesto que escriben sentencias SQL, necesitan los mismos recursos que los usuarios finales. Los programadores de aplicaciones también necesitan instrucciones para muchos otros temas:

© Copyright IBM Corp. 2007, 2008

101

| | | |

v Cómo transferir datos entre DB2 y un programa de sistema principal escrito en Java, C o COBOL, por ejemplo v Cómo preparar la compilación de un programa que incluye sentencias SQL v Cómo procesar los datos desde dos sistemas de forma simultánea, por ejemplo, DB2 e IMS o DB2 y CICS v Cómo escribir aplicaciones distribuidas a través de sistemas operativos v Cómo escribir aplicaciones que utilicen Open Database Connectivity (ODBC) para acceder a los servidores de DB2 v Cómo escribir aplicaciones que utilicen JDBC y SQLJ con el lenguaje de programación Java para acceder a los servidores de DB2 v Cómo escribir aplicaciones para almacenar datos XML en servidores de DB2 y cómo recuperar datos XML a partir de los servidores de DB2. El material necesario para escribir un programa de sistema principal que contenga SQL lo encontrará en la publicación DB2 Application Programming and SQL Guide.

| | | | | | | |

El material necesario para escribir aplicaciones que utilicen JDBC y SQLJ para acceder a los servidores de DB2 lo encontrará en la publicación DB2 Application Programming Guide and Reference for Java. El material necesario para escribir aplicaciones que utilicen CLI o ODBC de DB2 para acceder a los servidores de DB2 lo encontrará en la publicación DB2 ODBC Guide and Reference. El material necesario para trabajar con datos XML en DB2 lo encontrará en la publicación DB2 XML Guide. Para gestionar errores, consulte las publicaciones DB2 Messages y DB2 Codes. Si va a trabajar en un entorno distribuido, necesitará la publicación DB2 Reference for Remote DRDA Requesters and Servers. La información sobre cómo escribir aplicaciones en sistemas operativos la encontrará en la publicación IBM DB2 SQL Reference for Cross-Platform Development.

Administración del sistema y de la base de datos
Administración trata casi todos estos temas. La publicación DB2 Administration Guide divide algunas de estas tareas en las secciones siguientes: v Conceptos de DB2: presenta las estructuras de DB2, el entorno de DB2 y una elevada disponibilidad. v Diseño de una base de datos: trata las decisiones que se deben tomar cuando se diseña una base de datos y le indica cómo implementar el diseño creando y modificando objetos de DB2, cargando datos y realizando ajustes de cambios. v Seguridad y auditoría: describe formas de controlar el acceso al sistema DB2 y a los datos de DB2, para realizar una auditoría de aspectos sobre el uso de DB2 y para responder a otros temas sobre seguridad y auditoría. v Funcionamiento y recuperación: describe los pasos del funcionamiento normal diario y trata los pasos que se deberían llevar a cabo para prepararse para la recuperación en el caso que se produjera alguna anomalía. La publicación DB2 Performance Monitoring and Tuning Guide explica cómo supervisar el rendimiento del sistema DB2 y sus partes. También ofrece una lista de cosas que se pueden hacer para que algunas partes se ejecuten más rápidamente.

102

Novedades

Si va a utilizar el módulo de control de accesos de RACF para realizar la comprobación de autorizaciones de DB2, necesitará la publicación DB2 RACF Access Control Module Guide. Si participa en DB2 solamente para diseñar la base de datos o planificar procedimientos operativos, necesitará la publicación DB2 Administration Guide. Si también desea llevar a cabo sus propios planes creando objetos de DB2, garantizando privilegios, ejecutando trabajos de programas de utilidad, etcétera, también necesitará: v La publicación DB2 SQL Reference que describe las sentencias SQL que se utilizan para crear, modificar y descartar objetos y garantizar y revocar privilegios. v La publicación DB2 Utility Guide and Reference, que explica cómo ejecutar los programas de utilidad v La publicación DB2 Command Reference, que explica cómo ejecutar mandatos Si va a utilizar la compartición de datos, necesitará la publicación DB2 Data Sharing: Planning and Administration, que describe cómo planificar e implementar la compartición de datos. Si desea información adicional sobre la administración del sistema y de la base de datos, la encontrará en las publicaciones DB2 Messages y DB2 Codes, que ofrecen una lista de mensajes y códigos emitidos por DB2, con explicaciones y respuestas sugeridas.

Diagnóstico
Los diagnosticadores detectan y describen errores en el programa DB2. También pueden realizar alguna recomendación o aplicar algún remedio. La documentación para esta tarea la encontrará en las publicaciones DB2 Diagnosis Guide and Reference, DB2 Messages y DB2 Codes.

Cómo utilizar la biblioteca de DB2

103

Glosario
| | | | | | | | | | | formato de fila básico Formato de fila en el que se almacenan valores para las columnas en la fila en el orden en el que la sentencia CREATE TABLE define las columnas. objeto de réplica Objeto asociado con una tabla de réplica, incluida la propia tabla de réplica y las restricciones de comprobación, índices y desencadenantes BEFORE en la tabla de réplica. tabla de réplica Tabla estructuralmente idéntica a una tabla base. La tabla base y la tabla de réplica tienen archivos VSAM distintos, identificados por sus números de instancia de archivo. DOCID Véase ID de documento. | | | ID de documento Valor que identifica exclusivamente una fila que contiene una columna XML. Este valor se almacena con la fila y no cambia nunca. Extensible Markup Language (XML) Metalenguaje estándar para definir lenguajes de marcación que es un subconjunto de Standardized General Markup Language (SGML). | | | | | | | | | | | | | | | | | | | | | | | | | | variable de referencia a archivo Variable de lenguaje principal declarada con uno de los tipos de datos derivados (BLOB_FILE, CLOB_FILE, DBCLOB_FILE); las variables de referencia a archivo gobiernan la lectura o escritura de un LOB en un archivo. estadísticas de histograma Forma de resumen la distribución de datos. Esta técnica divide el rango de valores posibles en un archivo en intervalos, de tal forma que cada intervalo contiene aproximadamente el mismo porcentaje de los valores. Para cada intervalo se recopila un conjunto de estadísticas. Procesador integrado IBM System z9 (zIIP) Procesador especializado que se puede utilizar para algunas funciones de DB2. desencadenante INSTEAD OF (en lugar de) Desencadenante asociado con una única vista y activado por una operación de inserción, actualización o supresión en la vista y que puede definir para propagar la operación de inserción, actualización o supresión en la vista a las tablas subyacentes de la vista. intersección Operación de SQL que implica al operador de conjunto INTERSECT, que combina dos tablas de resultados. El resultado de una operación de intersección consta de todas las filas que están en ambas tablas de resultados. procedimiento nativo de SQL Procedimiento de SQL que se procesa convirtiendo las sentencias de procedimiento a una representación nativa almacenada en el directorio de base de datos, como se realiza con otras sentencias de SQL. Cuando se
© Copyright IBM Corp. 2007, 2008

109

| | | | | | | | | | | | | | | |

invoca un procedimiento de SQL nativo, se carga la representación nativa contenida en el directorio y DB2 ejecuta el procedimiento. proceso analítico en línea (OLAP) Proceso de recopilar datos de una o varias fuentes; transformar y analizar los datos consolidados de forma rápida e interactiva; y examinar los resultados entre distintas dimensiones de los datos buscando patrones, tendencias y excepciones en relaciones complejas de esos datos. espacio de tablas de crecimiento por partición Espacio de tablas cuyo tamaño puede aumentar para acomodar el crecimiento de los datos. DB2 para z/OS gestiona espacios de tablas de crecimiento por partición añadiendo automáticamente nuevos archivos cuando la base de datos necesita más espacio para satisfacer una operación de inserción. espacio de tablas particionado Espacio de tablas basado en una única tabla y que está subdividido en particiones, cada una de las cuales puede ser procesada independientemente por programas de utilidad. índice de particionamiento Índice en el que las columnas situadas más a la izquierda son las columnas de particionamiento de la tabla. El índice puede estar particionado o no particionado.

| | |

espacio de tablas particionado por rangos Tipo de espacio de tablas universal basado en rangos de particionamiento y que contiene una única tabla. esquema relacional Véase esquema SQL.

| | | | | | | | |

formato de fila reordenado Formato de fila que facilita el rendimiento mejorado en recuperación de filas que tienen columnas de longitud variable. DB2 reorganiza el orden de las columnas, tal como está definido en la sentencia CREATE TABLE, de forma que las columnas de longitud fija se almacenan al principio de la fila y las columnas de longitud variable se almacenan al final de la fila. rol Entidad de base de datos que agrupa conjuntamente uno o más privilegios y que puede ser asignada a un ID de autorización primario o a PUBLIC. El rol está disponible sólo en un contexto fiable.

espacio de tablas segmentado Espacio de tablas que está dividido en grupos de páginas de igual tamaño llamados segmentos. Los segmentos se asignan a tablas de modo que las filas de tablas diferentes no se guarden nunca en el mismo segmento. | | | | | | | | | | esquema de SQL Colección de objetos de base de datos tales como tablas, vistas, índices, funciones, tipos diferenciados, esquemas o desencadenantes que definen una base de datos. Un esquema de SQL proporciona una clasificación lógica de objetos de base de datos. ID de autorización del sistema ID de autorización principal de DB2 que se utiliza para establecer una conexión fiable. ID de autorización del sistema derivado del ID de usuario del sistema proporcionado por una entidad externa, como por ejemplo un servidor middleware.

110

Novedades

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

atributo fiable Atributo en el que establecer la confianza. Una relación fiable se estable en base a uno o varios atributos fiables. conexión fiable Conexión de base de datos cuyos atributos coinciden con los atributos de un contexto fiable exclusivo definido en el servidor de bases de datos de DB2. reutilización de conexión fiable Capacidad de conmutar el ID de usuario actual en una conexión fiable a un ID de usuario distinto. contexto fiable Objeto de seguridad de base de datos que permite el establecimiento de una relación fiable entre un sistema de gestión de bases de datos de DB2 y una entidad externa. rol por omisión de contexto fiable Rol asociado con un contexto fiable. Los privilegios otorgados al rol por omisión de contexto fiable se pueden adquirir sólo cuando se establece o reutiliza una conexión fiable basada en el contexto fiable. usuario de contexto fiable ID de usuario al que está permitido conmutar el ID de usuario actual en una conexión fiable. rol específico de usuario de contexto fiable Rol asociado con un usuario específico de contexto fiable. Altera temporalmente el rol por omisión de contexto fiable si el ID de usuario actual en la conexión fiable coincide con el ID del usuario de contexto fiable específico. relación fiable Relación privilegiada entre dos entidades tales como un servidor middleware y un servidor de bases de datos. Esta relación permite un conjunto exclusivo de interacciones entre dos entidades que sería imposible de otra forma. espacio de tablas universal Espacio de tablas que está segmentado y particionado. enclave de WLM Construcción que puede abarcar varias unidades susceptibles de envío (tareas y bloqueos de petición de servicio) en varios espacios de direcciones, permitiendo que se informe sobre las mismas y sean gestionadas por WLM como parte de una única petición de trabajo. XML Véase Extensible Markup Language.

atributo de XML Par nombre-valor contenido en un elemento de XML con identificadores que modifica ciertas características del elemento. | | | | | | | Columna XML Columna de una tabla que almacena XML y se define utilizando el XML de tipo de datos. Los valores de XML que están almacenados en columnas XML son representaciones internas de documentos XML correctamente formados. Tipo de datos XML Tipo de datos con valores XML.
Glosario

111

elemento de XML Estructura lógica de un documento en XML que está delimitada por un identificador de inicio y un identificador de fin. Cualquier elemento entre el código de inicio y el código de finalización es el contenido del elemento. | | | | | | índice XML Índice en una columna XML que proporciona acceso eficaz a nodos en un documento XML proporcionado claves de índice basadas en patrones XML. Bloqueo XML Bloque a nivel de columna para datos XML. La operación de bloqueos XML es similar al funcionamiento de bloqueos de LOB. Nodo de XML La unidad más pequeña de estructura completa válida de un documento. Por ejemplo, un nodo puede representar un elemento, un atributo una serie de texto. | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | índice de ID de nodo XML Índice creado implícitamente, en una tabla de XML que proporciona acceso eficaz a documentos XML y navegación entre varias filas de datos XML en el mismo documento. Patrón XML Lista de nombres de elemento, separados por barras inclinadas, un nombre de atributo opcional (al final) o pruebas de clase, que describen una vía de acceso en un documento XML en una columna XML. El patrón es una forma restrictiva de expresiones de vía de acceso y seleccionada nodos que coinciden con las especificaciones. Los patrones XML se especifican para crear índices en columnas XML en una base de datos. Función de publicación de XML Función que devuelve un valor XML de los valores de SQL. Una función de publicación de XML también se denomina constructor de XML. Esquema XML En XML, mecanismo que describe y restringe el contenido de los archivos XML indicando qué elementos están permitidos y en qué combinaciones. Los esquemas de XML son una alternativa a las definiciones de tipo de documentos (las DTD) y se pueden utilizar para ampliar la funcionalidad en las áreas de especificación de datos, herencia y presentación. repositorio de esquema XML (XSR) Repositorio que permite que el sistema de base de datos de DB2 almacene esquemas de XML. Cuando están registrados con el XSR, estos objetos tienen un identificador exclusivo y se puede utilizar para validar documentos de instancia de XML. Función de serialización de XML Función que devuelve una serie de XML serializada de un valor XML. Tabla de XML Tabla auxiliar que se crea implícitamente cuando una columna XML se añade a una tabla base. Esta tabla almacena los datos XML y la columna en la tabla base apunta a la misma. Espacio de tablas XML Espacio de tablas que se crea implícitamente cuando una columna XML se añade a una tabla base. El espacio de tablas almacena la tabla XML. Si la tabla base está particionada, existe un espacio de tablas particionadas para cada columna XML de datos.

112

Novedades

Sign up to vote on this title
UsefulNot useful