Notas del release IBM(R) DB2(R) Universal Database Notas del release Versión 7 -- FixPak 6 Esta publicación es la traducción del original inglés IBM(R) DB2(R) Universal Database Release Notes Version 7 - FixPak 6. (C) Copyright International Business Machines Corporation. Reservados todos los derechos. Nota para los usuarios del gobierno de los EE.UU. -- Documentación relacionada con derechos restringidos. -- El uso, duplicación o divulgación están sujetos a las restricciones establecidas en el contrato GSA ADP Schedule con IBM Corporation. ------------------------------------------------------------------------ Contenido * Prefacio ------------------------------------------------------------------------ Léame primero * Características principales del FixPak 6 * Notas del producto o 2.1 CPU soportadas en DB2 Versión 7 para Solaris o 2.2 Arreglo de entorno local chino en Red Flag Linux o 2.3 Valor de entorno nacional adicional para DB2 para Linux en el entorno Linux en japonés y chino simplificado o 2.4 Limitación para el japonés en PTX o 2.5 Problema del Centro de control de Microsoft Internet Explorer o 2.6 Pérdida de funcionalidad del Centro de control o 2.7 El CD de Netscape no se suministra con DB2 UDB o 2.8 Error en archivos readme de XML o 2.9 Nuevas mejoras en Business Intelligence en DB2 Versión 7.2 o 2.10 El FixPak 2A y posteriores ocasionan problemas en IBM DB2 OLAP Server o 2.11 Violación de la segmentación al utilizar WebSphere 3.5.5 o 2.12 Arreglo necesario para aplicaciones Java en AIX V4 * Notas para la documentación en línea (HTML, PDF y Búsqueda) o 3.1 Navegadores de la Web soportados en el sistema operativo Windows 2000 o 3.2 Búsqueda en la información en línea de DB2 en Solaris o 3.3 Conmutación de NetQuestion para OS/2 para utilizar TCP/IP o 3.4 Mensajes de error cuando se intenta ejecutar Netscape o 3.5 Requisito de configuración para Adobe Acrobat Reader en sistemas basados en UNIX o 3.6 La Consulta de SQL se proporciona en un archivo PDF ------------------------------------------------------------------------ Instalación y configuración * Información general sobre la instalación, migración y configuración o 4.1 Bajada de los paquetes de instalación para todos los clientes de DB2 soportados o 4.2 Nivel de parche necesario adicional para Solaris o 4.3 Instalación de DB2 Enterprise-Extended Edition en AIX o 4.4 Soporte de directorios Netscape LDAP + 4.4.1 Ampliación del esquema de Netscape LDAP o 4.5 Soporte para las plataformas Windows ME, Windows XP y Windows 2000 de Datacenter Edition + 4.5.1 Windows XP + 4.5.1.1 Limitaciones + 4.5.2 Windows ME + 4.5.2.1 Limitaciones + 4.5.3 Servidor Windows 2000 de Datacenter o 4.6 Instalación de DB2 en Windows 95 o 4.7 Instalación de DB2 en Windows 2000 o 4.8 Ejecución de DB2 bajo Windows 2000 Terminal Server, Modalidad de administración o 4.9 Soporte de Microsoft SNA Server y SNA Multisite Update (Confirmación en dos fases) o 4.10 Definir el ID de usuario y la contraseña en IBM Communications Server para Windows NT (CS/NT) + 4.10.1 Definición de nodo o 4.11 La instalación de DB2 puede colgarse si no hay conectada ninguna unidad extraíble o 4.12 Error SQL1035N al utilizar CLP en Windows 2000 o 4.13 Consecuencia de la migración con respecto a las vistas definidas con registros especiales o 4.14 Soporte del protocolo IPX/SPX en Windows 2000 o 4.15 Detención de los procesos de DB2 antes de actualizar una versión anterior de DB2 o 4.16 Ejecución de db2iupdt después de instalar DB2 si ya hay otro producto DB2 instalado o 4.17 Configuración del entorno Linux para ejecutar el Centro de control de DB2 o 4.18 DB2 Universal Database Enterprise Edition y DB2 Connect Enterprise Edition para Linux en S/390 o 4.19 Posible pérdida de datos en Linux para S/390 o 4.20 Integración de escritorios Gnome y KDE para DB2 en Linux o 4.21 Parámetros de configuración de kernel de Solaris (valores recomendados) o 4.22 DB2 Universal Database Enterprise - Extended Edition for UNIX Quick Beginnings o 4.23 Parámetro de kernel shmseg para HP-UX o 4.24 Migración de las bases de datos de control de IBM Visual Warehouse o 4.25 Migración de índices exclusivos mediante el mandato db2uiddl o 4.26 Error de instalación de la versión de 64 bits de AIX + 4.26.1 Utilización de la SMIT o 4.27 Errores durante la migración o 4.28 Activación de licencias de IBM(R) DB2(R) Connect + 4.28.1 Instalación de la clave de licencia y establecimiento del tipo de licencia utilizando el Centro de licencias + 4.28.2 Instalación de la clave de licencia y establecimiento del tipo de licencia utilizando el mandato db2licm + 4.28.3 Consideraciones sobre licencias para instalaciones distribuidas o 4.29 Acceso a las bases de datos de control del depósito o 4.30 Productos de prueba en los CD-ROM de UNIX Enterprise Edition o 4.31 Productos de prueba en los CD-ROM de UNIX de DB2 Connect Enterprise Edition o 4.32 Configuración adicional necesaria antes de instalar el Centro de catálogos de información para la Web o 4.33 Información del soporte de página de códigos e idioma - Corrección * Data Links Manager Guía rápida de iniciación o 5.1 Soporte en AIX 5.1 o 5.2 Falla el inicio de dlfm con el mensaje: "Error al obtener el afsfid para el prefijo" o 5.3 Establecimiento de la clase de Tivoli Storage Manager para archivos de archivar o 5.4 Requisitos de espacio de disco para DFS Client Enabler o 5.5 Supervisión de los procesos de componente de fondo de DB2 Data Links File Manager en AIX o 5.6 Instalación y configuración de DB2 Data Links Manager para AIX: Consideraciones adicionales sobre la instalación en entornos DCE-DFS o 5.7 El mandato "dlfm add_prefix" ha fallado o 5.8 En las raras ocasiones en que el daemon de copia no se detiene en dlfm stop o 5.9 Instalación y configuración de DB2 Data Links Manager para AIX: Instalación de DB2 Data Links Manager en AIX utilizando el programa de utilidad db2setup o 5.10 Instalación y configuración de DB2 Data Links Manager para AIX: Tarea posterior a la instalación de DCE-DFS o 5.11 Instalación y configuración de DB2 Data Links Manager para AIX: Instalación manual de DB2 Data Links Manager en AIX utilizando la Smit o 5.12 Instalación y configuración de DB2 Data Links Manager DFS Client Enabler o 5.13 Instalación y configuración de DB2 Data Links Manager para Solaris o 5.14 Privilegios del grupo del administrador en Data Links en Windows NT o 5.15 Minimizar el registro cronológico para la instalación de Data Links File System Filter (DLFF) + 5.15.1 Anotación cronológica de mensajes después de la instalación + 5.15.2 Minimización de la anotación cronológica en los sistemas Sun Solaris o 5.16 Restauración de DATALINK o 5.17 Descarte de Data Links Manager o 5.18 La desinstalación de los componentes de DLFM utilizando la SMIT puede eliminar catálogos de archivos adicionales o 5.19 Antes de empezar/determinar el nombre del sistema principal o 5.20 Trabajo con Data Links File Manager: Borrado después de descartar un DB2 Data Links Manager de una base de datos de DB2 o 5.21 Acción del usuario para la anomalía de dlfm client_conf o 5.22 DLFM1001E (Nuevo mensaje de error) o 5.23 Opción de archivo de configuración de puesta a punto DLFM o 5.24 Problema potencial en la restauración de archivos o 5.25 Error al ejecutar el script de Data Links/DFS dmapp_prestart en AIX o 5.26 Integración de Tivoli Space Manager con Data Links + 5.26.1 Restricciones y limitaciones o 5.27 Capítulo 4. Instalación y configuración de DB2 Data Links Manager para AIX + 5.27.1 Consideraciones para la instalación + 5.27.1.1 Migración de DB2 File Manager Versión 5.2 a DB2 Data Links Manager Versión 7 o 5.28 Capítulo 6. Verificación de la instalación en AIX + 5.28.1 Soluciones temporales en entornos NFS * Suplemento de instalación y configuración o 6.1 Capítulo 5. Instalación de clientes DB2 en sistemas operativos UNIX + 6.1.1 Parámetros de configuración del kernel HP-UX o 6.2 Capítulo 12. Ejecución de sus propias aplicaciones + 6.2.1 Vinculación de programas de utilidad de bases de datos utilizando el Cliente de tiempo de ejecución + 6.2.2 Acceso de clientes UNIX a DB2 utilizando ODBC o 6.3 Capítulo 24. Configuración de un sistema federado para que acceder a varias fuentes de datos + 6.3.1 Sistemas federados + 6.3.2 Restricción + 6.3.3 Instalación de DB2 Relational Connect + 6.3.3.1 Instalación de DB2 Relational Connect en servidores Windows NT + 6.3.3.2 Instalación de DB2 Relational Connect en servidores UNIX + 6.3.4 Capítulo 24. Configuración de un sistema federado para que acceder a varias fuentes de datos + 6.3.4.1 Interpretación del esquema utilizado con los apodos + 6.3.4.2 Problemas al restaurar una base de datos federada en un servidor federado diferente o 6.4 Capítulo 26. Acceso a fuentes de datos Oracle + 6.4.1 Errores de la documentación o 6.5 Cómo evitar problemas al trabajar con LOB remotos o 6.6 Acceso a fuentes de datos Sybase + 6.6.1 Adición de fuentes de datos Sybase a un servidor federado + 6.6.1.1 Paso 1: Establecer las variables de entorno y actualizar el registro de perfiles (sólo AIX y Solaris) + 6.6.1.2 Paso 2: Enlazar DB2 al software cliente de Sybase (sólo AIX y Solaris) + 6.6.1.3 Paso 3: Reciclar la instancia de DB2 (sólo AIX y Solaris) + 6.6.1.4 Paso 4: Crear y configurar un archivo de interfaces + 6.6.1.5 Paso 5: Crear el reiniciador + 6.6.1.6 Paso 6: Opcional: Establecer la variable de entorno DB2_DJ_COMM + 6.6.1.7 Paso 7: Crear el servidor + 6.6.1.8 Paso 8: Opcional: Establecer la opción de servidor CONNECTSTRING + 6.6.1.9 Paso 9: Crear una correlación de usuario + 6.6.1.10 Paso 10: Crear apodos para tablas y vistas + 6.6.2 Especificación de páginas de códigos de Sybase o 6.7 Acceso a fuentes de datos Microsoft SQL Server mediante ODBC (capítulo nuevo) + 6.7.1 Adición de fuentes de datos Microsoft SQL Server a un servidor federado + 6.7.1.1 Paso 1: Establecer las variables de entorno (sólo en AIX) + 6.7.1.2 Paso 2: Ejecutar el script shell (sólo en AIX) + 6.7.1.3 Paso 3: Opcional: Establecer la variable de entorno DB2_DJ_COMM (sólo en AIX) + 6.7.1.4 Paso 4: Reciclar la instancia de DB2 (sólo en AIX) + 6.7.1.5 Paso 5: Crear el reiniciador + 6.7.1.6 Paso 6: Crear el servidor + 6.7.1.7 Paso 7: Crear una correlación de usuario + 6.7.1.8 Paso 8: Crear apodos para tablas y vistas + 6.7.1.9 Paso 9: Opcional: Obtener rastreos de ODBC + 6.7.2 Revisión de páginas de códigos de Microsoft SQL Server (sólo Windows NT) o 6.8 Acceso a fuentes de datos Informix (capítulo nuevo) + 6.8.1 Adición de fuentes de datos Informix a un servidor federado + 6.8.1.1 Paso 1: Establecer las variables de entorno y actualizar el registro de perfiles + 6.8.1.2 Paso 2: Enlazar con el software de cliente Informix de DB2 + 6.8.1.3 Paso 3: Reciclar la instancia de DB2 + 6.8.1.4 Paso 4: Crear el archivo sqlhosts de Informix + 6.8.1.5 Paso 5: Crear el reiniciador + 6.8.1.6 Paso 6: Opcional: Establecer la variable de entorno DB2_DJ_COMM + 6.8.1.7 Paso 7: Crear el servidor + 6.8.1.8 Paso 8: Crear una correlación de usuario + 6.8.1.9 Paso 9: Crear apodos para tablas, vistas y sinónimos de Informix ------------------------------------------------------------------------ Administración * Administration Guide o 7.1 Actualización disponible * Guía de administración: Planificación o 8.1 Capítulo 8. Diseño físico de bases de datos + 8.1.1 Consideraciones sobre el diseño de espacios de tablas + 8.1.1.1 Optimización del rendimiento de los espacios de tablas cuando se colocan datos al asalto + 8.1.2 Claves de particionamiento o 8.2 Apéndice D. Incompatibilidades entre releases + 8.2.1 Error SQL30081N no devuelto cuando se detecta pérdida de conexión o 8.3 Apéndice E. Soporte de idioma nacional (NLS) + 8.3.1 Soporte de código de país/región y página de códigos: + 8.3.2 Consideraciones sobre la importación/exportación/carga -- Restricciones para las páginas de códigos 1394 y 5488 + 8.3.3 Valores de fecha y hora + 8.3.3.1 Representaciones de serie de los valores de fecha y hora + 8.3.3.2 Series de fecha + 8.3.3.3 Series de hora + 8.3.3.4 Series de indicación de fecha y hora + 8.3.3.5 Consideraciones acerca del juego de caracteres + 8.3.3.6 Formatos de fecha y hora * Administration Guide: Implementation o 9.1 Capítulo 8. Recuperación de una base de datos + 9.1.1 Cómo utilizar la suspensión de E/S o 9.2 Nuevo método para especificar contenedores DMS en sistemas Windows 2000 y posteriores o 9.3 Ejemplo para ampliación del Centro de control * Guía de administración: Rendimiento o 10.1 Esquemas de las tablas temporales del sistema o 10.2 Capítulo 8. Rendimiento operativo + 10.2.1 Agrupación de almacenamientos intermedios basada en bloques + 10.2.1.1 Ejemplos de agrupación de almacenamientos intermedios basada en bloques o 10.3 Capítulo 10. Ajuste de la configuración mediante la adición de procesadores + 10.3.1 Problemas al añadir nodos a una base de datos particionada o 10.4 Capítulo 13. Configuración de DB2 + 10.4.1 Terminación del archivador de anotaciones cronológicas comprobada ahora más frecuentemente o 10.5 Variables de registro y de entorno de DB2 + 10.5.1 Correcciones a variables relativas al rendimiento + 10.5.2 Correcciones y adiciones a variables de registro diversas + 10.5.3 Correcciones y adiciones a variables de registro generales * Administering Satellites Guide and Reference o 11.1 Configuración de la Versión 7.2 de DB2 Personal Edition y DB2 Workgroup Edition como satélites + 11.1.1 Requisitos previos + 11.1.1.1 Consideraciones sobre la instalación + 11.1.2 Configuración del sistema Versión 7.2 para la sincronización + 11.1.3 Instalación del FixPak 2 o superior en un sistema Versión 6 Enterprise Edition + 11.1.3.1 Actualización de la Versión 6 de DB2 Enterprise Edition para utilizarlo como servidor de control de DB2 + 11.1.4 Actualización de una Versión 6 del Centro de control y del Centro de administración de satélites * Consulta de mandatos o 12.1 Actualización disponible o 12.2 db2updv7 - Actualizar la base de datos al nivel de arreglo actual de la versión 7 o 12.3 REBIND + Missing value o 12.4 db2inidb - Inicializar una base de datos reflejada + 12.4.1 Información de utilización o 12.5 Opción adicional del mandato GET ROUTINE + GET ROUTINE o 12.6 CREATE DATABASE * Data Recovery and High Availability Guide and Reference o 13.1 Data Recovery and High Availability Guide and Reference Available Online o 13.2 Nuevo comportamiento de la copia de seguridad y restauración cuando LOGRETAIN=CAPTURE o 13.3 Ahora, NEWLOGPATH2 se llama DB2_NEWLOGPATH2 o 13.4 Elección de un método de copia de seguridad para DB2 Data Links Manager en AIX o Solaris o 13.5 Tivoli Storage Manager -- LAN Free Data Transfer * Data Movement Utilities Guide and Reference o 14.1 Cambio en el manejo de archivos LOB por parte de las funciones de exportación, importación y carga + 14.1.1 Consideraciones acerca de IXF o 14.2 Soporte de página de códigos para los programas de utilidad de importación, exportación y carga o 14.3 db2relocatedb (nuevo mandato) + db2relocatedb - Reubicar base de datos o 14.4 db2move -- Nuevas opciones disponibles + Transferencia de datos mediante la herramienta db2move o 14.5 Capítulo 2. Importación + 14.5.1 Utilización de la importación con inserciones en almacenamiento intermedio o 14.6 Capítulo 3. Carga + 14.6.1 Estados de pendiente después de una operación de carga + 14.6.2 Limitaciones y restricciones de carga + 14.6.3 Modificador de tipo de archivo totalfreespace o 14.7 Capítulo 4. AutoLoader + 14.7.1 rexecd necesario para ejecutar AutoLoader cuando la autentificación se establece en YES o 14.8 AutoLoader puede colgarse durante un fork o 14.9 Apéndice C. Formatos de archivo de programa de utilidad de Exportación/Importación/Carga * Replication Guide and Reference o 15.1 Duplicación y servidores que no son IBM o 15.2 Duplicación en Windows 2000 o 15.3 Error conocido al guardar archivos de SQL o 15.4 Mantenimiento de DB2 o 15.5 Programa de utilidad de diferencia de datos en la Web o 15.6 Capítulo 3. Escenario de duplicación de datos + 15.6.1 Escenarios de duplicación o 15.7 Capítulo 5. Planificación de la duplicación + 15.7.1 Nombres de tabla y de columna + 15.7.2 Duplicación de DATALINK + 15.7.3 Restricciones de LOB + 15.7.4 Planificación de la duplicación o 15.8 Capítulo 6. Configuración del entorno de duplicación + 15.8.1 Requisito previo a una actualización en cualquier parte (update-anywhere) + 15.8.2 Configuración del entorno de duplicación o 15.9 Capítulo 8. Determinación de problemas o 15.10 Capítulo 9. Capture y Apply para AS/400 o 15.11 Capítulo 10. Capture y Apply para OS/390 + 15.11.1 Requisitos previos para DB2 DataPropagator para OS/390 + 15.11.2 Esquemas de codificación UNICODE y ASCII en OS/390 + 15.11.2.1 Elección de un esquema de codificación + 15.11.2.2 Establecimiento de esquemas de codificación o 15.12 Capítulo 11. Capture y Apply para plataformas UNIX + 15.12.1 Establecimiento de variables de entorno para Capture y Apply en UNIX y Windows o 15.13 Capítulo 14. Estructuras de tabla o 15.14 Capítulo 15. Mensajes de Capture y Apply o 15.15 Apéndice A. Inicio de los programas Capture y Apply desde dentro de una aplicación * System Monitor Guide and Reference o 16.1 db2ConvMonStream * Troubleshooting Guide o 17.1 Inicio de DB2 en Windows 95, Windows 98 y Windows ME cuando el usuario no tiene iniciada una sesión o 17.2 Capítulo 1. Buenas prácticas para la resolución de problemas + 17.2.1 Herramienta para analizar el problema y recopilar el entorno + 17.2.1.1 Salidas de la recopilación + 17.2.1.2 Visualización de detailed_system_info.html + 17.2.1.3 Visualización de la sintaxis de DB2 Support Tool de página en página o 17.3 Capítulo 2. Resolución de problemas de DB2 Universal Database Server o 17.4 Capítulo 8. Resolución de problemas de DB2 Data Links Manager * Utilización de DB2 Universal Database en plataformas de 64 bits o 18.1 Capítulo 5. Configuración + 18.1.1 LOCKLIST + 18.1.2 shmsys:shminfo_shmmax o 18.2 Capítulo 6. Restricciones * Administración y programación del expansor de XML * MQSeries o 20.1 Instalación y configuración para las funciones de DB2 MQSeries + 20.1.1 Instalación de MQSeries + 20.1.2 Instalación de AMI de MQSeries + 20.1.3 Habilitación de DB2 MQSeries Functions o 20.2 Estilos de gestión de mensajes de MQSeries o 20.3 Estructura de mensajes o 20.4 Visión general funcional de MQSeries + 20.4.1 Limitaciones + 20.4.2 Códigos de error o 20.5 Escenarios de aplicación + 20.5.1 Gestión básica de mensajes + 20.5.2 Envío de mensajes + 20.5.3 Recuperación de mensajes + 20.5.4 Conectividad de aplicación a aplicación + 20.5.4.1 Comunicaciones tipo petición y respuesta + 20.5.4.2 Publicación y suscripción o 20.6 enable_MQFunctions + enable_MQFunctions o 20.7 disable_MQFunctions + disable_MQFunctions ------------------------------------------------------------------------ Herramientas administrativas * Configuración adicional anterior a la ejecución de herramientas o 21.1 Inhabilitación de la pila de coma flotante en Linux o 21.2 Nivel de Java específico necesario en un entorno Linux japonés * Centro de control o 22.1 Posibilidad de administrar DB2 Server para servidores VSE y VM o 22.2 Soporte de Java 1.2 para el Centro de control o 22.3 Error "Atajo no válido" al utilizar la ayuda en línea en el sistema operativo Windows o 22.4 Los atajos del teclado no funcionan o 22.5 Centro de control Java en OS/2 o 22.6 Error "Acceso a archivo denegado" al intentar visualizar un trabajo completado en el Diario del sistema operativo Windows o 22.7 Multisite Update Test Connect o 22.8 Centro de control de DB2 para OS/390 o 22.9 Arreglo necesario del Centro de control para OS/390 o 22.10 Cambio en el diálogo Create Spatial Layer o 22.11 Información sobre resolución de problemas para el Centro de control de DB2 o 22.12 Resolución de problemas del Centro de control en sistemas basados en UNIX o 22.13 Posible problema de Infopops en OS/2 o 22.14 Ayuda para el parámetro de configuración jdk11_path o 22.15 Error del sistema Solaris (SQL10012N) al utilizar el Centro de Scripts o el Diario o 22.16 Ayuda para el archivo DPREPL.DFT o 22.17 Lanzamiento de más de un applet del Centro de control o 22.18 Ayuda en línea para el Centro de control al ejecutarlo como applet o 22.19 Ejecución del Centro de control en modalidad de applet (Windows 95) o 22.20 Cómo trabajar con resultados de consultas muy largos * Centro de mandatos o 23.1 Ahora la página Interactivo del Centro de mandatos reconoce el terminador de sentencia * Centro de información o 24.1 Correcciones en el documento de Ejemplos de Java o 24.2 Error "Atajo no válido" en el sistema operativo Windows o 24.3 Apertura de enlaces externos de Web en Netscape Navigator cuando Netscape ya está abierto (sistemas basados en UNIX) o 24.4 Problemas al iniciar el Centro de información * Asistentes o 25.1 Establecimiento del tamaño de extensión en el Asistente para crear bases de datos o 25.2 Asistente MQSeries Assist o 25.3 Asistente OLE DB Assist o 25.4 Creación de procedimientos almacenados de Java para OS/390 utilizando Stored Procedure Builder ------------------------------------------------------------------------ Business Intelligence * Guía de aprendizaje de Business Intelligence o 26.1 Guía de aprendizaje de Business Intelligence revisada * DB2 Universal Database Visión general rápida * Data Warehouse Center Administration Guide o 28.1 Actualización disponible o 28.2 Mejoras en el servidor de depósito o 28.3 Utilización del agente de OS/390 para la ejecución de un JCL de Trillium Batch System o 28.4 Dos nuevos programas de ejemplo en el Centro de depósito de datos o 28.5 Managing ETI.Extract(R) Conversion Programs con DB2 Warehouse Manager actualizados o 28.6 Importación y exportación de metadatos utilizando el intercambio de metadatos de depósito común (CWMI) + 28.6.1 Introducción + 28.6.2 Importación de metadatos + 28.6.3 Actualización de los metadatos después de ejecutar el programa de utilidad de importación + 28.6.4 Exportación de metadatos o 28.7 Programa de utilidad de importación/exportación de metadatos de lenguaje de códigos + 28.7.1 Definiciones de claves + 28.7.2 Planificaciones de pasos y procesos o 28.8 Información sobre pasos de SAP + 28.8.1 Es posible crear una tabla lógicamente incoherente o 28.9 Información sobre SAP Connector + 28.9.1 Restricciones en la instalación de SAP Connector + 28.9.2 Rendimiento de GetDetail BAPI * Kit de iniciación de DB2 OLAP o 29.1 Sitio Web de OLAP Server o 29.2 Niveles de servicio de sistemas operativos soportados o 29.3 Realización de la configuración del Kit de iniciación de DB2 OLAP en UNIX o 29.4 Configuración adicional para el Entorno operativo Solaris o 29.5 Configuración adicional para todos los sistemas operativos o 29.6 Configuración de ODBC para el Kit de iniciación de OLAP + 29.6.1 Configuración de fuentes de datos en sistemas UNIX + 29.6.1.1 Configuración de variables de entorno de ODBC + 29.6.1.2 Edición del archivo odbc.ini + 29.6.1.3 Adición de una fuente de datos a un archivo odbc.ini + 29.6.1.4 Ejemplo de valores de ODBC para DB2 + 29.6.1.5 Ejemplo de valores de ODBC para Oracle + 29.6.2 Configuración del Catálogo de metadatos de OLAP en sistemas UNIX + 29.6.3 Configuración de fuentes de datos en sistemas Windows + 29.6.4 Configuración del Catálogo de metadatos de OLAP en sistemas Windows + 29.6.5 Después de configurar una fuente de datos o 29.7 Inicio de una sesión desde el escritorio del Kit de iniciación de OLAP + 29.7.1 Ejemplo de inicio de sesión del Kit de iniciación o 29.8 Creación y configuración manual de las bases de datos de ejemplo para el Kit de iniciación de OLAP o 29.9 Migración de aplicaciones al Kit de iniciación de OLAP Versión 7.2 o 29.10 Problemas y limitaciones conocidos o 29.11 Falta de archivos EQD del Complemento de hoja de cálculo de OLAP * Information Catalog Manager Administration Guide o 30.1 Programa de utilidad Inicialización del Gestor de catálogos de información + 30.1.1 + 30.1.2 Temas sobre licencia + 30.1.3 Temas sobre la instalación o 30.2 Mejoras en el Gestor de catálogos de información o 30.3 Incompatibilidad entre Information Catalog Manager y Sybase en el entorno Windows o 30.4 Acceso a catálogos de información de DB2 Versión 5 con el Gestor de catálogos de información de DB2 Versión 7 o 30.5 Configuración de un Catálogo de información o 30.6 Intercambio de metadatos con otros productos o 30.7 Intercambio de metadatos utilizando el mandato flgnxoln o 30.8 Intercambio de metadatos utilizando el mandato MDISDGC o 30.9 Invocación de programas * Information Catalog Manager Programming Guide and Reference o 31.1 Códigos de razón del Gestor de catálogos de información * Information Catalog Manager User's Guide * Gestor de catálogos de información: Mensajes en línea o 33.1 Correcciones en los mensajes FLG + 33.1.1 Mensaje FLG0260E + 33.1.2 Mensaje FLG0051E + 33.1.3 Mensaje FLG0003E + 33.1.4 Mensaje FLG0372E + 33.1.5 Mensaje FLG0615E * Gestor de catálogos de información: Ayuda en línea o 34.1 Gestor de catálogos de información para la Web * DB2 Warehouse Manager Installation Guide o 35.1 Actualización disponible del manual DB2 Warehouse Manager Installation Guide o 35.2 Requisitos de software para transformadores de almacén de datos o 35.3 Consideraciones posteriores a la instalación para el agente iSeries o 35.4 Antes de utilizar transformadores con el agente de almacén de datos de iSeries * Query Patroller Administration Guide o 36.1 El cliente de DB2 Query Patroller es un componente separado o 36.2 Cambio del estado del nodo o 36.3 Migración desde la Versión 6 de DB2 Query Patroller utilizando dqpmigrate o 36.4 Habilitación de la Gestión de consultas o 36.5 Ubicación del espacio de tabla para tablas de control o 36.6 Nuevos parámetros para el mandato dqpstart o 36.7 Nuevo parámetro para el mandato iwm_cmd o 36.8 Nueva variable de registro: DQP_RECOVERY_INTERVAL o 36.9 Inicio del Administrador de consultas o 36.10 Administración de usuarios o 36.11 Administración de fuente de datos o 36.12 Creación de una cola de trabajos o 36.13 Tabla de contabilidad de trabajos o 36.14 Utilización de la interfaz de línea de mandatos o 36.15 Notas sobre Query Enabler o 36.16 DB2 Query Patroller Tracker puede devolver una página de columnas en blanco o 36.17 Información adicional para la herramienta de GUI de DB2 Query Patroller Tracker o 36.18 Query Patroller y Herramientas de duplicación o 36.19 Mejora del rendimiento de Query Patroller o 36.20 Privilegio EXECUTE perdido para los usuarios de Query Patroller creados con la versión 6 o 36.21 Restricciones de Query Patroller o 36.22 Apéndice B. Resolución de problemas de clientes de DB2 Query Patroller ------------------------------------------------------------------------ Desarrollo de aplicaciones * Administrative API Reference o 37.1 db2ArchiveLog (nueva API) + db2ArchiveLog o 37.2 db2ConvMonStream o 37.3 db2DatabasePing (nueva API) + db2DatabasePing - Base de datos Ping o 37.4 db2HistData o 37.5 db2HistoryOpenScan o 37.6 db2XaGetInfo (nueva API) + db2XaGetInfo - Obtener información para el gestor de recursos o 37.7 db2XaListIndTrans (nueva API que reemplaza a sqlxphqr) + db2XaListIndTrans - Listar transacciones dudosas o 37.8 db2GetSnapshot - Obtener instantánea o 37.9 Forget Log Record o 37.10 sqlaintp - Obtener mensaje de error o 37.11 sqlbctcq - Cerrar consulta de contenedor de espacio de tabla o 37.12 sqleseti - Establecer información de cliente o 37.13 sqlubkp - Copia de seguridad de la base de datos o 37.14 sqlureot - Reorganizar tabla o 37.15 sqlurestore - Restaurar base de datos o 37.16 Error de documentación sobre el soporte de memoria compartida ampliada AIX (EXTSHM) o 37.17 SQLFUPD + 37.17.1 locklist o 37.18 SQLEDBDESC * Application Building Guide o 38.1 Actualización disponible o 38.2 Notas adicionales para distribuir procedimientos de SQL compilados * Application Development Guide o 39.1 Actualización disponible o 39.2 Requisitos nuevos para executeQuery y executeUpdate o 39.3 Soporte de controlador JDBC para métodos adicionales o 39.4 o 39.5 IBM OLE DB Provider para DB2 UDB * CLI Guide and Reference o 40.1 Vinculación de programas de utilidad de bases de datos utilizando el Cliente de tiempo de ejecución o 40.2 Utilización de SQL estático en aplicaciones de la CLI o 40.3 Limitaciones de perfil estático JDBC/ODBC/CLI o 40.4 Transformaciones de ADT o 40.5 Capítulo 1. Introducción a la CLI + 40.5.1 Diferencias entre la CLI de DB2 y el SQL incorporado o 40.6 Capítulo 3. Utilización de características avanzadas + 40.6.1 Cómo escribir aplicaciones de varias hebras + 40.6.2 Escritura de una aplicación Unicode de DB2 CLI + 40.6.2.1 Funciones de Unicode + 40.6.2.2 Tipos de datos nuevos y conversiones válidas + 40.6.2.3 Valor de palabra clave/parche obsoleto + 40.6.2.4 Literales en bases de datos Unicode + 40.6.2.5 Nuevas palabras clave de configuración de CLI + 40.6.3 Microsoft Transaction Server (MTS) como Supervisor de transacciones + 40.6.4 Cursores desplazables + 40.6.4.1 Soporte de cursor desplazable para OS/390 en el extremo del servidor + 40.6.5 Utilización de SQL compuesto + 40.6.6 Utilización de procedimientos almacenados + 40.6.6.1 Privilegios para crear y depurar procedimientos SQL y Java almacenados + 40.6.6.2 Escritura de un procedimiento almacenado en CLI + 40.6.6.3 Procedimientos almacenados de CLI y vinculación automática o 40.7 Capítulo 4. Configuración de CLI/ODBC y ejecución de aplicaciones de ejemplo + 40.7.1 Palabras clave de configuración + 40.7.1.1 CURRENTFUNCTIONPATH + 40.7.1.2 SKIPTRACE o 40.8 Capítulo 5. Funciones de CLI de DB2 + 40.8.1 SQLBindFileToParam - Vincular referencia de archivo LOB a parámetro de LOB + 40.8.2 SQLColAttribute -- Devolver un atributo de columna + 40.8.3 SQLGetData - Obtener datos de una columna + 40.8.4 SQLGetInfo - Obtener información general + 40.8.5 SQLGetLength - Recuperar longitud del valor de una serie + 40.8.6 SQLNextResult - Asociar el conjunto de resultados siguiente con otro descriptor de contexto de sentencias + 40.8.6.1 Objetivo + 40.8.6.2 Sintaxis + 40.8.6.3 Argumentos de función + 40.8.6.4 Utilización + 40.8.6.5 Códigos de retorno + 40.8.6.6 Diagnósticos + 40.8.6.7 Restricciones + 40.8.6.8 Referencias + 40.8.7 SQLSetEnvAttr - Establecer un atributo de entorno + 40.8.8 SQLSetStmtAttr -- Establecer opciones relativas a una sentencia o 40.9 Apéndice C. DB2 CLI y ODBC + 40.9.1 Aplicaciones Unicode de ODBC + 40.9.1.1 Aplicaciones Unicode de ODBC frente a aplicaciones no Unicode de ODBC o 40.10 Apéndice D. Funciones escalares ampliadas + 40.10.1 Funciones de fecha y hora o 40.11 Apéndice K. Utilización del recurso de rastreo CLI/ODBC/JDBC de DB2 * Consulta de mensajes o 41.1 Actualización disponible o 41.2 Actualizaciones de mensajes o 41.3 Lectura del texto de mensaje en línea * Consulta de SQL o 42.1 Actualización del manual Consulta de SQL disponible o 42.2 Cómo habilitar las nuevas funciones y procedimientos o 42.3 SET SERVER OPTION - Error de documentación o 42.4 GRANT (Privilegios de tabla, vista o apodo) - Error de documentación o 42.5 Información sobre MQSeries + 42.5.1 Funciones escalares + 42.5.1.1 MQPUBLISH + 42.5.1.2 MQREADCLOB + 42.5.1.3 MQRECEIVECLOB + 42.5.1.4 MQSEND + 42.5.2 Funciones de tabla + 42.5.2.1 MQREADALLCLOB + 42.5.2.2 MQRECEIVEALLCLOB + 42.5.3 Ahora se soportan datos CLOB en funciones de MQSeries o 42.6 Información sobre tipos de datos + 42.6.1 Promoción de tipos de datos + 42.6.2 Difusión entre tipos de datos + 42.6.3 Asignaciones y comparaciones + 42.6.3.1 Asignaciones de serie + 42.6.3.2 Comparaciones de series + 42.6.4 Normas para los tipos de datos de resultado + 42.6.4.1 Series de caracteres y de gráficos en una base de datos Unicode + 42.6.5 Normas para las conversiones de serie + 42.6.6 Expresiones + 42.6.6.1 Con el operador de concatenación + 42.6.7 Predicados o 42.7 Información sobre Unicode + 42.7.1 Funciones escalares y Unicode o 42.8 Compatibilidad del tipo GRAPHIC y DATE/TIME/TIMESTAMP + 42.8.1 Representaciones de serie de los valores de fecha y hora + 42.8.1.1 Series de fecha, series de hora y series de indicación de fecha y hora + 42.8.2 Difusión entre tipos de datos + 42.8.3 Asignaciones y comparaciones + 42.8.4 Asignaciones de fecha y hora + 42.8.5 DATE + 42.8.6 GRAPHIC + 42.8.7 TIME + 42.8.8 TIMESTAMP + 42.8.9 VARGRAPHIC o 42.9 Claves de índice mayores para bases de datos Unicode + 42.9.1 ALTER TABLE + 42.9.2 CREATE INDEX + 42.9.3 CREATE TABLE o 42.10 Sección de notas de la sentencia ALLOCATE CURSOR incorrecta o 42.11 Opciones adicionales de la sentencia GET DIAGNOSTICS + Sentencia GET DIAGNOSTICS o 42.12 ORDER BY en subselecciones + 42.12.1 Selección completa + 42.12.2 Subselección + 42.12.3 Cláusula order by + 42.12.4 Sentencia select + Sentencia SELECT INTO + 42.12.5 Funciones de OLAP (cláusula window order) * Nuevo argumento de entrada para el procedimiento GET_ROUTINE_SAR * Autorización necesaria para la sentencia SET INTEGRITY * Apéndice N. Tablas de excepciones * Actualizaciones de Unicode o 46.1 Introducción + 46.1.1 Bases de datos y aplicaciones Unicode de DB2 + 46.1.2 Actualizaciones de documentación ------------------------------------------------------------------------ Conexión con sistemas principales * DB2 Connect User's Guide o 47.1 Aumento de la velocidad de transferencia de datos de DB2 Connect + 47.1.1 Bloques de consulta extra + 47.1.2 Window Scaling del RFC-1323 o 47.2 Soporte de DB2 Connect para transacciones acopladas libremente o 47.3 Soporte de Kerberos * Suplemento de conectividad o 48.1 Configuración del servidor de aplicaciones en un entorno VM o 48.2 Valores de PATCH1 y PATCH2 para configuración de CLI/ODBC/JDBC ------------------------------------------------------------------------ Información adicional * Información adicional o 49.1 DB2 Everywhere ahora es DB2 Everyplace o 49.2 Características de acceso de DB2 UDB Versión 7 + 49.2.1 Entrada por teclado y navegación + 49.2.1.1 Entrada por teclado + 49.2.1.2 Foco del teclado + 49.2.2 Características para visualización accesible + 49.2.2.1 Modalidad de alto contraste + 49.2.2.2 Valores de font + 49.2.2.3 No dependencia del color + 49.2.3 Indicaciones de alerta alternativas + 49.2.4 Compatibilidad con tecnologías de asistencia + 49.2.5 Documentación accesible o 49.3 Ratón necesario o 49.4 Intento de vinculación desde los resultados de Cliente de tiempo de ejecución de DB2 en un error "Archivos de vinculación no encontrados" o 49.5 Search Discovery o 49.6 Ventanas de memoria para HP-UX 11 o 49.7 Desinstalación de DB2 DFS Client Enabler o 49.8 Autentificación de cliente en Windows NT o 49.9 Restricciones para sistemas federados o 49.10 Limitaciones federadas con tablas particionadas MPP o 49.11 Restricción para DataJoiner o 49.12 Gestor de catálogos de información en hebreo para Windows NT o 49.13 El SPM de SNA de DB2 no se inicia después de rearrancar Windows o 49.14 Requisitos de la cuenta de servicio para DB2 en Windows NT y Windows 2000 o 49.15 Necesidad de confirmar todos los programas definidos por el usuario que se utilizarán en el Centro de depósito de datos (DWC) o 49.16 Gestión de la antememoria de la parte de cliente en Windows NT o 49.17 Life Sciences Data Connect + 49.17.1 Nuevos reiniciadores + 49.17.2 Avisos- o 49.18 Mejora de SQL Assist o 49.19 Ayuda para los mandatos de copia de seguridad y restauración o 49.20 "Warehouse Manager" debe ser "DB2 Warehouse Manager" ------------------------------------------------------------------------ Apéndices * Apéndice A. Avisos o A.1 Marcas registradas * Índice ------------------------------------------------------------------------ Prefacio ¡Bienvenido a DB2 Universal Database Versión 7 FixPak 6! Nota: Cuando visualice estas Notas del release como texto, establezca el font en monoespaciado para verlas mejor. El sitio de Soporte de DB2 Universal Database y DB2 Connect se actualiza regularmente. Compruebe la dirección http://www.ibm.com/software/data/db2/udb/winos2unix/support para ver la información más actualizada. Este archivo contiene información acerca de los productos siguientes que no estaba disponible cuando se imprimieron los manuales de DB2: IBM DB2 Universal Database Personal Edition, Versión 7.2 IBM DB2 Universal Database Workgroup Edition, Versión 7.2 IBM DB2 Universal Database Enterprise Edition, Versión 7.2 IBM DB2 Data Links Manager, Versión 7.2 IBM DB2 Universal Database Enterprise - Extended Edition, Versión 7.2 IBM DB2 Query Patroller, Versión 7.2 IBM DB2 Personal Developer's Edition, Versión 7.2 IBM DB2 Universal Developer's Edition, Versión 7.2 IBM DB2 Data Warehouse Manager, Versión 7.2 IBM DB2 Relational Connect, Versión 7.2 IBM DB2 Connect Personal Edition, Versión 7.2 IBM DB2 Connect Enterprise Edition, Versión 7.2 Se proporciona un archivo adicional de Notas del release, instalado como READCON.TXT, para los productos siguientes: IBM DB2 Connect Personal Edition, Versión 7.2 IBM DB2 Connect Enterprise Edition, Versión 7.2 Se dispone de documentación para el producto DB2 Life Sciences Data Connect, que se puede bajar, en el sitio de software de IBM: http://www.ibm.com/software/data/db2/lifesciencesdataconnect/ library.html. Se dispone de información en línea sobre este producto en http://www.ibm.com/software/data/db2/lifesciencesdataconnect. Se han actualizado los manuales siguientes para el FixPak 4 y los PDF más recientes están disponibles para bajarse en línea en http://www.ibm.com/software/data/db2/udb/winos2unix/support: Administration Guide Application Building Guide Application Development Guide Consulta de mandatos Data Recovery and High Availability Guide and Reference Centro de depósito de datos Administration Guide Consulta de mensajes Consulta de SQL DB2 Warehouse Manager Installation Guide La información contenida en estas notas es adicional a las consultas actualizadas. Toda la documentación actualizada también está disponible en CD. Se puede solicitar dicho CD a través del servicio de DB2 y utilizando el número de PTF U478862. Puede encontrar información sobre cómo ponerse en contacto con el Servicio de DB2 en http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/help.d2w/report. El manual Novedades contiene una visión general de algunas de las principales mejoras en DB2 de la Versión 7.2. Si no tiene la versión 7.2 del manual Novedades, la puede ver y bajar de http://www.ibm.com/software/data/db2/udb/winos2unix/support. Para conocer la información más reciente sobre la familia de productos DB2, obtenga una suscripción gratuita a la "Revista de DB2". La edición en línea de esta revista está disponible en http://www.db2mag.com; en este sitio también se indican las instrucciones para solicitar una suscripción. Nota: En estas Notas del release, cuando se hace referencia a Windows NT se incluye Windows 2000. La referencia incluye, además, Windows XP en el contexto de los productos listados en 4.5, Soporte para las plataformas Windows ME, Windows XP y Windows 2000 de Datacenter Edition, a menos que se especifique lo contrario. Nota: Una barra de revisión (|) en la parte izquierda de una página indica que la línea se ha añadido o modificado desde que se publicó por primera vez el manual Notas del release. ------------------------------------------------------------------------ Léame primero ------------------------------------------------------------------------ Características principales del FixPak 6 En este FixPak se ha añadido la información nueva siguiente. Esta lista no es exhaustiva, sino que resalta los cambios principales de la documentación. Asegúrese de examinar cualquier sección de las notas del release en relación con su entorno de trabajo a fin de mantenerse al día de todas las actualizaciones pertinentes. * 2.4, Limitación para el japonés en PTX * 2.12, Arreglo necesario para aplicaciones Java en AIX V4 * 4.3, Instalación de DB2 Enterprise-Extended Edition en AIX * 4.6, Instalación de DB2 en Windows 95 * 4.32, Configuración adicional necesaria antes de instalar el Centro de catálogos de información para la Web * 6.3.4, Capítulo 24. Configuración de un sistema federado para que acceder a varias fuentes de datos * 6.5, Cómo evitar problemas al trabajar con LOB remotos * 8.1.2, Claves de particionamiento * 8.2.1, Error SQL30081N no devuelto cuando se detecta pérdida de conexión * 8.3.3, Valores de fecha y hora * 10.4.1, Terminación del archivador de anotaciones cronológicas comprobada ahora más frecuentemente * 9.2, Nuevo método para especificar contenedores DMS en sistemas Windows 2000 y posteriores * 9.3, Ejemplo para ampliación del Centro de control * 25.4, Creación de procedimientos almacenados de Java para OS/390 utilizando Stored Procedure Builder * 28.8.1, Es posible crear una tabla lógicamente incoherente * 35.3, Consideraciones posteriores a la instalación para el agente iSeries * 36.11, Administración de fuente de datos * 36.13, Tabla de contabilidad de trabajos * 36.17, Información adicional para la herramienta de GUI de DB2 Query Patroller Tracker * 38.2, Notas adicionales para distribuir procedimientos de SQL compilados * 39.2, Requisitos nuevos para executeQuery y executeUpdate * 39.3, Soporte de controlador JDBC para métodos adicionales * 40.6.6.1, Privilegios para crear y depurar procedimientos SQL y Java almacenados * 42.3, SET SERVER OPTION - Error de documentación * 42.4, GRANT (Privilegios de tabla, vista o apodo) - Error de documentación * 42.8, Compatibilidad del tipo GRAPHIC y DATE/TIME/TIMESTAMP * 42.10, Sección de notas de la sentencia ALLOCATE CURSOR incorrecta * Apéndice N. Tablas de excepciones * 47.2, Soporte de DB2 Connect para transacciones acopladas libremente * 47.3, Soporte de Kerberos * 40.8.3, SQLGetData - Obtener datos de una columna ------------------------------------------------------------------------ Notas del producto ------------------------------------------------------------------------ 2.1 CPU soportadas en DB2 Versión 7 para Solaris Las versiones de CPU anteriores a UltraSparc no están soportadas. ------------------------------------------------------------------------ 2.2 Arreglo de entorno local chino en Red Flag Linux Si está utilizando Red Flag Linux Server Versión 1.1 en chino simplificado, póngase en contacto con Red Flag para recibir el arreglo de entorno nacional de chino simplificado. Sin el arreglo de entorno nacional de chino simplificado para la Versión 1.1, DB2 no reconoce que la página de códigos del chino simplificado es 1386. ------------------------------------------------------------------------ 2.3 Valor de entorno nacional adicional para DB2 para Linux en el entorno Linux en japonés y chino simplificado Cuando se desea utilizar las herramientas de la GUI de Java, se requiere un valor de entorno nacional adicional, como por ejemplo el Centro de control, en un sistema Linux en japonés o chino simplificado. Los caracteres en japonés y chino no se pueden visualizar correctamente sin este valor. Incluya el valor siguiente en el perfil de usuario o ejecútelo desde la línea de mandatos antes de cada invocación al Centro de control. Para un sistema en japonés: export LC_ALL=ja_JP Para un sistema en chino simplificado: export LC_ALL=zh_CN ------------------------------------------------------------------------ 2.4 Limitación para el japonés en PTX Si está ejecutando DB2 UDB en japonés en un sistema PTX, es posible que algunos de los procesos que utiliza DB2 no hereden la información correcta de entorno nacional. Si desea evitar que suceda esto, establezca manualmente las variables de registro DB2CODEPAGE y DB2COUNTRY para que correspondan al entorno nacional. ------------------------------------------------------------------------ 2.5 Problema del Centro de control de Microsoft Internet Explorer Hay un problema provocado por los valores de las opciones de seguridad de Internet Explorer (IE). El Centro de control utiliza espacios no firmados, por tanto el gestor de seguridad inhabilita el acceso a la información del sistema. Para eliminar este problema, reconfigure las opciones de seguridad de IE de la forma siguiente: 1. Seleccione Opciones de Internet en el menú Ver (IE4) o en el menú Herramientas (IE5). 2. En la página Seguridad, seleccione Sitios de confianza. 3. Pulse Agregar sitios.... 4. Añada el servidor Web del Centro de control a la lista de sitios de confianza. Si el servidor Web del Centro de control está en el mismo dominio, puede serle útil añadir sólo el nombre del servidor Web (sin el nombre de dominio). Por ejemplo: http://ccWebServer.ccWebServerDomain http://ccWebServer Nota: Cuando entre el URL, debe utilizar el prefijo https:// o deseleccionar la opción Se requiere verificación del servidor (https:) para todas las ubicaciones de esta zona para poder añadir la ubicación 5. Pulse en Aceptar. 6. Pulse Configuración...(IE4) o bien Personalizar nivel... (IE5).. 7. Desplácese a Java --> Permisos de Java y seleccione Personalizada. 8. Pulse Configuración de Java personal.... 9. Seleccione la página Editar permisos. 10. Desplácese hacia abajo hasta Contenido sin firmar --> Ejecutar el contenido sin firmar --> Permisos adicionales sin firmar --> Información del sistema y seleccione Activar. 11. Pulse Aceptar en cada ventana abierta. ------------------------------------------------------------------------ 2.6 Pérdida de funcionalidad del Centro de control En DB2 versión 7.2, los clientes del Centro de control de la Versión 6 anteriores al FixPak 6 y los clientes de la versión 7 anteriores al FixPak 7 pierden casi toda la funcionalidad cuando se utilizan con DB2 versión 7.2. Para arreglar este problema, actualice los clientes de la Versión 6 al FixPak 6 o posterior y los clientes de la Versión 7 al FixPak 2 o posterior. La aplicación del FixPak 2 a un servidor DB2 no debería provocar problemas a los clientes del Centro de control de nivel inferior. ------------------------------------------------------------------------ 2.7 El CD de Netscape no se suministra con DB2 UDB El CD de Netscape ya no se suministra con DB2 UDB. Los productos Netscape están disponibles en http://www.netscape.com. ------------------------------------------------------------------------ 2.8 Error en archivos readme de XML El archivo README.TXT correspondiente a DB2 XML Extender Versión 7.1 indica lo siguiente bajo "Consideraciones": 3. La versión por omisión de DB2 UDB es DB2 UDB Versión 7.1. Si desea utilizar DB2 UDB Versión 6.1 en AIX y Solaris, debe asegurarse de que está trabajando con una instancia de DB2 UDB V6.1 y con las bibliotecas de DB2 UDB V6.1. Esto es incorrecto. DB2 XML Extender sólo recibe soporte con DB2 Versión 7.1 y 7.2. Los archivos readme.aix, readme.nt y readme.sun listan los siguientes Requisitos de software: * DB2 UDB 6.1 con FP1_U465423 o superior (AIX) * DB2 Universal Database Versión 6.1 o superior con el FixPak 3 instalado (NT) * DB2 UDB Versión 6.1 con el FixPak FP1_U465424 o superior (Sun) Esto es incorrecto. DB2 XML Extender necesita DB2 Versión 7.1 ó 7.2. ------------------------------------------------------------------------ 2.9 Nuevas mejoras en Business Intelligence en DB2 Versión 7.2 En el manual Novedades de la Versión 7.2 y en otra documentación, se hace referencia a nuevas mejoras en Business Intelligence que se han añadido en la Versión 7.2. Estas mejoras estarán disponibles más adelante. ------------------------------------------------------------------------ 2.10 El FixPak 2A y posteriores ocasionan problemas en IBM DB2 OLAP Server Si utiliza IBM DB2 OLAP Server en UNIX, es posible que surjan problemas con DB2 OLAP Server después de instalar el FixPak 2A de DB2 Universal Database V7. El FixPak 2A, y los FixPak posteriores, instalan nuevos controladores ODBC que soportan UNICODE, pero DB2 OLAP Server no soporta estos nuevos controladores. La solución temporal de DB2 OLAP Server consiste en conmutar los archivos ODBC de forma que apunten a los controladores ODBC que no son UNICODE. Se ha cambiado el nombre de los controladores no UNICODE, añadiéndoles "_36". Por ejemplo, para Solaris, el nombre del controlador libdb2.so se ha cambiado por libdb2_36.so. Para obtener más información sobre cómo cambiar los controladores ODBC, consulte el apartado "Loading and Configuring ODBC for the SQL Interface" del capítulo 4, "Installing on AIX, Solaris Operating Environment, and HP-UX," de la publicación OLAP Setup and User's Guide. ------------------------------------------------------------------------ 2.11 Violación de la segmentación al utilizar WebSphere 3.5.5 Si ejecuta el perfil de usuario de ejemplo de WebSphere 3.5.5 con el FixPak 4 o posterior de DB2 V7.2 en Linux390, puede recibir una violación de segmentación SIGSEGV 11 (*). Este problema está relacionado con un defecto del JDK y se producirá tanto en el JDK 1.2.2 como en el JDK 1.3. El problema también puede afectar a otras aplicaciones JDBC. El release de servicio de noviembre del JDK 1.2.2 arregla este problema. El JDK 1.3 tendrá arreglo en su release de servicio de enero. Una solución alternativa para este problema es desactivar el JIT con el mandato siguiente: export JAVA_COMPILER=NONE ------------------------------------------------------------------------ 2.12 Arreglo necesario para aplicaciones Java en AIX V4 La aplicación Java que se ejecuta en AIX 4.3.3 puede terminar inesperadamente si el catálogo de archivos de kernel bos.mp o bos.up está en al nivel 4.3.3.77. Ejecute el mandato lslpp -l bos.ip bos.mp para determinar el nivel de arreglo del kernel. Se recomienda que todos los clientes de Java que ejecuten en AIX 4.3.3 actualicen a 4.3.3.78. Hay un arreglo disponible que actualizará el kernel al nivel sugerido. Necesitará obtener el arreglo para el APAR (Authorized Problem Analysis Report - Informe de análisis de problema autorizado) IY25282. Al instalar el arreglo para IY25282 se corregirá la condición de terminación de Java. Durante el primer trimestre de 2002, se pondrá en circulación un arreglo adicional utilizando el número de APAR IY26149. Tenga en cuenta que AIX 5.1C se envía con IY25377, que contiene el mismo arreglo. Si desea información y consejos adicionales, póngase en contacto con el Soporte de AIX. ------------------------------------------------------------------------ Notas para la documentación en línea (HTML, PDF y Búsqueda) ------------------------------------------------------------------------ 3.1 Navegadores de la Web soportados en el sistema operativo Windows 2000 Le recomendamos utilizar Microsoft Internet Explorer en Windows 2000. Si utiliza Netscape, tenga presente lo siguiente: * Las búsquedas en la información en línea de DB2 pueden tardar mucho en finalizar en Windows 2000 si se utiliza Netscape. Netscape utilizará todos los recursos de la CPU disponibles y parecerá que se ejecuta indefinidamente. Le recomendamos cambiar el enfoque pulsando sobre otra ventana después de someter la búsqueda mientras espera el resultado de la misma. Así, dicho resultado se obtendrá en un período de tiempo razonable. * Puede observar que, cuando se solicita ayuda, ésta se visualiza correctamente en una ventana del navegador Netscape, sin embargo, si se deja la ventana del navegador abierta y, más adelante, se solicita ayuda de una parte distinta del Centro de control, no cambia nada en el navegador. Si cierra la ventana del navegador y vuelve a solicitar ayuda, aparecerá la ayuda correcta. Puede resolver este problema siguiendo los pasos indicados en el apartado 3.4, Mensajes de error cuando se intenta ejecutar Netscape. También puede eludir el problema cerrando la ventana del navegador antes de solicitar ayuda para el Centro de control. * Cuando se solicita ayuda del Centro de control o un tema del Centro de información, se puede recibir un mensaje de error. Para resolverlo, siga los pasos indicados en el apartado 3.4, Mensajes de error cuando se intenta ejecutar Netscape. ------------------------------------------------------------------------ 3.2 Búsqueda en la información en línea de DB2 en Solaris Si tiene problemas al buscar en la información en línea de DB2 en Solaris, compruebe los parámetros del kernel del sistema en /etc/system. A continuación se proporcionan los parámetros de kernel mínimos necesarios para el sistema de búsqueda de DB2, NetQuestion: semsys:seminfo_semmni 256 semsys:seminfo_semmap 258 semsys:seminfo_semmns 512 semsys:seminfo_semmnu 512 semsys:seminfo_semmsl 50 shmsys:shminfo_shmmax 6291456 shmsys:shminfo_shmseg 16 shmsys:shminfo_shmmni 300 Para establecer un parámetro de kernel, añada una línea al final de /etc/system tal como se muestra a continuación: set = valor Debe rearrancar el sistema para que entre en vigor cualquier valor cambiado o nuevo. ------------------------------------------------------------------------ 3.3 Conmutación de NetQuestion para OS/2 para utilizar TCP/IP Las instrucciones para conmutar NetQuestion de modo que utilice TCP/IP en sistemas OS/2 están incompletas. La ubicación de los archivos *.cfg mencionados en dichas instrucciones es el subdirectorio de datos del directorio de instalación de NetQuestion. Se puede determinar el directorio de instalación de NetQuestion entrando uno de los mandatos siguientes: echo %IMNINSTSRV% //para instalaciones SBCS echo %IMQINSTSRV% //para instalaciones DBCS ------------------------------------------------------------------------ 3.4 Mensajes de error cuando se intenta ejecutar Netscape Si se le presenta los siguientes mensajes de error al intentar ejecutar Netscape: No se encuentra el archivo (o uno de sus componentes). Asegúrese que la vía de acceso y el nombre de archivo sean correctos y que estén disponibles todas las bibliotecas necesarias. No se puede abrir "D:\Archivos de programa\SQLLIB\CC\..\doc\html\db2help\XXXXX.htm" debe llevar a cabo los pasos siguientes para corregir este problema en Windows NT, 95 ó 98 (vea más adelante lo que debe hacer en Windows 2000): 1. En el menú Inicio, seleccione Programas --> Explorador de Windows. Se abrirá Explorador de Windows. 2. En Explorador de Windows, seleccione Ver --> Opciones. Se abrirá el cuaderno Opciones de carpeta. 3. Pulse la pestaña Tipos de archivo. Se abre la página Tipos de archivo. 4. Resalte Documento de hipertexto Netscape en el campo Tipos de archivo registrados y pulse Editar. Se abre la ventana Editar tipo de archivo. 5. Resalte "Abrir" en el campo Acciones. 6. Pulse el botón Editar. Se abre la ventana Acción de edición para tipo. 7. Deseleccione el recuadro de selección Utilizar DDE. 8. En el campo Aplicación utilizada para realizar la acción, asegúrese de que aparece "%1" en el mismo final de la serie (incluya las comillas y un espacio en blanco delante de la primera comilla). Si encuentra los mensajes en Windows 2000, debe realizar los pasos siguientes: 1. En el menú Inicio, seleccione Explorador de Windows. Se abrirá Explorador de Windows. 2. En Explorador de Windows, seleccione Herramientas --> Opciones de carpeta. Se abrirá el cuaderno Opciones de carpeta. 3. Pulse la pestaña Tipos de archivo. 4. En la página Tipos de archivo, en el campo Tipos de archivo registrados, resalte: Documento de hipertexto Netscape HTM y pulse Opciones avanzadas. Se abre la ventana Modificar tipo de archivo. 5. Resalte "open" en el campo Acciones. 6. Pulse el botón Editar. Se abre la ventana Acción de edición para este tipo. 7. Deseleccione el recuadro de selección Utilizar DDE. 8. En el campo Aplicación utilizada para realizar la acción, asegúrese de que aparece "%1" en el mismo final de la serie (incluya las comillas y un espacio en blanco delante de la primera comilla). 9. Pulse en Aceptar. 10. Repita los pasos 4 a 8 para los tipos de archivo Documento de hipertexto Netscape HTML y Documento de hipertexto Netscape SHTML. ------------------------------------------------------------------------ 3.5 Requisito de configuración para Adobe Acrobat Reader en sistemas basados en UNIX Acrobat Reader a menudo se ofrece en inglés en plataformas basadas en UNIX y se pueden devolver errores si se intentan abrir archivos PDG con entornos nacionales de idiomas distintos del inglés. Estos errores sugieren que existen problemas de acceso o extracción de font en el archivo PDF, pero en realidad se deben a que Acrobat Reader en inglés no puede funcionar correctamente con un entorno nacional de idioma que no sea inglés en UNIX. Para ver estos archivos PDF, conmute al entorno nacional inglés realizando uno de los pasos siguientes antes de ejecutar Acrobat Reader en inglés: * Edite el script de ejecución de Acrobat Reader, añadiendo la línea siguiente después de la sentencia #!/bin/sh del archivo de script de ejecución: LANG=C;export LANG Con este paso asegurará el funcionamiento correcto cuando otras aplicaciones, tales como el Navegador Netscape, o un menú de ayuda de aplicación utilicen Acrobat Reader. * Entre LANG=C en el indicador de mandatos para establecer el entorno de aplicación de Acrobat Reader en inglés. Para obtener más información, póngase en contacto con Adobe Systems (http://www.Adobe.com). ------------------------------------------------------------------------ 3.6 La Consulta de SQL se proporciona en un archivo PDF El apéndice "Utilización de la biblioteca DB2" de cada manual indica que el manual Consulta de SQL está disponible en formato PDF en dos volúmenes separados. Esta información no es correcta. Aunque el manual impreso aparece en dos volúmenes y los dos números de formulario correspondientes son correctos, sólo existe un archivo PDF y contiene los dos volúmenes. El nombre de archivo PDF es db2s0x70. ------------------------------------------------------------------------ Instalación y configuración Tabla de contenido parcial * Información general sobre la instalación, migración y configuración o 4.1 Bajada de los paquetes de instalación para todos los clientes de DB2 soportados o 4.2 Nivel de parche necesario adicional para Solaris o 4.3 Instalación de DB2 Enterprise-Extended Edition en AIX o 4.4 Soporte de directorios Netscape LDAP + 4.4.1 Ampliación del esquema de Netscape LDAP o 4.5 Soporte para las plataformas Windows ME, Windows XP y Windows 2000 de Datacenter Edition + 4.5.1 Windows XP + 4.5.1.1 Limitaciones + 4.5.2 Windows ME + 4.5.2.1 Limitaciones + 4.5.3 Servidor Windows 2000 de Datacenter o 4.6 Instalación de DB2 en Windows 95 o 4.7 Instalación de DB2 en Windows 2000 o 4.8 Ejecución de DB2 bajo Windows 2000 Terminal Server, Modalidad de administración o 4.9 Soporte de Microsoft SNA Server y SNA Multisite Update (Confirmación en dos fases) o 4.10 Definir el ID de usuario y la contraseña en IBM Communications Server para Windows NT (CS/NT) + 4.10.1 Definición de nodo o 4.11 La instalación de DB2 puede colgarse si no hay conectada ninguna unidad extraíble o 4.12 Error SQL1035N al utilizar CLP en Windows 2000 o 4.13 Consecuencia de la migración con respecto a las vistas definidas con registros especiales o 4.14 Soporte del protocolo IPX/SPX en Windows 2000 o 4.15 Detención de los procesos de DB2 antes de actualizar una versión anterior de DB2 o 4.16 Ejecución de db2iupdt después de instalar DB2 si ya hay otro producto DB2 instalado o 4.17 Configuración del entorno Linux para ejecutar el Centro de control de DB2 o 4.18 DB2 Universal Database Enterprise Edition y DB2 Connect Enterprise Edition para Linux en S/390 o 4.19 Posible pérdida de datos en Linux para S/390 o 4.20 Integración de escritorios Gnome y KDE para DB2 en Linux o 4.21 Parámetros de configuración de kernel de Solaris (valores recomendados) o 4.22 DB2 Universal Database Enterprise - Extended Edition for UNIX Quick Beginnings o 4.23 Parámetro de kernel shmseg para HP-UX o 4.24 Migración de las bases de datos de control de IBM Visual Warehouse o 4.25 Migración de índices exclusivos mediante el mandato db2uiddl o 4.26 Error de instalación de la versión de 64 bits de AIX + 4.26.1 Utilización de la SMIT o 4.27 Errores durante la migración o 4.28 Activación de licencias de IBM(R) DB2(R) Connect + 4.28.1 Instalación de la clave de licencia y establecimiento del tipo de licencia utilizando el Centro de licencias + 4.28.2 Instalación de la clave de licencia y establecimiento del tipo de licencia utilizando el mandato db2licm + 4.28.3 Consideraciones sobre licencias para instalaciones distribuidas o 4.29 Acceso a las bases de datos de control del depósito o 4.30 Productos de prueba en los CD-ROM de UNIX Enterprise Edition o 4.31 Productos de prueba en los CD-ROM de UNIX de DB2 Connect Enterprise Edition o 4.32 Configuración adicional necesaria antes de instalar el Centro de catálogos de información para la Web o 4.33 Información del soporte de página de códigos e idioma - Corrección * Data Links Manager Guía rápida de iniciación o 5.1 Soporte en AIX 5.1 o 5.2 Falla el inicio de dlfm con el mensaje: "Error al obtener el afsfid para el prefijo" o 5.3 Establecimiento de la clase de Tivoli Storage Manager para archivos de archivar o 5.4 Requisitos de espacio de disco para DFS Client Enabler o 5.5 Supervisión de los procesos de componente de fondo de DB2 Data Links File Manager en AIX o 5.6 Instalación y configuración de DB2 Data Links Manager para AIX: Consideraciones adicionales sobre la instalación en entornos DCE-DFS o 5.7 El mandato "dlfm add_prefix" ha fallado o 5.8 En las raras ocasiones en que el daemon de copia no se detiene en dlfm stop o 5.9 Instalación y configuración de DB2 Data Links Manager para AIX: Instalación de DB2 Data Links Manager en AIX utilizando el programa de utilidad db2setup o 5.10 Instalación y configuración de DB2 Data Links Manager para AIX: Tarea posterior a la instalación de DCE-DFS o 5.11 Instalación y configuración de DB2 Data Links Manager para AIX: Instalación manual de DB2 Data Links Manager en AIX utilizando la Smit o 5.12 Instalación y configuración de DB2 Data Links Manager DFS Client Enabler o 5.13 Instalación y configuración de DB2 Data Links Manager para Solaris o 5.14 Privilegios del grupo del administrador en Data Links en Windows NT o 5.15 Minimizar el registro cronológico para la instalación de Data Links File System Filter (DLFF) + 5.15.1 Anotación cronológica de mensajes después de la instalación + 5.15.2 Minimización de la anotación cronológica en los sistemas Sun Solaris o 5.16 Restauración de DATALINK o 5.17 Descarte de Data Links Manager o 5.18 La desinstalación de los componentes de DLFM utilizando la SMIT puede eliminar catálogos de archivos adicionales o 5.19 Antes de empezar/determinar el nombre del sistema principal o 5.20 Trabajo con Data Links File Manager: Borrado después de descartar un DB2 Data Links Manager de una base de datos de DB2 o 5.21 Acción del usuario para la anomalía de dlfm client_conf o 5.22 DLFM1001E (Nuevo mensaje de error) o 5.23 Opción de archivo de configuración de puesta a punto DLFM o 5.24 Problema potencial en la restauración de archivos o 5.25 Error al ejecutar el script de Data Links/DFS dmapp_prestart en AIX o 5.26 Integración de Tivoli Space Manager con Data Links + 5.26.1 Restricciones y limitaciones o 5.27 Capítulo 4. Instalación y configuración de DB2 Data Links Manager para AIX + 5.27.1 Consideraciones para la instalación + 5.27.1.1 Migración de DB2 File Manager Versión 5.2 a DB2 Data Links Manager Versión 7 o 5.28 Capítulo 6. Verificación de la instalación en AIX + 5.28.1 Soluciones temporales en entornos NFS * Suplemento de instalación y configuración o 6.1 Capítulo 5. Instalación de clientes DB2 en sistemas operativos UNIX + 6.1.1 Parámetros de configuración del kernel HP-UX o 6.2 Capítulo 12. Ejecución de sus propias aplicaciones + 6.2.1 Vinculación de programas de utilidad de bases de datos utilizando el Cliente de tiempo de ejecución + 6.2.2 Acceso de clientes UNIX a DB2 utilizando ODBC o 6.3 Capítulo 24. Configuración de un sistema federado para que acceder a varias fuentes de datos + 6.3.1 Sistemas federados + 6.3.2 Restricción + 6.3.3 Instalación de DB2 Relational Connect + 6.3.3.1 Instalación de DB2 Relational Connect en servidores Windows NT + 6.3.3.2 Instalación de DB2 Relational Connect en servidores UNIX + 6.3.4 Capítulo 24. Configuración de un sistema federado para que acceder a varias fuentes de datos + 6.3.4.1 Interpretación del esquema utilizado con los apodos + 6.3.4.2 Problemas al restaurar una base de datos federada en un servidor federado diferente o 6.4 Capítulo 26. Acceso a fuentes de datos Oracle + 6.4.1 Errores de la documentación o 6.5 Cómo evitar problemas al trabajar con LOB remotos o 6.6 Acceso a fuentes de datos Sybase + 6.6.1 Adición de fuentes de datos Sybase a un servidor federado + 6.6.1.1 Paso 1: Establecer las variables de entorno y actualizar el registro de perfiles (sólo AIX y Solaris) + 6.6.1.2 Paso 2: Enlazar DB2 al software cliente de Sybase (sólo AIX y Solaris) + 6.6.1.3 Paso 3: Reciclar la instancia de DB2 (sólo AIX y Solaris) + 6.6.1.4 Paso 4: Crear y configurar un archivo de interfaces + 6.6.1.5 Paso 5: Crear el reiniciador + 6.6.1.6 Paso 6: Opcional: Establecer la variable de entorno DB2_DJ_COMM + 6.6.1.7 Paso 7: Crear el servidor + 6.6.1.8 Paso 8: Opcional: Establecer la opción de servidor CONNECTSTRING + 6.6.1.9 Paso 9: Crear una correlación de usuario + 6.6.1.10 Paso 10: Crear apodos para tablas y vistas + 6.6.2 Especificación de páginas de códigos de Sybase o 6.7 Acceso a fuentes de datos Microsoft SQL Server mediante ODBC (capítulo nuevo) + 6.7.1 Adición de fuentes de datos Microsoft SQL Server a un servidor federado + 6.7.1.1 Paso 1: Establecer las variables de entorno (sólo en AIX) + 6.7.1.2 Paso 2: Ejecutar el script shell (sólo en AIX) + 6.7.1.3 Paso 3: Opcional: Establecer la variable de entorno DB2_DJ_COMM (sólo en AIX) + 6.7.1.4 Paso 4: Reciclar la instancia de DB2 (sólo en AIX) + 6.7.1.5 Paso 5: Crear el reiniciador + 6.7.1.6 Paso 6: Crear el servidor + 6.7.1.7 Paso 7: Crear una correlación de usuario + 6.7.1.8 Paso 8: Crear apodos para tablas y vistas + 6.7.1.9 Paso 9: Opcional: Obtener rastreos de ODBC + 6.7.2 Revisión de páginas de códigos de Microsoft SQL Server (sólo Windows NT) o 6.8 Acceso a fuentes de datos Informix (capítulo nuevo) + 6.8.1 Adición de fuentes de datos Informix a un servidor federado + 6.8.1.1 Paso 1: Establecer las variables de entorno y actualizar el registro de perfiles + 6.8.1.2 Paso 2: Enlazar con el software de cliente Informix de DB2 + 6.8.1.3 Paso 3: Reciclar la instancia de DB2 + 6.8.1.4 Paso 4: Crear el archivo sqlhosts de Informix + 6.8.1.5 Paso 5: Crear el reiniciador + 6.8.1.6 Paso 6: Opcional: Establecer la variable de entorno DB2_DJ_COMM + 6.8.1.7 Paso 7: Crear el servidor + 6.8.1.8 Paso 8: Crear una correlación de usuario + 6.8.1.9 Paso 9: Crear apodos para tablas, vistas y sinónimos de Informix ------------------------------------------------------------------------ Información general sobre la instalación, migración y configuración ------------------------------------------------------------------------ 4.1 Bajada de los paquetes de instalación para todos los clientes de DB2 soportados Para bajar los paquetes de instalación para todos los clientes DB2 soportados, que incluyen todos los clientes de las versiones anteriores a la Versión 7, conéctese al sitio Web de IBM DB2 FixPaks and Clients en http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/download.d2w/report. ------------------------------------------------------------------------ 4.2 Nivel de parche necesario adicional para Solaris DB2 Universal Database Versión 7 para Solaris Versión 2.6 necesita el parche 106285-02 o superior, además de los parches que se mencionan en el manual DB2 para UNIX Guía rápida de iniciación. ------------------------------------------------------------------------ 4.3 Instalación de DB2 Enterprise-Extended Edition en AIX El Paso 4, de la sección de Realización de la instalación del manual DB2 Enterprise-Extended Edition for UNIX Quick Beginnings, indica que debe asignar un sistema de archivos de CD-ROM entrando el mandato siguiente: crfs -v cdrfs -p ro -d cd0 Para que este mandato se realice satisfactoriamente, deberá especificar también el punto de montaje utilizando el mandato --m. crfs -v cdrfs -p ro -d cd0 -m /cdrom Asimismo, falta un paso en la sección de Realización de la instalación. Después del Paso 5, montaje del sistema de archivos de CD-ROM en la estación de trabajo de control, cada nodo que va a participar en el sistema de bases de datos particionadas debe montar el sistema de archivos de CD-ROM de forma remota. Suponiendo que /cdrom aún no exista en los nodos participantes, utilice los mandatos siguientes para exportar y montar de forma remota el sistema de archivos /cdrom en la estación de trabajo de control: exportfs -i -o ro /cdrom dsh mkdir /cdrom dsh mount nombresistpral_esttrabcont: /cdrom /cdrom donde nombresistpral_esttrabcont es el nombre de sistema principal de la estación de trabajo de control. ------------------------------------------------------------------------ 4.4 Soporte de directorios Netscape LDAP DB2 soporta la utilización de un directorio LDAP para la administración central y la consolidación de directorios de base de datos y nodos. En los releases anteriores de DB2, sólo se soportaban Microsoft Active Directory e IBM SecureWay Directory. Ahora DB2 también soporta los Servidores LDAP siguientes: Netscape Directory Server v4.12 o posterior, iPlanet(TM) Directory Server 5.0 o posterior 4.4.1 Ampliación del esquema de Netscape LDAP Las instrucciones siguientes son para Netscape Directory Server 4.1: El Netscape Directory Server permite que las aplicaciones amplíen el esquema añadiendo definiciones de clases de objetos y atributos a los dos archivos siguientes: slapd.user_oc.conf y slapd.user_at.conf. Estos dos archivos están ubicados en el directorio \slapd-\config. Los atributos de DB2 se deben añadir a slapd.user_at.conf del modo siguiente: Nota: En este contexto, bin, cis, ces y dn significan "binario", "serie no sensible a las mayúsculas y minúsculas", "serie sensible a las mayúsculas y minúsculas" y "nombre distinguido", respectivamente. : ############################################################################ # # IBM DB2 Universal Database V7.2 # Attribute Definitions # ############################################################################ attribute binProperty 1.3.18.0.2.4.305 bin attribute binPropertyType 1.3.18.0.2.4.306 cis attribute cesProperty 1.3.18.0.2.4.307 ces attribute cesPropertyType 1.3.18.0.2.4.308 cis attribute cisProperty 1.3.18.0.2.4.309 cis attribute cisPropertyType 1.3.18.0.2.4.310 cis attribute propertyType 1.3.18.0.2.4.320 cis attribute systemName 1.3.18.0.2.4.329 cis attribute db2nodeName 1.3.18.0.2.4.419 cis attribute db2nodeAlias 1.3.18.0.2.4.420 cis attribute db2instanceName 1.3.18.0.2.4.428 cis attribute db2Type 1.3.18.0.2.4.418 cis attribute db2databaseName 1.3.18.0.2.4.421 cis attribute db2databaseAlias 1.3.18.0.2.4.422 cis attribute db2nodePtr 1.3.18.0.2.4.423 dn attribute db2gwPtr 1.3.18.0.2.4.424 dn attribute db2additionalParameters 1.3.18.0.2.4.426 cis attribute db2ARLibrary 1.3.18.0.2.4.427 cis attribute db2authenticationLocation 1.3.18.0.2.4.425 cis attribute db2databaseRelease 1.3.18.0.2.4.429 cis attribute DCEPrincipalName 1.3.18.0.2.4.443 cis Las clases de objetos de DB2 se deben añadir al archivo slapd.user_oc.conf del modo siguiente: ############################################################################ # # IBM DB2 Universal Database V7.2 # Object Class Definitions # ############################################################################ objectclass eProperty oid 1.3.18.0.2.6.90 requires objectClass allows cn, propertyType, binProperty, binPropertyType, cesProperty, cesPropertyType, cisProperty, cisPropertyType objectclass eApplicationSystem oid 1.3.18.0.2.6.8 requires objectClass, systemName objectclass DB2Node oid 1.3.18.0.2.6.116 requires objectClass, db2nodeName allows db2nodeAlias, host, db2instanceName, db2Type, description, protocolInformation objectclass DB2Database oid 1.3.18.0.2.6.117 requires objectClass, db2databaseName, db2nodePtr allows db2databaseAlias, description, db2gwPtr, db2additionalParameters, db2authenticationLocation, DCEPrincipalName, db2databaseRelease, db2ARLibrary Después de añadir la definición del esquema de DB2, se debe reiniciar Directory Server para que se activen todos los cambios. ------------------------------------------------------------------------ 4.5 Soporte para las plataformas Windows ME, Windows XP y Windows 2000 de Datacenter Edition Ahora DB2 da soporte a las plataformas Microsoft Windows ME, Windows XP y Windows 2000 de Datacenter Edition. Seguidamente, se ofrece información adicional específica de cada plataforma. 4.5.1 Windows XP Los productos y las versiones siguientes dan soporte a los sistemas Windows XP de 32 bits en su instalación con el FixPak 4 o posterior: * IBM DB2 UDB Personal Edition Versión 7.2 * IBM DB2 Personal Developer's Edition Versión 7.2 * IBM DB2 Universal Developer's Edition Versión 7.2 * IBM DB2 Connect Personal Edition Versión 7.2 * IBM DB2 Connect Enterprise Edition Versión 7.2 * IBM DB2 UDB Workgroup Edition Versión 7.2 * IBM DB2 UDB Enterprise Edition Versión 7.2 * IBM DB2 Run-Time Client Versión 7.2 * IBM DB2 Administration Client Versión 7.2 * IBM DB2 Application Development Client Versión 7.2 DB2 da soporte a los mismos idiomas nacionales que en otras versiones en los sistemas Windows XP. 4.5.1.1 Limitaciones Cuando entre los ID de usuario y las contraseñas durante la instalación, puede que reciba un mensaje que le indique que una cuenta de usuario entrada en el panel de instalación no es válida, aunque sí lo sea. Esto sólo sucederá con los ID de usuario que existen en la máquina. No debería tener este problema al entrar nombres de usuario que todavía no existan. Si elige instalar DB2 bajo cualquier cuenta de usuario menos db2admin, debe asegurarse de que el nombre de cuenta se ajuste a las reglas de denominación de DB2. Lo que es más importante, el nombre no debe contener ningún espacio. Por ejemplo, mi_nombre es aceptable, pero mi nombre no lo es. Si recibe el error 1052 durante la instalación del producto, realice las acciones siguientes: 1. Deje abierta la ventana de error. 2. Abra una ventana de mandatos. 3. Ejecute el mandato db2start.exe. 4. Ejecute el mandato especificado en la ventana de error, utilizando la contraseña especificada para el usuario que se muestra en la línea de mandatos. 5. Vuelva a la ventana de error y pulse en Bien. Ahora continuará la instalación. Si utiliza el chino simplificado y encuentra que fonts del Centro de control no se visualizan correctamente, modifique sqllib\java\java12\jdk\jre\lib\font.properties.zh sustituyendo la entrada nombrearchivo.\u5b8b\u4f53=simsun.ttf por nombrearchivo.\u5b8b\u4f53=simsun.ttc. 4.5.2 Windows ME Los productos y las versiones siguientes dan soporte a Windows ME en su instalación con el FixPak 2 o posterior: * IBM DB2 UDB Personal Edition Versión 7.1 * IBM DB2 Personal Developer's Edition Versión 7.1 * IBM DB2 Universal Developer's Edition Versión 7.1 * IBM DB2 Connect Personal Edition Versión 7.1 * IBM DB2 Run-Time Client Versión 7.1 * IBM DB2 Administration Client Versión 7.1 * IBM DB2 Application Development Client Versión 7.1 4.5.2.1 Limitaciones La posibilidad Servidor de búsqueda HTML no está soportada en Windows ME en este momento. Cuando desinstale DB2, puede recibir un mensaje de error que le indique que no se puede encontrar el archivo MFC42U.DLL. Para desinstalar DB2 por completo, suprima manualmente el directorio sqllib una vez finalizada la actividad de desinstalación. 4.5.3 Servidor Windows 2000 de Datacenter Los productos de DB2 siguientes están certificados para el Servidor Windows 2000 de Datacenter, el Servidor Windows 2000 avanzado y el Servidor Windows 2000: * IBM DB2 Universal Database Enterprise - Extended Edition Versión 7.2 * IBM DB2 Universal Database Enterprise Edition 7.2 * IBM DB2 Database Workgroup Edition Versión 7.2 * IBM DB2 Connect Enterprise Edition Versión 7.2 ------------------------------------------------------------------------ 4.6 Instalación de DB2 en Windows 95 Si está instalando DB2 en un sistema Windows 95 no inglés, necesita actualizar manualmente la versión de Winsock a Winsock 2 antes de instalar DB2 UDB. El programa de utilidad de actualización a Winsock 2 está disponible en Microsoft. ------------------------------------------------------------------------ 4.7 Instalación de DB2 en Windows 2000 En Windows 2000, cuando instale sobre una versión anterior de DB2 o cuando reinstale la versión actual, asegúrese de que todas las opciones de recuperación para todos los servicios de DB2 estén establecidas en "No realizar ninguna acción". ------------------------------------------------------------------------ 4.8 Ejecución de DB2 bajo Windows 2000 Terminal Server, Modalidad de administración Para DB2 UDB Versión 7.1, FixPak 3 y posterior, DB2 se puede ejecutar bajo Windows 2000 Terminal Server, Modalidad de administración. Antes de esta versión, no podía ejecutar DB2 bajo la sesión Cliente de Windows 2000 Terminal Server, Modalidad administración. ------------------------------------------------------------------------ 4.9 Soporte de Microsoft SNA Server y SNA Multisite Update (Confirmación en dos fases) Las aplicaciones de sistema principal y AS/400 no pueden acceder a servidores DB2 UDB utilizando la confirmación en dos fases de SNA cuando el producto SNA que se está utilizando es Microsoft SNA Server. Cualquier publicación de DB2 UDB que indique que se soporta esta circunstancia es incorrecta. Se requiere IBM Communications Server para Windows NT Versión 5.02 o posteriores. Nota: Las aplicaciones que acceden a servidores de bases de datos de sistema principal y AS/400 utilizando DB2 UDB para Windows pueden utilizar la confirmación en dos fases de SNA usando el Service Pack 3 de Microsoft SNA Server Versión 4 o posteriores. ------------------------------------------------------------------------ 4.10 Definir el ID de usuario y la contraseña en IBM Communications Server para Windows NT (CS/NT) Si utiliza APPC como protocolo de comunicaciones para clientes DB2 remotos para conectarse al servidor DB2 y si utiliza CS/NT como producto SNA, asegúrese de que las palabras clave siguientes estén definidas correctamente en el archivo de configuración de CS/NT. Este archivo normalmente se encuentra en el directorio x:\ibmcs\private. 4.10.1 Definición de nodo TG_SECURITY_BEHAVIOR Este parámetro permite al usuario determinar cómo debe manejar el nodo la información de seguridad presente en ATTACH si el TP no está configurado para seguridad IGNORE_IF_NOT_DEFINED Este parámetro permite al usuario determinar si hay presentes parámetros de seguridad en ATTACH e ignorarlos si el TP no está configurado para seguridad. Si utiliza IGNORE_IF_NOT_DEFINED, no es necesario definir un ID de usuario y una contraseña en CS/NT. VERIFY_EVEN_IF_NOT_DEFINED Este parámetro permite al usuario determinar si hay presentes parámetros de seguridad en ATTACH y verificarlos incluso si el TP no está configurado para seguridad. Éste es el valor por omisión. Si utiliza VERIFY_EVEN_IF_NOT_DEFINED, debe definir un ID de usuario y una contraseña en CS/NT. Para definir el ID de usuario y la contraseña en CS/NT, realice los pasos siguientes: 1. Inicio --> Programas --> IBM Communications Server --> Configuración de nodo SNA. Se abrirá la ventana Bienvenido a Configuración de Communications Server. 2. Elija el archivo de configuración que desee modificar. Pulse Siguiente. Se abrirá la ventana Elegir un escenario de configuración. 3. Resalte CPI-C, APPC o Emulación 5250. Pulse Finalizar. Se abrirá la ventana Nodo SNA de Communications Server. 4. Pulse el [+] junto a CPI-C y APPC. 5. Pulse el [+] junto a Seguridad de LU6.2. 6. Pulse el botón derecho del ratón en Contraseñas de usuario y seleccione Crear. Se abrirá la ventana Definir ID de usuario y contraseña. 7. Rellene el ID de usuario y la contraseña. Pulse en Aceptar. Pulse Finalizar para aceptar los cambios. ------------------------------------------------------------------------ 4.11 La instalación de DB2 puede colgarse si no hay conectada ninguna unidad extraíble Durante la instalación de DB2, la instalación puede quedarse colgada después de seleccionar el tipo de instalación cuando se utiliza un sistema con una unidad extraíble que no esté conectada. Para solucionar este problema, ejecute setup, especificando la opción -a: setup.exe -a ------------------------------------------------------------------------ 4.12 Error SQL1035N al utilizar CLP en Windows 2000 Si DB2 está instalado en un directorio al que sólo algunos usuarios (por ejemplo, administradores) tienen acceso de grabación, un usuario normal puede recibir el error SQL1035N al intentar utilizar el procesador de línea de mandatos de DB2. Para solucionar este problema, DB2 debe instalarse en un directorio al que tengan acceso de grabación todos los usuarios. ------------------------------------------------------------------------ 4.13 Consecuencia de la migración con respecto a las vistas definidas con registros especiales Las vistas pasan a ser no utilizables después de una migración de base de datos si se utiliza el registro especial CURRENT SCHEMA para definir una columna de vista. Por ejemplo: create view v1 (c1) as values user En la Versión 5, USER y CURRENT SCHEMA eran del tipo de datos CHAR(8), pero desde la Versión 6, se han definido como VARCHAR(128). En este ejemplo, el tipo de datos para la columna c1 es CHAR si la vista se crea en la Versión 5 y seguirá siendo CHAR después de la migración de base de datos. Cuando la vista se utilice después de la migración, se compilará en el tiempo de ejecución, pero fallará porque el tipo de datos no coincidirá. La solución consiste en eliminar la vista y volverla a crear. Antes de desactivar la vista, capture la sintaxis utilizada para crearla consultando la vista de catálogo de SYSCAT.VIEWS. Por ejemplo: select text from syscat.views where viewname='<>' ------------------------------------------------------------------------ 4.14 Soporte del protocolo IPX/SPX en Windows 2000 Esta información hace referencia al capítulo sobre planificación de la instalación del manual Guía rápida de iniciación, en la sección denominada "Posibles escenarios de conectividad entre cliente y servidor". El diagrama de soporte de protocolos publicado no es totalmente correcto. No se soporta un cliente Windows 2000 conectado a cualquier servidor OS/2 o basado en UNIX mediante IPX/SPX. Asimismo, no se soporta ningún cliente OS/2 o basado en UNIX conectado a un servidor Windows 2000 mediante IPX/SPX. ------------------------------------------------------------------------ 4.15 Detención de los procesos de DB2 antes de actualizar una versión anterior de DB2 Esta información hace referencia a la información sobre migración del manual DB2 para Windows Guía rápida de iniciación. Si se está realizando una actualización de una versión anterior de DB2 que se está ejecutando en la máquina Windows, el programa de instalación proporciona un aviso que contiene una lista de los procesos que retienen DLL de DB2 en la memoria. En este punto, el usuario tiene la posibilidad de detener manualmente los procesos que aparecen en dicha lista, o bien puede dejar que el programa de instalación concluya dichos procesos de forma automática. Es aconsejable detener manualmente todos los procesos de DB2 antes de realizar la instalación, a fin de evitar una pérdida de datos. La mejor manera de asegurarse de que no se esté ejecutando ningún proceso de DB2 consiste en visualizar los procesos del sistema mediante el panel Servicios de Windows. En dicho panel, asegúrese de que no haya ningún servicio de DB2, de OLAP ni de Depósito de datos en ejecución. Nota: En un momento dado sólo puede haber una versión de DB2 ejecutándose en plataformas Windows. Por ejemplo, no se puede tener DB2 Versión 7 y DB2 Versión 6 ejecutándose en la misma máquina Windows. Si se instala DB2 Versión 7 en una máquina en la que ya está instalado DB2 Versión 6, el programa de instalación suprimirá DB2 Versión 6 durante la instalación. Para obtener más información sobre cómo migrar desde versiones anteriores de DB2, consulte el manual Guía rápida de iniciación adecuado. ------------------------------------------------------------------------ 4.16 Ejecución de db2iupdt después de instalar DB2 si ya hay otro producto DB2 instalado La siguiente información tenía que estar disponible en la documentación de instalación de la Guía rápida de iniciación. Cuando instale DB2 UDB Versión 7 en sistemas basados en UNIX, y si ya hay un producto DB2 instalado, tendrá que ejecutar el mandato db2iupdt para actualizar las instancias con las que pretende utilizar las nuevas características de este producto. Algunas de las características no estarán disponibles hasta que se ejecute este mandato. ------------------------------------------------------------------------ 4.17 Configuración del entorno Linux para ejecutar el Centro de control de DB2 Esta información se tenía que haber incluido en el capítulo "Instalación del Centro de control de DB2" del manual Guía rápida de iniciación. Después dejar el instalador de DB2 en Linux y volver a la ventana de terminal, escriba los mandatos siguientes para establecer el entorno correcto para ejecutar el Centro de control de DB2: su -l export JAVA_HOME=/usr/jdk118 export DISPLAY=:0 A continuación, abra otra ventana de terminal y escriba: su root xhost + Cierre esta ventana de terminal y vuelva al terminal en que ha iniciado una sesión con el ID de propietario de la instancia, y escriba el mandato: db2cc para iniciar el Centro de control. ------------------------------------------------------------------------ 4.18 DB2 Universal Database Enterprise Edition y DB2 Connect Enterprise Edition para Linux en S/390 DB2 Universal Database Enterprise Edition y DB2 Connect Enterprise Edition están ahora disponibles para Linux en S/390. Antes de instalar Linux en una máquina S/390, debería tener en cuenta los requisitos de software y hardware: Hardware S/390 9672 Generation 5 o posterior, Multiprise 3000. Software * SuSE Linux v7.0 para S/390 o Turbolinux Server 6 para zSeries y S/390 * nivel de kernel 2.2.16, con parches para S/390 (vea más abajo) * glibc 2.1.3 * libstdc++ 6.1 Para Linux en S/390 se necesitan los parches siguientes: * no se necesitan parches en este momento. Para las últimas actualizaciones, vaya al sitio Web http://www.software.ibm.com/data/db2/linux. Notas: 1. Sólo se da soporte a Linux en S/390 y Linux basados en Intel de 32 bits. 2. Los que se indican a continuación no están disponibles en Linux/390 en DB2 Versión 7: o DB2 UDB Enterprise - Extended Edition o DB2 Extenders o Data Links Manager o DB2 Administrative Client o Change Password Support o LDAP Support o TSM o Utilización de dispositivos en bruto ------------------------------------------------------------------------ 4.19 Posible pérdida de datos en Linux para S/390 Cuando se utiliza DB2 en Linux para S/390 con un kernel serie 2.2, la cantidad de RAM disponible en la máquina Linux debe estar limitada a menos de 1 GB. Al limitar la RAM a 1 GB se evita una posible pérdida de datos en DB2 debido a un problema en el kernel de Linux. Esto sólo afecta a DB2 en Linux para S/390, no a Linux en Intel. Se pondrá a disponibilidad de los usuarios un parche de kernel en el sitio de IBM devloperworks, después de lo cual será posible utilizar más de 1 GB de RAM. ------------------------------------------------------------------------ 4.20 Integración de escritorios Gnome y KDE para DB2 en Linux Ahora DB2 incluye una serie de programas de utilidad para la creación de carpetas de escritorio e iconos de DB2 para ejecutar las herramientas de DB2 que se utilizan con más frecuencia en los escritorios Gnome y KDE para las distribuciones Linux basadas en Intel soportadas. Estos programas de utilidad los instala DB2 Versión 7.2 por omisión y se pueden utilizar, tras la instalación para crear y eliminar iconos del escritorio para uno o más usuarios seleccionados. Para añadir un grupo de iconos de escritorio para uno o más usuarios, utilice el siguiente mandato: db2icons [ ...] Nota: Tenga en cuenta que si se generan iconos mientras se está ejecutando un entorno de escritorio Gnome o KDE, es posible que el usuario tenga que forzar una renovación manual del escritorio para ver los nuevos iconos. Para eliminar un grupo de iconos de escritorio para uno o más usuarios, utilice el siguiente mandato: db2rmicons [ ...] Nota: Debe tener suficiente autorización para generar o eliminar iconos para otros usuarios. Normalmente, db2icons y db2rmicons se pueden utilizar para crear o eliminar iconos para el propio usuario si se trata de un usuario normal y para otros únicamente si se trata del usuario root o de otro usuario con autorización de grabación en los directorios iniciales de los usuarios especificados. ------------------------------------------------------------------------ 4.21 Parámetros de configuración de kernel de Solaris (valores recomendados) La sección Before You Begin (Antes de empezar) incluida en el capítulo sobre Solaris de los manuales DB2 for UNIX Quick Beginnings y DB2 Enterprise - Extended Edition Quick Beginnings for UNIX proporciona los parámetros de configuración de kernel de Solaris recomendados. La tabla siguiente facilita recomendaciones adicionales sobre los parámetros de configuración de kernel, para los sistemas que disponen de más de 512 MB de memoria real. Tabla 1. Parámetros de configuración de kernel de Solaris (valores recomendados) Parámetro de kernel 512 MB-1 GB 1 GB-4 GB 4 GB+ msgsys:msginfo_msgmax 65.535 65.535 65.535 msgsys:msginfo_msgmnb 65.535 65.535 65.535 msgsys:msginfo_msgmap 514 1.026 2.050 msgsys:msginfo_msgmni 512 1.024 2.048 msgsys:msginfo_msgssz 16 32 64 msgsys:msginfo_msgtql 1.024 2.048 4.096 msgsys:msginfo_msgseg 32.767 32.767 32.767 shmsys:shminfo_shmmax 483.183.820 - 966.367.641 - 3.865.470.566 - 966.367.641 3.865.470.566 4.294.967.296 shmsys:shminfo_shmseg 50 100 200 shmsys:shminfo_shmmni 300 1.024 2.048 semsys:seminfo_semmni 1.024 2.048 4.198 semsys:seminfo_semmap 1.026 2.050 4.096 semsys:seminfo_semmns 2.048 4.096 8.192 semsys:seminfo_semmnu 2.048 4.096 8.192 semsys:seminfo_semume 50 50 50 Notas: 1. El límite del parámetro shmsys:shminfo_shmmax es de 4 GB para sistemas de 32 bits. 2. Los parámetros msgsys:msginfo_msgmnb y msgsys:msginfo_msgmax se deben establecer en 65.535 o en un valor superior. 3. El parámetro msgsys:msginfo_msgseg no se debe establecer en un valor superior a 32.767. 4. El parámetro shmsys:shminfo_shmmax se debe establecer en el valor sugerido en la tabla anterior o en un 90% de la memoria física (en bytes), el valor que sea más alto de los dos. Por ejemplo, si tiene 196 MB de memoria física en el sistema, establezca el parámetro shmsys:shminfo_shmmax en 184.968.806 (196*1024*1024*0,9). ------------------------------------------------------------------------ 4.22 DB2 Universal Database Enterprise - Extended Edition for UNIX Quick Beginnings En el Capítulo 5. Instalación y configuración de DB2 Universal Database en Linux se debería indicar que cada nodo físico de un clúster EEE de Linux debe tener los mismos niveles de kernel, glibc y libstdc++. Puede bajar una versión de prueba de DB2 EEE para Linux del siguiente sitio Web: http://www6.software.ibm.com/dl/db2udbdl/db2udbdl-p ------------------------------------------------------------------------ 4.23 Parámetro de kernel shmseg para HP-UX La información sobre la actualización de los parámetros de configuración del kernel de HP-UX que se suministra con el manual Quick Beginnings es incorrecta. El valor recomendado para el parámetro de kernel shmseg para HP-UX se debe pasar por alto. En su lugar, debe utilizarse el valor por omisión para HP-UX (120). ------------------------------------------------------------------------ 4.24 Migración de las bases de datos de control de IBM Visual Warehouse La publicación DB2 Universal Database Guía rápida de iniciación para Windows proporciona información sobre cómo se migra la base de datos de control del depósito activa durante una instalación típica de DB2 Universal Database Versión 7 en Windows NT y Windows 2000. Si tiene que migrar más de una base de datos de control del depósito, debe utilizar la ventana Gestión de bases de datos de control del depósito para migrar las bases de datos adicionales. Sólo puede haber una base de datos de control del depósito activa en cada momento. Si la última base de datos que migre no es la que pretende utilizar en su próximo inicio de sesión con el Centro de depósito de datos, debe utilizar la ventana Gestión de bases de datos de control del depósito para registrar la base de datos que pretende utilizar. ------------------------------------------------------------------------ 4.25 Migración de índices exclusivos mediante el mandato db2uiddl En el capítulo Tareas de migración posteriores a la instalación de DB2 del manual DB2 Guía rápida de iniciación, en el apartado Tareas posteriores a la migración opcionales, se indica que se debe utilizar el mandato db2uiddl para migrar índices exclusivos desde DB2 versión 5.x y DB2 versión 6. Esto es incorrecto. La migración de índices exclusivos utilizando el mandato db2uiddl sólo es necesaria si está migrando de una versión de DB2 anterior a la versión 5. ------------------------------------------------------------------------ 4.26 Error de instalación de la versión de 64 bits de AIX Si utiliza db2setup para instalar una imagen de 64 bits de AIX DB2 en un sistema operativo AIX que ya existe, asegúrese de utilizar versiones de AIX compatibles o la instalación fallará. No se puede instalar imágenes de AIX Versión 5 DB2 en un sistema operativo AIX Versión 4 existente. De forma parecida, la instalación de una imagen de AIX Versión 4 DB2 de 64 bits en un sistema operativo AIX Versión 5 existente también dará como resultado un error de instalación. Cuando se intenta instalar versiones de 64 bits de AIX que no son compatibles, el programa de utilidad db2setup busca la incoherencia de versiones en la comprobación de requisitos previos, dando como resultado un mensaje de error como el siguiente: DBI1008E Incoherencia entre las versiones del soporte de instalación y de AIX. Para evitar este error, asegúrese de instalar la versión de 64 bits de AIX correcta. 4.26.1 Utilización de la SMIT Si utiliza la SMIT, recibirá un error en la sustitución de AIX Versión 4 DB2 por AIX Versión 5 DB2; sin embargo, a la inversa no sucede. Por lo tanto, los usuarios de AIX Versión 5 de 64 bits se deben asegurar de instalar la versión correcta. Si se puede emitir db2setup, sin ningún mensaje de error, significa que la comprobación de compatibilidad de versiones de AIX ha resultado satisfactoria. Nota: Este error de incompatibilidad no es aplicable a la versiones de AIX de 32 bits. ------------------------------------------------------------------------ 4.27 Errores durante la migración Durante la migración, las entradas erróneas en el archivo db2diag.log (base de datos no migrada) aparecen incluso cuando la migración se realiza satisfactoriamente y se pueden ignorar. Cuando se utiliza Warehouse Control, los errores de Gestión de base de datos se anotan cronológicamente en el directorio SQLLIB\LOGGING. Los archivos IWH2RGn.LOG contienen información de cualquier error. Si existe un error, deberá corregirlo, suprimir la base de datos de control y empezar otra vez. En el caso de una base de datos de control existente, esto significa que necesitará utilizar la copia de seguridad. ------------------------------------------------------------------------ 4.28 Activación de licencias de IBM(R) DB2(R) Connect Los programas de instalación de DB2 Connect Enterprise Edition, DB2 Connect Unlimited Edition y DB2 Connect Web Starter Kit no instalan las licencias de los productos. Después de su instalación, estos productos funcionarán en modalidad Probar y comprar durante un período de 90 días, puesto que no disponen de los archivos de licencia. Después de dicho período de 90 días, el producto instalado dejará de funcionar a no ser que se active la licencia pertinente. Para activar una licencia para un producto, puede utilizar el Centro de licencias de DB2 o el mandato db2licm. 4.28.1 Instalación de la clave de licencia y establecimiento del tipo de licencia utilizando el Centro de licencias 1. Inicie el Centro de control de DB2 y seleccione Centro de licencias en el menú Herramientas. 2. Seleccione el sistema para el que está instalando una licencia. El campo Productos instalados mostrará el nombre del producto que tiene instalado. 3. Seleccione Añadir en el menú Licencia. 4. En la ventana Añadir licencia, seleccione el botón de selección Desde un archivo y seleccione un archivo de licencia: o En servidores Windows: x:\db2\license\connect\nombrearchivo_licencia donde x: representa la unidad de CD-ROM que contiene el CD del producto DB2 Connect. o En servidores UNIX: /db2/license/connect/nombrearchivo_licencia donde nombrearchivo_licencia para DB2 Connect Enterprise Edition y DB2 Connect Unlimited Edition es db2conee.lic, y para DB2 Connect Web Starter Kit es db2consk.lic. 5. Pulse Aplicar para añadir la clave de licencia. 6. Establecimiento del tipo de licencia. o Para DB2 Connect Unlimited Edition y DB2 Connect Web Starter Kit: En el Centro de licencias, seleccione Cambiar en el menú Licencia. En la ventana Cambiar licencia, seleccione el recuadro de selección Uso mesurado. Pulse Bien para cerrar la ventana Cambiar licencia y volver al Centro de licencias. Nota: Para DB2 Connect Web Starter Kit, asegúrese de que la fecha de caducidad esté establecidas en 270 días a partir del día que instaló el producto. o Para DB2 Connect Enterprise Edition: En el Centro de licencias, seleccione Cambiar en el menú Licencia. En la ventana Cambiar licencia, seleccione el tipo de licencia que ha adquirido. + Si ha adquirido una licencia de Usuarios simultáneos, seleccione Usuarios simultáneos de DB2 Connect y entre el número de licencia de usuario que ha adquirido. Nota: DB2 Connect Enterprise Edition proporciona una licencia para un usuario. Las licencias de usuario adicionales para DB2 Connect se deben adquirir por separado. + Si ha adquirido una licencia de Usuarios registrados, seleccione Usuarios registrados de DB2 Connect y pulse Bien para cerrar la ventana Cambiar licencia y volver al Centro de licencias. Pulse la pestaña Usuarios y añada cada uno de los ID de usuario para los que ha adquirido una licencia. 4.28.2 Instalación de la clave de licencia y establecimiento del tipo de licencia utilizando el mandato db2licm En lugar de utilizar el Centro de licencia, puede utilizar el mandato db2licm para añadir la clave de licencia. Para añadir la clave de licencia mediante el mandato db2licm: 1. En servidores Windows, entre el mandato siguiente: db2licm -a x:\db2\license\connect\nombrearchivo_licencia donde x: representa la unidad de CD-ROM que contiene el CD del producto DB2 Connect. En servidores UNIX, entre el mandato siguiente: db2licm -a db2/license/connect/nombrearchivo_licencia donde nombrearchivo_licencia para DB2 Connect Enterprise Edition y DB2 Connect Unlimited Edition es db2conee.lic, y para DB2 Connect Web Starter Kit es db2consk.lic. Nota: Para DB2 Connect Web Starter Kit, asegúrese de que la fecha de caducidad esté establecidas en 270 días a partir del día que instaló el producto. 2. Establecimiento del tipo de licencia: o Para DB2 Connect Unlimited Edition y DB2 Connect Web Starter Kit: Entre el mandato siguiente: db2licm -p db2conee measured o Para DB2 Connect Enterprise Edition: Si ha adquirido licencias de Usuarios simultáneos, entre los mandatos siguientes: db2licm -p db2conee concurrent db2licm -u N donde N representa el número de licencias de usuarios simultáneos que ha adquirido. Si ha adquirido licencias de Usuarios registrados, entre los mandatos siguientes: db2licm -p db2conee registered 4.28.3 Consideraciones sobre licencias para instalaciones distribuidas Si está creando una imagen para una instalación distribuida, deberá realizar arreglos especiales para instalar la licencia después de la instalación. Añada a los scripts de instalación distribuida los mandatos db2licm descritos anteriormente. ------------------------------------------------------------------------ 4.29 Acceso a las bases de datos de control del depósito En una instalación típica de DB2 Versión 7 en Windows NT, se crea una base de datos de control del depósito DB2 Versión 7, junto con el servidor de depósito. Si tiene una base de datos de control del depósito Visual Warehouse, debe actualizar el servidor DB2 que contiene la base de datos de control del depósito a DB2 Versión 7 para poder migrar los metadatos de la base de datos de control del depósito para uso del Centro de depósito de datos de DB2 Versión 7. Debe migrar todas las bases de datos de control del depósito que desee seguir utilizando a la Versión 7. Los metadatos de la base de datos de control del depósito activa se migran a la Versión 7 durante el proceso de instalación de DB2 Versión 7. Para migrar los metadatos de las bases de datos de control del depósito adicionales, utilice el programa de utilidad Warehouse Control Database Migration, que se inicia seleccionando Inicio --> Programas --> IBM DB2 --> Gestión de bases de datos de control del depósito en Windows NT. Para obtener información sobre cómo migrar las bases de datos de control del depósito, consulte la publicación DB2 Universal Database para Windows Guía rápida de iniciación. ------------------------------------------------------------------------ 4.30 Productos de prueba en los CD-ROM de UNIX Enterprise Edition Los CD-ROM de DB2 Universal Database (UDB) Enterprise Edition (EE) para plataformas UNIX Versión 6 y Versión 7 contienen una versión de prueba de 90 días de DB2 Connect Enterprise Edition (CEE). Puesto que la funcionalidad de DB2 Connect se crea sobre el producto DB2 UDB EE, no tiene que instalar el producto DB2 CEE en sistemas donde DB2 UDB EE está instalado para utilizar la funcionalidad de DB2 Connect. Si instala la versión de prueba de 90 días de DB2 CEE y decide actualizar a una versión con licencia, debe adquirir el producto DB2 CEE e instalar la clave de licencia de DB2 CEE. No tiene que volver a instalar el producto. Las instrucciones para instalar la clave de licencia se proporcionan en el manual DB2 EE o DB2 CEE para UNIX Guía rápida de iniciación. Si ha instalado el producto CEE de prueba conjuntamente con la instalación de EE y no desea instalar CEE permanentemente, puede eliminar la versión de prueba de 90 días de CEE siguiendo estas instrucciones. Si elimina la versión de prueba de Connect EE, todavía tendrá la funcionalidad de DB2 Connect disponible con DB2 EE. Para eliminar DB2 Connect Versión 7, desinstale los conjuntos de archivos siguientes desde las plataformas respectivas: * En AIX, desinstale el catálogo de archivos db2_07_01.clic. * En NUMA-Q y Entornos operativos Solaris, desinstale el paquete db2clic71. * En Linux, desinstale el RPM db2clic71-7.1.0-x. * En HP-UX, desinstale el catálogo de archivos DB2V7CONN.clic. Para eliminar DB2 Connect Versión 6, desinstale los conjuntos de archivos siguientes desde las plataformas respectivas: * En AIX, desinstale el catálogo de archivos db2_06_01.clic. * En NUMA-Q y Entornos operativos Solaris, desinstale el paquete db2cplic61. * En Linux, desinstale el RPM db2cplic61-6.1.0-x. * En HP-UX, desinstale el catálogo de archivos DB2V6CONN.clic. ------------------------------------------------------------------------ 4.31 Productos de prueba en los CD-ROM de UNIX de DB2 Connect Enterprise Edition Los CD-ROM de DB2 Connect Enterprise Edition (EE) para plataformas UNIX Versión 6 y Versión 7 contienen una versión de prueba de 90 días de DB2 Universal Database (UDB) Enterprise Edition (EE). La versión de prueba de 90 días de DB2 UDB EE se proporciona para su evaluación, pero no es necesaria para que funcione DB2 Connect. Si instala la versión de prueba de 90 días de DB2 UDB EE y decide actualizar a una versión con licencia, debe adquirir el producto DB2 UDB EE e instalar la clave de licencia de DB2 UDB EE. No tiene que volver a instalar el producto. Las instrucciones para instalar la clave de licencia se proporcionan en el manual DB2 EE o DB2 CEE para UNIX Guía rápida de iniciación. Si ha instalado el producto UDB EE de prueba conjuntamente con la instalación de Connect EE y no desea instalar UDB EE permanentemente, puede eliminar la versión de prueba de 90 días de EE siguiendo estas instrucciones. Si elimina la versión de prueba de DB2 UDB EE, no afectará a la funcionalidad de DB2 Connect EE. Para eliminar DB2 UDB EE Versión 7, desinstale los siguientes conjuntos de archivos desde las plataformas respectivas: * En AIX, desinstale el catálogo de archivos db2_07_01.elic. * En NUMA-Q y Entornos operativos Solaris, desinstale el paquete db2elic71. * En Linux, desinstale el RPM db2elic71-7.1.0-x. * En HP-UX, desinstale el catálogo de archivos DB2V7ENTP.elic. Para eliminar DB2 UDB EE Versión 6, desinstale los siguientes conjuntos de archivos desde las plataformas respectivas: * En AIX, desinstale el catálogo de archivos db2_06_01.elic. * En NUMA-Q y Entornos operativos Solaris, desinstale el paquete db2elic61. * En Linux, desinstale el RPM db2elic61-6.1.0-x. * En HP-UX, desinstale el catálogo de archivos DB2V6ENTP.elic. ------------------------------------------------------------------------ 4.32 Configuración adicional necesaria antes de instalar el Centro de catálogos de información para la Web Antes de instalar el Centro de catálogos de información para la Web, deberá copiar el archivo dg_strings.hti para el idioma que está instalando en el directorio /sqllib/icuweb/macro. Puede encontrar el archivo dg_strings.hti en el directorio de idioma correspondiente. En el apéndice de NLS de las Guías de iniciación rápida y de la mayoría de las demás publicaciones de DB2, puede encontrarse una lista de los códigos de idioma. ------------------------------------------------------------------------ 4.33 Información del soporte de página de códigos e idioma - Corrección La tabla Soporte de página de códigos e idioma contenida en el apéndice relativo a Soporte de idioma nacional (NLS) de los manuales Guía rápida de iniciación contiene los errores siguientes: * La cabecera de columna "Código de país" debe decir "Código de país/región" * La cabecera de columna "Idioma" debe decir "Idioma/Script" * El código para Eslovenia es "sl", y no "si" tal como se indica en la tabla ------------------------------------------------------------------------ Data Links Manager Guía rápida de iniciación ------------------------------------------------------------------------ 5.1 Soporte en AIX 5.1 Actualmente, los componentes Data Links File Manager y File Filter se soportan plenamente en AIX 5.1. Todas las herramientas e instrucciones asociadas a Enlaces de datos y soportadas previamente en releases anteriores de AIX se soportan ahora plenamente y son aplicables en AIX 5.1. ------------------------------------------------------------------------ 5.2 Falla el inicio de dlfm con el mensaje: "Error al obtener el afsfid para el prefijo" Si el inicio de dlfm para un Data Links Manager que se ejecute en el entorno DCE-DFS falla con el error que se indica a continuación, póngase en contacto con el servicio técnico de IBM: Error al obtener el afsfid para el prefijo Se puede producir este error cuando se ha suprimido un catálogo de archivos DFS registrado con el Data Links Manager utilizando "dlfm add_prefix". ------------------------------------------------------------------------ 5.3 Establecimiento de la clase de Tivoli Storage Manager para archivos de archivar Para especificar qué clase de gestión de TSM debe utilizarse para los archivos de archivar, establezca la entrada de registro DLFM_TSM_MGMTCLASS de DB2 en el nombre de clase de gestión apropiado. ------------------------------------------------------------------------ 5.4 Requisitos de espacio de disco para DFS Client Enabler DFS Client Enabler es un componente opcional que se puede seleccionar durante la instalación del cliente o servidor DB2 Universal Database. No se puede instalar DFS Client Enabler sin instalar un producto cliente o servidor DB2 Universal Database, a pesar de que DFS Client Enabler se ejecuta por sí mismo sin necesidad de un cliente o servidor DB2 UDB. Además de los 2 MB de espacio de disco necesario para el código de DFS Client Enabler, debe reservar 40 MB adicionales si instala DFS Client Enabler como parte de una instalación de Cliente de tiempo de ejecución de DB2. Necesitará más espacio de disco si instala DFS Client Enabler como parte de una instalación de DB2 Administration Client o servidor DB2. Para obtener más información sobre los requisitos de espacio de disco para productos DB2 Universal Database, consulte el manual DB2 para UNIX Guía rápida de iniciación. ------------------------------------------------------------------------ 5.5 Supervisión de los procesos de componente de fondo de DB2 Data Links File Manager en AIX Existe un cambio en la salida del mandato dlfm see. Cuando se emite este mandato para supervisar los procesos de componente de fondo del Data Links File Manager en AIX, la salida que se devuelve será parecida a la siguiente: PID PPID PGID RUNAME UNAME ETIME DAEMON NAME 17500 60182 40838 dlfm root 12:18 dlfm_copyd_(dlfm) 41228 60182 40838 dlfm root 12:18 dlfm_chownd_(dlfm) 49006 60182 40838 dlfm root 12:18 dlfm_upcalld_(dlfm) 51972 60182 40838 dlfm root 12:18 dlfm_gcd_(dlfm) 66850 60182 40838 dlfm root 12:18 dlfm_retrieved_(dlfm) 67216 60182 40838 dlfm dlfm 12:18 dlfm_delgrpd_(dlfm) 60182 1 40838 dlfm dlfm 12:18 dlfmd_(dlfm) La petición de DLFM SEE ha sido satisfactoria. El nombre incluido entre paréntesis es el nombre de la instancia dlfm, en este caso "dlfm". ------------------------------------------------------------------------ 5.6 Instalación y configuración de DB2 Data Links Manager para AIX: Consideraciones adicionales sobre la instalación en entornos DCE-DFS En el apartado titulado "Requisitos previos a la instalación", se debe añadir nueva información: También debe instalar un e-fix para DFS 3.1, o el conjunto de PTF 1 (cuando esté disponible). El e-fix está disponible en: http://www.transarc.com/Support/dfs/datalinks/efix_dfs31_main_page.html Asimismo: El cliente dfs se tiene que estar ejecutando antes de instalar el Data Links Manager. Utilice db2setup o smitty. En el apartado titulado "Archivo de tablas de claves", existe un error que se debe corregir de la forma siguiente: El archivo de tablas de claves, que contiene información de principal y contraseña, se debe llamar datalink.ktb y .... El nombre correcto: datalink.ktb se utiliza en el ejemplo que viene a continuación. El apartado "Archivo de tablas de claves" se debe mover al apartado "Tarea posterior a la instalación de DCE-DFS", puesto que no se puede producir la creación de este archivo hasta después de que se haya creado la instancia DLMADMIN. En el apartado titulado "Servidores y clientes de Data Links File Manager", se debe observar que el servidor Data Links Manager se debe instalar antes que cualquier cliente de Data Links Manager. Se debe añadir un nuevo apartado, "Directorio de copia de seguridad": Si el método de copia de seguridad es un sistema de archivos local, debe ser un directorio del sistema de archivos DFS. Asegúrese de que un administrador de DFS haya creado este catálogo de archivos. No debe ser un catálogo de archivos DMLFS. ------------------------------------------------------------------------ 5.7 El mandato "dlfm add_prefix" ha fallado Para un Data Links Manager que se ejecute en el entorno DCE/DFS, el mandato dlfm add_prefix puede fallar con el código de retorno -2061 (ha fallado la copia de seguridad). Si así sucede, lleve a cabo los pasos siguientes: 1. Detenga los procesos del daemon Data Links Manager emitiendo el mandato dlfm stop. 2. Detenga los procesos de DB2 emitiendo el mandato dlfm stopdbm. 3. Obtenga las credenciales del usuario root de dce emitiendo el mandato dce_login root. 4. Inicie los procesos de DB2 emitiendo el mandato dlfm startdbm. 5. Registre el catálogo de archivos con el Data Links Manager emitiendo el mandato dlfm add_prefix. 6. Inicie los procesos del daemon Data Links Manager emitiendo el mandato dlfm start. ------------------------------------------------------------------------ 5.8 En las raras ocasiones en que el daemon de copia no se detiene en dlfm stop En muy pocas situaciones puede pasar que dlfm_copyd (el daemon de copia) no se detenga cuando un usuario emite dlfm stop o se produce una conclusión anormal. Si esto sucede, emita un dlfm shutdown antes de intentar reiniciar dlfm. ------------------------------------------------------------------------ 5.9 Instalación y configuración de DB2 Data Links Manager para AIX: Instalación de DB2 Data Links Manager en AIX utilizando el programa de utilidad db2setup En el apartado "Base de datos DB2 DLFM_DB creada", no se crea DLFM_DB en el entorno DCE_DFS. Esto se debe hacer como paso posterior a la instalación. En el apartado "Registro previo al inicio de DCE-DFS para DMAPP", el Paso 2 se debe cambiar por el siguiente: 2. Se añaden mandatos a /opt/dcelocal/tcl/user_cmd.tcl para asegurar que DMAPP se inicia cuando se inicia DFS. ------------------------------------------------------------------------ 5.10 Instalación y configuración de DB2 Data Links Manager para AIX: Tarea posterior a la instalación de DCE-DFS Se debe añadir el siguiente apartado nuevo, "Completar la instalación del Data Links Manager": En el servidor Data Links Manager, se deben realizar los pasos siguientes para completar la instalación: 1. Cree el archivo de tablas de claves tal y como se ha descrito en "Archivo de tablas de claves" del apartado "Consideraciones de instalación adicionales en el entorno de DCE-DFS", del capítulo "Instalación y configuración de DB2 Data Links Manager para AIX". 2. Como usuario root, entre los mandatos siguientes para iniciar DMAPP: stop.dfs all start.dfs all 3. Ejecute "dlfm setup" utilizando las credenciales del usuario root de dce, tal como sigue: a. Inicie una sesión como administrador de Data Links Manager, DLMADMIN. b. Como usuario root, emita dce_login. c. Entre el mandato: dlfm setup. En el cliente de Data Links Manager, se deben realizar los pasos siguientes para completar la instalación: 1. Cree el archivo de tablas de claves tal y como se ha descrito en "Archivo de tablas de claves" del apartado "Consideraciones de instalación adicionales en el entorno de DCE-DFS", del capítulo "Instalación y configuración de DB2 Data Links Manager para AIX". 2. Como usuario root, entre los mandatos siguientes para iniciar DMAPP: stop.dfs all start.dfs all ------------------------------------------------------------------------ 5.11 Instalación y configuración de DB2 Data Links Manager para AIX: Instalación manual de DB2 Data Links Manager en AIX utilizando la Smit En el apartado, "Tareas posteriores a la instalación de la SMIT", modifique el paso 7 para indicar que se debe emitir el mandato "dce_login root" antes que "dlfm setup". El paso 11 no es necesario. Este paso se realiza automáticamente cuando se lleva a cabo el Paso 6 (dlfm server_conf) o el Paso 8 (dlfm client_conf). Elimine también el paso 12 (dlfm start). Para completarla instalación, lleve a cabo los pasos siguientes: 1. Cree el archivo de tablas de claves tal y como se ha descrito en "Archivo de tablas de claves" del apartado "Consideraciones de instalación adicionales en el entorno de DCE-DFS", del capítulo "Instalación y configuración de DB2 Data Links Manager para AIX". 2. Como usuario root, entre los mandatos siguientes para iniciar DMAPP: stop.dfs all start.dfs all ------------------------------------------------------------------------ 5.12 Instalación y configuración de DB2 Data Links Manager DFS Client Enabler En el apartado "Configuración de un DFS Client Enabler", añada la información siguiente al Paso 2: Normalmente, una ejecución de mandatos "secval" completará la configuración. No obstante, puede ser necesario rearrancar también la máquina. Si se encuentran problemas al acceder a archivos READ PERMISSION DB, rearranque la máquina en que se acaba de instalar DB2 DFS Client Enabler. ------------------------------------------------------------------------ 5.13 Instalación y configuración de DB2 Data Links Manager para Solaris Las acciones siguientes deben efectuarse después de instalar DB2 Data Links Manager para Solaris: 1. Añada las tres líneas siguientes al archivo /etc/system: set dlfsdrv:glob_mod_pri=0x100800 set dlfsdrv:glob_mesg_pri=0xff set dlfsdrv:ConfigDlfsUid=UID donde UID representa el ID de usuario del id dlfm. 2. Vuelva a arrancar la máquina para activar los cambios. ------------------------------------------------------------------------ 5.14 Privilegios del grupo del administrador en Data Links en Windows NT En Windows NT, el usuario dlmadmin tiene los mismos privilegios, con respecto a los archivos que se enlazan utilizando DataLinks, que un usuario root tiene en UNIX para la mayoría de las funciones. La tabla siguiente compara ambas situaciones. Operación Unix (root) Windows NT (dlmadmin) Redenominar Sí Sí Archivo de acceso sin Sí Sí señal Suprimir Sí No (vea la nota que hay más abajo) Actualizar Sí No (vea la nota que hay más abajo) Nota: NTFS no acepta estas operaciones para un archivo de sólo lectura. El usuario dlmadmin puede efectuar estas operaciones de modo satisfactorio habilitando el permiso de grabación para el archivo. ------------------------------------------------------------------------ 5.15 Minimizar el registro cronológico para la instalación de Data Links File System Filter (DLFF) Puede minimizar el registro cronológico para la instalación de Data Links File System Filter (DLFF) cambiando el archivo dlfs_cfg . El archivo dlfs_cfg se pasa a la rutina strload para cargar los parámetros de controlador y configuración. El archivo está ubicado en el directorio /usr/lpp/db2_07_01/cfg/. Por medio de un enlace simbólico, el archivo también puede hallarse en el directorio /etc. El archivo dlfs_cfg tiene el formato siguiente: d - 0 1 donde: d Especifica que ha de cargarse el controlador. nombre-controlador Es la vía de acceso completa al controlador que ha de cargarse. Por ejemplo, la vía de acceso completa para DB2 Versión 7 es /usr/lpp/db2_07_01/bin/dlfsdrv. El nombre del controlador es dlfsdrv. número vfs Es la entrada de vfs para DLFS en /etc/vfs. id dlfm Es el ID de usuario del administrador de DataLinks Manager. prioridad mensaje global Éste es un parámetro configurable del controlador DLFS. Define la lista de categorías de mensajes que se anotarán en el archivo de anotaciones cronológicas del sistema. prioridad módulo global Éste es un parámetro configurable del controlador DLFS. Define la lista de rutinas de controlador, operaciones de VFS y operaciones de Vnode que se anotarán en el archivo de anotaciones cronológicas del sistema. 0 1 Son los números secundarios para la creación de nodos no clónicos para este controlador. Los nombres de nodo se crean agregando el número secundario al nombre de nodo de controlador clonado. No pueden proporcionarse más de cinco números secundarios (0-4). Un ejemplo tendría esta apariencia: d /usr/lpp/db2_07_01/bin/dlfsdrv 14,208,255,-1 - 0 1 Los mensajes que se registren cronológicamente dependen de los valores para la prioridad global del mensaje y para la prioridad global del módulo. Para minimizar la anotación cronológica, puede cambiar el valor para la prioridad global del mensaje. Hay cuatro valores de prioridad de mensaje que pueden utilizarse: #define LOG_EMERGENCY 0x01 #define LOG_TRACING 0x02 #define LOG_ERROR 0x04 #define LOG_TROUBLESHOOT 0x08 La mayoría de los mensajes de DLFF tienen LOG_TROUBLESHOOT como prioridad de mensajes. Aquí mostramos algunos ejemplos de configuración alternativos: Si necesita mensajes de emergencia y mensajes de error, establezca la prioridad global del mensaje en 5 (1+4) en el archivo de configuración dlfs_cfg: d /usr/lpp/db2_07_01/bin/dlfsdrv 14,208,5,-1 - 0 1 Si sólo se necesitan mensajes de error, establezca la prioridad global del mensaje en 4: d /usr/lpp/db2_07_01/bin/dlfsdrv 14,208,4,-1 - 0 1 Si no requiere anotación cronológica para DLFS, establezca la prioridad global del mensaje en 0: d /usr/lpp/db2_07_01/bin/dlfsdrv 14,208,0,-1 - 0 1 5.15.1 Anotación cronológica de mensajes después de la instalación Si necesita anotar cronológicamente mensajes de emergencia, error y resolución de problemas después de la instalación, debe modificar el archivo dlfs_cfg. El archivo dlfs_cfg está ubicado en el directorio /usr/lpp/db2_07_01/cfg. La prioridad global del mensaje debe establecerse en 255 (prioridad máxima) o en 13 (8+4+1). Establecer la prioridad en 13 (8+4+1) registrará cronológicamente información de emergencia, error y resolución de problemas. Después de establecer la prioridad global del mensaje, desmonte el sistema de archivos de filtro DLFS y vuelva a cargar el controlador dlfsdrv para que los valores de prioridad nuevos se establezcan en el momento de la carga. Después de volver a cargar el controlador dlfsdrv, debe volverse a montar el sistema de archivos de filtro DLFS. Nota: Los valores para dlfs_cfg permanecerán para cualquier carga sucesiva del controlador dlfsdrv hasta que se vuelva a modificar el archivo dlfs_cfg. 5.15.2 Minimización de la anotación cronológica en los sistemas Sun Solaris El archivo dlfs_cfg no existe en los sistemas Sun(TM) Solaris(TM). En su lugar, el archivo del sistema /etc/syslog.conf contiene la información utilizada por el daemon de anotaciones cronológicas del sistema (syslogd) para reenviar un mensaje del sistema a los archivos de anotaciones cronológicas apropiados. Es posible minimizar la anotación cronológica para la instalación de DLFF comentando las entradas de kern.notice y kern.debug en /etc/syslog.conf. Después, debe detener e iniciar syslogd a fin de que los cambios sean efectivos. Para reactivar la anotación cronológica de todos los errores y avisos del kernel, debe descomentar las entradas de kern.notice y kern.debug en /etc/syslog.conf y, después, detener e iniciar syslogd otra vez. ------------------------------------------------------------------------ 5.16 Restauración de DATALINK La restauración de cualquier copia de seguridad fuera de línea que se haya realizado después de una restauración de base de datos, con o sin recuperación de avance, no implicará proceso de conciliación rápida. En tales casos, todas las tablas con columnas DATALINK bajo control de enlace de archivo pasarán a estado pendiente de reconciliación de enlace de datos (DRP). ------------------------------------------------------------------------ 5.17 Descarte de Data Links Manager Ahora se puede descartar DB2 Data Links Manager para una base de datos especificada. El proceso de algunas peticiones de SQL relacionados con Data Links, así como también programas de utilidad, por ejemplo copia de seguridad y restauración, implican la comunicación con todos los DLM configurados en una base de datos. Previamente, DB2 no tenía la capacidad de descartar un DLM configurado aunque no hubiera sido operativo. Esto ocasionaba una actividad general en el proceso de programas de utilidad y SQL. Cuando se añadía un DLM, el motor se comunicaba con el mismo en el proceso de peticiones, lo que puede haber ocasionado la anomalía de algunas peticiones de SQL (por ejemplo, descartar tabla/espaciotabla/basedatos). ------------------------------------------------------------------------ 5.18 La desinstalación de los componentes de DLFM utilizando la SMIT puede eliminar catálogos de archivos adicionales Antes de desinstalar DB2 (Versiones 5, 6 ó 7) de una máquina AIX en la que está instalado Data Links Manager, siga estos pasos: 1. Como root, haga una copia de /etc/vfs utilizando el mandato: cp -p /etc/vfs /etc/vfs.bak 2. Desinstale DB2. 3. Como root, sustituya /etc/vfs con la copia de seguridad creada en el paso 1: cp -p /etc/vfs.bak /etc/vfs ------------------------------------------------------------------------ 5.19 Antes de empezar/determinar el nombre del sistema principal Es necesario determinar los nombres de cada uno de los servidores DB2 y servidores Data Links. Será necesario conocer estos nombres de sistema principal para verificar la instalación. Al conectar con un DB2 Data Links File Manager, el servidor DB2 UDB envía internamente la información siguiente al DLFM: * Nombre de base de datos * Nombre de instancia * Nombre de sistema principal Luego el DLFM compara esta información con sus tablas internas para determinar si debe permitirse la conexión. Permitirá la conexión sólo si esta combinación de nombre de base de datos, nombre de instancia y nombre de sistema principal se ha registrado con él mismo, utilizando el mandato dlfm add_db. El nombre de sistema principal que se utiliza en el mandato dlfm add_db debe coincidir exactamente con el que envía internamente el servidor DB2 UDB. Utilice el nombre de sistema principal exacto que se obtiene del modo siguiente: 1. Entre el mandato hostname en el servidor DB2. Por ejemplo, este mandato puede devolver db2server. 2. Dependiendo de la plataforma, lleve a cabo una de las acciones siguientes: o En AIX, entre el mandato host db2server, donde db2server es el nombre obtenido en el paso anterior. Este mandato debe devolver una salida parecida a la siguiente: db2server.services.com is 9.11.302.341, Alias: db2server o En Windows NT, entre el mandato nslookup db2server, donde db2server es el nombre obtenido en el paso anterior. Este mandato debe devolver una salida parecida a la siguiente: Servidor: dnsserv.services.com Dirección: 9.21.14.135 Nombre: db2server.services.com Dirección: 9.21.51.178 o En Solaris, entre cat /etc/hosts | grep 'nombresistemaprincipal'. Esto debe devolver una salida parecida a la siguiente si el nombre de sistema principal se especifica sin un nombre de dominio en /etc/hosts: 9.112.98.167 db2server loghost Si se especifica el nombre de sistema principal con un nombre de dominio, el mandato devuelve una salida parecida a la siguiente: 9.112.98.167 db2server.services.com loghost Utilice db2server.services.com para el nombre de sistema principal cuando registre una base de datos de DB2 UDB utilizando el mandato dlfm add_db. Las conexiones internas del servidor DB2 con el DLFM fallarán si se utilizan otros alias en el mandato dlfm add_db. Un servidor Data Links se registra en una base de datos de DB2 utilizando el mandato de DB2 "add datalinks manager for database alias_basedatos using node hostname port número_puerto". El nombre de sistema principal es el nombre del servidor Data Links. En este mandato se puede utilizar cualquier alias válido del servidor Data Links. Los valores DATALINK que son referencias a este servidor Data Links deben especificar el nombre de sistema principal en el valor de URL; es decir, debe utilizarse el nombre exacto que se ha utilizado en el mandato "add datalinks manager" al asignar valores de URL a columnas DATALINK. La utilización de un alias distinto ocasionará una anomalía en la sentencia de SQL. ------------------------------------------------------------------------ 5.20 Trabajo con Data Links File Manager: Borrado después de descartar un DB2 Data Links Manager de una base de datos de DB2 Cuando se descarta un DB2 Data Links Manager de una base de datos utilizando el mandato DROP DATALINKS MANAGER, el comando por sí mismo no limpia la información correspondiente en DB2 Data Links Manager. Los usuarios pueden iniciar explícitamente el desenlace de cualquier archivo enlazado a la base de datos y la recogida de desechos de información de copia de seguridad. Esto se puede llevar a cabo utilizando el mandato dlfm drop_dlm. Este mandato inicia la supresión asíncrona de toda la información para una base de datos específica. El DB2 Data Links Manager debe estar ejecutándose para que este mandato sea satisfactorio. Es sumamente importante que este mandato se utilice únicamente después de descartar un DB2 Data Links Manager; de lo contrario, se perderá información importante sobre DB2 Data Links Manager y no se podrá recuperar. Para iniciar el proceso de desenlace y de recogida de desechos de información de copia de seguridad para una base de datos específica: 1. Inicie una sesión en el sistema como Administrador de DB2 Data Links Manager. 2. Emita el mandato siguiente: dlfm drop_dlm basedatos instancia nombresistemaprincipal donde: basedatos es el nombre de la base de datos de DB2 UDB remota; instancia es la instancia bajo la que reside la base de datos y nombresistemaprincipal es el nombre del sistema principal del servidor DB2 UDB en el que reside la base de datos. 3. Finalice la sesión. Para obtener un marco hipotético completo sobre la utilización que muestre el contexto en el que debe utilizarse este mandato, consulte el manual Consulta de mandatos. Se ha creado un nuevo código de error para este mandato (consulte 5.22, DLFM1001E (Nuevo mensaje de error)). ------------------------------------------------------------------------ 5.21 Acción del usuario para la anomalía de dlfm client_conf Si, en un cliente DLFM, falla dlfm client_conf por algún motivo, la razón puede ser que existan entradas "obsoletas" en los catálogos de DB2. La solución consiste en emitir los mandatos siguientes: db2 uncatalog db db2 uncatalog node db2 terminate A continuación, vuelva a intentar dlfm client_conf. ------------------------------------------------------------------------ 5.22 DLFM1001E (Nuevo mensaje de error) DLFM1001E: Error en el proceso de drop_dlm Causa: El Data Links Manager no ha podido iniciar el proceso de desenlace y recogida de desechos para la base de datos especificada. Este puede suceder debido a cualquiera de las razones siguientes: * El Data Links Manager no se está ejecutando. * Se ha especificado una combinación no válida de base de datos, instancia y nombre de sistema principal. * Se ha producido una anomalía en uno de los servicios componentes del Data Links Manager. Acción: Realice los pasos siguientes: 1. Asegúrese de que el Data Links Manager se esté ejecutando. Inicie el Data Links Manager si todavía no se está ejecutando. 2. Asegúrese de que la combinación de base de datos, instancia y nombre de sistema principal identifica una base de datos registrada. Puede hacerlo utilizando el mandato "dlfm list registered databases" en el Data Links Manager. 3. Si todavía se produce un error, consulte la información que se encuentra en el archivo db2diag.log para ver si alguno de los servicios componentes (por ejemplo, el Servicio de gestión de conexiones, el Servicio de gestión de transacciones, etc.) ha sido anómalo. Anote el código de error de db2diag.log y efectúe las acciones oportunas que se sugieren bajo dicho código de error. ------------------------------------------------------------------------ 5.23 Opción de archivo de configuración de puesta a punto DLFM Se ha eliminado la opción dlfm.cfg de puesta a punto de dlfm. Debe hacerse caso omiso a las referencias a la misma que aparezcan en la documentación. ------------------------------------------------------------------------ 5.24 Problema potencial en la restauración de archivos Problema: Cuando versiones diferentes del mismo archivo se enlazan con una base de datos en ocasiones diferentes, el daemon Data Links File Manager (DLFM) de recuperación no recupera la versión correcta del archivo desde un archivo de archivar al restaurarse la base de datos. Antecedentes: Cuando se restaura una base de datos a partir de una imagen de copia de seguridad, los archivos que estaban enlazados con esa imagen de copia de seguridad también se restauran en el sistema de archivos de Data Links Manager (DLFS) desde el archivo de archivar. Así funciona el proceso de recuperación y restauración de Data Links Manager. * Si los atributos de tamaño y hora de la última modificación pertenecientes a la versión actual de un archivo en disco son diferentes de los atributos del archivo que debe restaurarse desde el archivo de archivar, el archivo actual en disco se trata como una versión diferente del archivo. El archivo actual en disco se guarda como nombrearchivo.MOD, y se restaura la versión original del archivo desde el archivo de archivar de DLFM. Por ejemplo, si el nombre del archivo actual es abc, entonces abc se copia en abc.MOD. * Si los atributos de tamaño y hora de la última modificación pertenecientes al archivo actual en disco son los mismos que tiene el archivo que debe restaurarse desde el archivo de archivar, el daemon Data Links de recuperación supone que el archivo no se ha modificado y no restaurará la versión del archivo desde el archivo de archivar. Importante: Es posible modificar un archivo, pero no lo es hacer que cambien los atributos de tamaño y hora de la última modificación. Tales "modificaciones ocultas" se llevan a cabo efectuando un cambio que no afecta al tamaño del archivo y luego restableciendo el atributo de hora de la última modificación en el del archivo original. Ejemplo: Suponga que tiene una base de datos denominada DBTEST y que ésta contiene una tabla con una columna DATALINK. Se realizan entonces las tareas siguientes, por el orden listado: 1. Crear un archivo denominado archivoA en un volumen montado con DLFS. Ésta es la primera versión del archivo. 2. Insertar la referencia al archivoA (un URL) en la base de datos DBTEST. 3. Realizar una copia de seguridad de la base de datos DBTEST. 4. Suprimir la referencia al archivoA de la base de datos DBTEST. 5. Suprimir el archivoA del volumen montado con DLFS. 6. Crear otro archivo denominado archivoA en el volumen montado con DLFS. Ésta es la segunda versión del archivo. 7. Insertar la referencia al archivoA (un URL) en la base de datos DBTEST. 8. Restaurar la base de datos DBTEST a partir de la imagen de copia de seguridad. El Daemon DLFM de recuperación copia la segunda versión del archivoA en archivoA.MOD y luego copia la primera versión del archivoA desde el archivo de archivar en el volumen montado con DLFS como la versión de trabajo del archivoA. No obstante, si ambas versiones del archivoA tienen los mismos atributos de tamaño y hora de la última modificación, el Daemon DLFM de recuperación no hace nada, ya que supone que los archivos tienen, en realidad, la misma versión. El resultado es que, en el volumen montado con DLFS, queda la segunda versión del archivo en lugar de la primera versión. No ha restaurado el sistema de archivos realmente al mismo estado en que se hallaba en el momento de la copia de seguridad. Solución: Asegúrese de que la aplicación no sustituye un archivo por una versión más reciente del mismo con los mismos atributos (tamaño y hora de la última modificación). ------------------------------------------------------------------------ 5.25 Error al ejecutar el script de Data Links/DFS dmapp_prestart en AIX Si el mandato /usr/sbin/cfgdmepi -a "/usr/lib/drivers/dmlfs.ext" es anómalo con un código de retorno de 1 al ejecutar el script de Data Links/DFS dmapp_prestart, instale DFS 3.1 ptfset1 para arreglar cfgdmepi. ------------------------------------------------------------------------ 5.26 Integración de Tivoli Space Manager con Data Links Ahora DB2 Data Links Manager podrá aprovechar las funciones de Tivoli Space Manager. El programa cliente de Tivoli Space Manager Hierarchical Storage Manager (HSM) migra automáticamente los archivos seleccionados al almacenamiento para mantener niveles específicos de espacio libre en los sistemas de archivos locales. Vuelve a llamar automáticamente a los archivos migrados cuando se accede a los mismos y permite a los usuarios migrar y volver a llamar archivos específicos. El requisito previo para esta funcionalidad es Tivoli Space Manager Versión 4.2. Esta característica ayuda a los clientes que tienen sistemas de archivos con archivos grandes que se tienen que mover de forma periódica a un almacenamiento terciario en el que el espacio del sistema de archivos se tiene que gestionar de forma regular. Para muchos clientes, Tivoli Space Manager proporciona actualmente los métodos necesarios para gestionar su almacenamiento terciario. El nuevo soporte de DB2 Data Links Manager de Tivoli Space Manager ofrece mayor flexibilidad para gestionar el espacio para archivos DATALINK. En lugar de tener que preasignar almacenamiento suficiente en el sistema de archivos DB2 Data Links Manager para todos los archivos que se puedan almacenar ahí, Tivoli Space Manager permite que las asignaciones del sistema de archivos gestionado por Data Links se ajusten durante un periodo de tiempo sin el riesgo de que se llene sin querer el sistema de archivos durante su uso normal. Adición de soporte de Data Links y HSM a un sistema de archivos Cuando registre un sistema de archivos con Hierarchical Storage Management (HSM), hágalo con HSM primero y luego con DataLinks File Manager. 1. Registre con HSM, mediante el mandato "dsmmigfs add /fs". 2. Registre con DLM, mediante el mandato "dlfmfsmd /fs". El soporte de Data Links de un sistema de archivos se refleja en la stanza en /etc/filesystems para un sistema de archivos HSM a través de las siguientes entradas: vfs = dlfs mount = false options = rw,Basefs=fsm nodename = - Adición de soporte de Data Links a un sistema de archivos HSM existente Registre con DLM, mediante el mandato "dlfmfsmd /fs". Adición de soporte de HSM a un sistema de archivos Data Links existente 1. Registre con HSM, mediante el mandato "dsmmigfs add /fs". 2. Registre con DLM, mediante el mandato "dlfmfsmd /fs". Eliminación del soporte de Data Links de un sistema de archivos Data Links-HSM Elimine el soporte de Data Links utilizando el mandato "dlfmfsmd -j /fs". Eliminación del soporte de HSM de un sistema de archivos Data Links-HSM 1. Elimine el soporte de HSM mediante el mandato "dsmmigfs remove /fs". 2. Elimine el soporte de Data Links, "dlfmfsmd -j /fs". 3. Registre con DLM, mediante el mandato "dlfmfsmd /fs". Eliminación del soporte de Data Links y HSM de un sistema de archivos Data Links-HSM 1. Elimine el soporte de HSM mediante el mandato "dsmmigfs remove /fs". 2. Elimine el soporte de Data Links utilizando el mandato "dlfmfsmd -j /fs". 5.26.1 Restricciones y limitaciones Esta función actualmente sólo recibe soporte en AIX. La migración selectiva (dsmmigrate) y rellamada de un archivo enlazado FC (BD con permiso de lectura) sólo puede realizarla un usuario root. La migración selectiva sólo la puede realizar el propietario del archivo, que en el caso de archivos de base de datos con permiso de lectora es el Administrador de DataLink Manager (dlfm). Para acceder a estos archivos se necesita una señal del lado de la base de datos del sistema principal. El único usuario que no necesita señal es el usuario "root". Es más fácil para un usuario "root" realizar la migración selectiva y volver a llamar a archivos de base de datos con permiso de lectura. El usuario dlfm puede migrar un archivo FC mediante una señal válida únicamente la primera vez. La segunda vez que se intente la migración (después de la rellamada), la operación fallará con el mensaje de error "ANS1028S Error interno del programa. Póngase en contacto con el representante de servicio." Si un usuario que no sea root intenta ejecutar dsmmigrate en un archivo FC, obtendrá un error. Esta limitación es menor puesto que normalmente son los administradores los que acceden a los archivos del servidor de archivos. Las llamadas del sistema stat y statfs mostrarán Vfs-type como fsm en lugar de dlfs, aunque dlfs esté montado sobre fsm. El comportamiento anterior es para la función normal de deamons dsmrecalld, que realizan operaciones statfs en el sistema de archivos para comprobar si su Vfs-type es fsm o no. El mandato "dsmls" no muestra ninguna salida si un archivo que tiene el número de inode mínimo está enlazado a FC (BD con permiso de lectura) El mandato dsmls es parecido al mandato ls y lista los archivos que administra TSM. No es necesaria ninguna acción por parte del usuario. ------------------------------------------------------------------------ 5.27 Capítulo 4. Instalación y configuración de DB2 Data Links Manager para AIX 5.27.1 Consideraciones para la instalación 5.27.1.1 Migración de DB2 File Manager Versión 5.2 a DB2 Data Links Manager Versión 7 La información que se encuentra en el paso 3 es incorrecta. El Paso 3 debería decir lo siguiente: "3. Como administrador de DLFM, ejecute el mandato /usr/lpp/db2_07_01/adm/db2dlmmg. ------------------------------------------------------------------------ 5.28 Capítulo 6. Verificación de la instalación en AIX 5.28.1 Soluciones temporales en entornos NFS En este apartado se describen soluciones temporales para los problemas conocidos cuando se ejecute DB2 Data Links Manager para AIX en entornos NFS que no aparezcan en la documentación actual. Estos problemas son específicos de NFS y no tienen nada que ver con DB2 Data Links Manager ni con DB2 Universal Database. Aspectos adicionales de la gestión de la antememoria de NFS En el cliente NFS para AIX se mantienen dos antememorias distintas. El cliente NFS mantiene una antememoria con atributos de archivos y directorios a los que se ha accedido recientemente. Asimismo, el cliente soporta opcionalmente una antememoria de datos para almacenar el contenido de los archivos en el cliente. A veces, el proceso de gestión de la antememoria de atributos produce una condición inusual en un cliente NFS, después de que se enlace un archivo READ PERMISSION DB. Algunas veces, los usuarios pueden acceder a un archivo READ PERMISSION DB sin señal de control de acceso, en caso de que dichos usuarios estuvieran conectados a la máquina antes de que se enlazara el archivo. Para reducir las probabilidades de un acceso no autorizado al archivo, utilice uno de los métodos siguientes: o Use el mandato touch sobre el archivo antes de ejecutar la sentencia INSERT de SQL para establecer el enlace. o Use el mandato touch en el directorio que contiene el archivo. o Use el mandato mount con uno de los cinco parámetros de configuración de la antememoria de atributos (actimeo, acregmin, acregmax, acdirmin, acdirmax) para minimizar el tiempo que se retienen los atributos en la antememoria después de que se modifique un archivo o directorio. Probablemente observará accesos no autorizados a los archivos READ PERMISSION DB durante las pruebas de la función Data Links, puesto que sólo hay un archivo enlazado y hay poca actividad de NFS. Es menos probable que se encuentre este escenario en un entorno de producción, ya que la actividad de NFS es abundante y la antememoria de atributos de NFS no suele retener los atributos para todos los archivos enlazados. ------------------------------------------------------------------------ Suplemento de instalación y configuración ------------------------------------------------------------------------ 6.1 Capítulo 5. Instalación de clientes DB2 en sistemas operativos UNIX 6.1.1 Parámetros de configuración del kernel HP-UX La recomendación para configurar parámetros del kernel HP-UX indica incorrectamente que msgmbn y msgmax se deben establecer en 65535 o superior. Ambos parámetros deben tener exactamente el valor 65535. ------------------------------------------------------------------------ 6.2 Capítulo 12. Ejecución de sus propias aplicaciones 6.2.1 Vinculación de programas de utilidad de bases de datos utilizando el Cliente de tiempo de ejecución El Cliente de tiempo de ejecución no se puede utilizar para vincular los programas de utilidad de bases de datos (import, export, reorg, el procesador de línea de mandatos) ni los archivos de vinculación de CLI de DB2 para cada base de datos antes de utilizarlos con la base de datos. En su lugar se debe utilizar DB2 Administration Client o DB2 Application Development Client. Debe vincular estos programas de utilidad de bases de datos y los archivos de vinculación de CLI de DB2 con cada base de datos para poderlos utilizar con la base de datos. En un entorno de red, si utilizan varios clientes que se ejecutan en sistemas operativos distintos, o que corresponden a versiones o niveles de servicio de DB2 distintos, debe vincular los programas de utilidad una vez para cada combinación de sistema operativo y versión de DB2. 6.2.2 Acceso de clientes UNIX a DB2 utilizando ODBC En el Capítulo 12 ("Ejecución de las aplicaciones propias del usuario") se establece que es necesario actualizar odbcinst.ini si se instala un ODBC Driver Manager con la aplicación de cliente ODBC u ODBC SDK. Esto es parcialmente incorrecto. No es necesario actualizar odbcinst.ini si se instala un producto Merant ODBC Driver Manager. ------------------------------------------------------------------------ 6.3 Capítulo 24. Configuración de un sistema federado para que acceder a varias fuentes de datos 6.3.1 Sistemas federados Un sistema federado DB2 es un tipo especial de sistema de gestión de bases de datos distribuidas (DBMS). Un sistema federado le permite consultar y recuperar datos ubicados en otros DBMS. Una sola sentencia SQL puede hacer referencia a varios DBMS o a bases de datos individuales. Por ejemplo, puede unir datos ubicados en una tabla DB2 Universal Database, una tabla Oracle y una vista Sybase. Un sistema federado DB2 consta de un servidor con una instancia de DB2, una base de datos que servirá como base de datos federada, y una o más fuentes de datos. La base de datos federada contiene entradas de catálogo que identifican fuentes de datos y sus características. Una fuente de datos consta de un DBMS y datos. Las fuentes de datos soportadas incluyen: * Oracle * Sybase * Microsoft SQL Server * Informix * miembros de la familia DB2 Universal Database (como, por ejemplo, DB2 para OS/390, DB2 para AS/4000 y DB2 para Windows) Los servidores federados DB2 Universal Database se comunican con, y recuperan datos de, fuentes de datos utilizando protocolos, denominados reiniciadores. El reiniciador que se utilice dependerá de la plataforma en que se esté ejecutando la instancia de DB2. Se utilizan apodos para identificar las tablas y vistas ubicadas en las fuentes de datos. Las aplicaciones se pueden conectar con la base de datos federada igual que con cualquier otra base de datos DB2 y pueden consultar las fuentes de datos utilizando apodos como si fueran tablas o vistas dentro de la base de datos federada. Después de configurar un sistema federado, se puede acceder a la información de las fuentes de datos como si los datos estuvieran en una sola base de datos local. Los usuarios y las aplicaciones envían consultas a la base de datos federada, la cual recupera datos de las fuentes de datos. Un sistema federado DB2 funciona bajo algunas restricciones. Las peticiones distribuidas se limitan a operaciones de sólo lectura en DB2 Versión 7. Además, no puede ejecutar operaciones de programas de utilidad (LOAD, REORG, REORGCHK, IMPORT, RUNSTATS, etc.) sobre apodos. Sin embargo, puede utilizar un recurso de paso a través para someter sentencias DDL y DML directamente a los DBMS utilizando el dialecto de SQL asociado a la fuente de datos. 6.3.2 Restricción Los nuevos reiniciadores de la Versión 7.2 (tales como Informix en AIX, HP, y Solaris; Oracle en Linux, HP y Solaris; Sybase en AIX y Solaris; y Microsoft SQL Server en AIX y NT) no están disponibles en este FixPak ; debe adquirir DB2 Relational Connect Versión 7.2. 6.3.3 Instalación de DB2 Relational Connect Esta sección contiene instrucciones para instalar DB2 Relational Connect en el servidor que utilizará como servidor del sistema federado. Se requiere Relational Connect para acceder a fuentes de datos Oracle, Sybase, Microsoft SQL Server e Informix. No se requiere DB2 Relational Connect para acceder a miembros de la familia DB2 Universal Database. Antes de instalar DB2 Relational Connect: * Asegúrese de tener DB2 Universal Database Enterprise Edition o DB2 Universal Database Enterprise -- Extended Edition instalado en el servidor federado. En servidores DB2 para UNIX: Si tiene intención de incluir bases de datos de la familia DB2 en las peticiones distribuidas, debe haber seleccionado la opción de fuentes de datos Unión distribuida para DB2 al instalar DB2 Universal Database. Para verificar que se ha implementado esta opción, compruebe que el parámetro FEDERATED tiene el valor YES. Puede comprobar este valor emitiendo el mandato GET DATABASE MANAGER CONFIGURATION, que muestra todos los parámetros y sus valores actuales. * Cerciórese de que el software de cliente para la fuente de datos esté instalado en el servidor federado. 6.3.3.1 Instalación de DB2 Relational Connect en servidores Windows NT 1. Inicie una sesión en el servidor federado con la cuenta de usuario que ha creado para realizar la instalación de DB2 Universal Database. 2. Concluya cualquier programa que se esté ejecutando para que el programa de instalación pueda actualizar los archivos necesarios. 3. Invoque el programa de instalación (setup). Puede invocar el programa de instalación de forma automática o manual. Si el programa de instalación no se inicia automáticamente, o si desea ejecutar el programa de instalación en otro idioma, invóquelo de forma manual. o Para invocar el programa de instalación de forma automática: a. Inserte el CD de DB2 Relational Connect en la unidad. b. La característica de ejecución automática inicia automáticamente el programa de instalación. El idioma del sistema está determinado y se ejecuta el programa de instalación correspondiente a dicho idioma. o Para invocar el programa de instalación de forma manual: a. Pulse Inicio y seleccione la opción Ejecutar. b. En el campo Abrir, escriba el siguiente mandato: x:\setup /i idioma donde: x Representa la unidad de CD-ROM. idioma Representa el código de país/región correspondiente a su idioma (por ejemplo, EN para inglés). c. Pulse Bien. Se abre el programa de instalación. 4. Pulse Instalar para comenzar el proceso de instalación. 5. Siga las solicitudes del programa de instalación. Cuando finalice la instalación, DB2 Relational Connect estará instalado en el directorio junto con los demás productos DB2. Por ejemplo, la biblioteca del reiniciador correspondiente al software de cliente de Oracle NET8 (net8.dll) se instalará en el directorio c:\Archivos de programa\SQLLIB\bin. 6.3.3.2 Instalación de DB2 Relational Connect en servidores UNIX Para instalar DB2 Relational Connect en el servidor federado UNIX, utilice el programa de utilidad db2setup. Nota: Las pantallas que aparecen al utilizar el programa de utilidad db2setup dependen de lo que ya se tenga instalado en el servidor federado. En estos pasos se supone que no ha instalado Relational Connect. 1. Inicie una sesión como usuario con autorización root. 2. Inserte y monte el CD-ROM del producto DB2. Para obtener información sobre cómo montar un CD-ROM, consulte el manual DB2 for UNIX Quick Beginnings. 3. Cambie al directorio en el que está montado el CD-ROM entrando el mandato cd /cdrom, donde cdrom es el punto de montaje del CD-ROM del producto. 4. Escriba el mandato ./db2setup. Tras unos segundos, se abrirá la ventana Instalar DB2 V7. Esta ventana lista los elementos que están instalados actualmente y los elementos que están disponibles para su instalación. 5. Navegue a la unión distribuida que desea instalar, como por ejemplo Unión distribuida para fuentes de datos Informix, y pulse la barra espaciadora para seleccionarla. Aparecerá un asterisco junto a la opción cuando esté seleccionada. 6. Seleccione OK. Se abrirá la ventana Crear servicios de DB2. 7. Puesto que el servidor federado ya contiene una instancia de DB2, seleccione la opción No crear una instancia de DB2 y seleccione OK. 8. Si ha elegido que no se cree un Servidor de administración, aparecerá un aviso. Seleccione OK. La ventana Programa de utilidad de instalación de DB2 muestra un Informe de resumen de lo que se va a instalar. Puesto que no ha instalado Relational Connect anteriormente, deben aparecer dos elementos: o la signatura del producto para DB2 Relational Connect o la unión distribuida para la fuente de datos que ha seleccionado 9. Seleccione Continuar. Aparecerá una ventana que indica que esta es su última oportunidad para detener la instalación de Relational Connect. Seleccione OK para continuar con la instalación. La instalación puede tardar unos minutos en finalizar. 10. La ventana Programa de utilidad de instalación de DB2 muestra un Informe de estado que indica qué componentes se han instalado satisfactoriamente. Seleccione OK. Se abrirá la ventana Programa de utilidad de instalación de DB2. Seleccione Cerrar y luego OK para salir del programa de utilidad. Cuando finalice la instalación, DB2 Relational Connect estará instalado en el directorio junto con los demás productos DB2. o En servidores DB2 para AIX, el directorio es /usr/lpp/db2_07_01. o En servidores DB2 para el Entorno operativo Solaris, el directorio es /opt/IBMdb2/V7.1. o En servidores DB2 para HP-UX, el directorio es /opt/IBMdb2/V7.1. o En servidores DB2 para Linux, el directorio es /usr/IBMdb2/V7.1. 6.3.4 Capítulo 24. Configuración de un sistema federado para que acceder a varias fuentes de datos 6.3.4.1 Interpretación del esquema utilizado con los apodos El parámetro nickname de una sentencia CREATE NICKNAME es un nombre de dos partes -- el esquema y el apodo. Si omite el esquema al crear el apodo, el esquema del apodo será el id de autorización (authid) del usuario que crea el apodo. Después de crear un apodo, la información acerca del apodo se almacena en las vistas de catálogo SYSCAT.TABLES, SYSCAT.TABOPTIONS, SYSCAT.COLUMNS, SYSCAT.COLOPTIONS y SYSCAT.INDEXES. 6.3.4.2 Problemas al restaurar una base de datos federada en un servidor federado diferente Cuando se restaura una copia de seguridad de base de datos federada en un servidor federado diferente, la imagen de base de datos no contiene la información de directorios de nodo y base de datos nueva que necesita para acceder a las fuentes de datos de la familia DB2. Deberá catalogar esta información al realizar la restauración. ------------------------------------------------------------------------ 6.4 Capítulo 26. Acceso a fuentes de datos Oracle Además de dar soporte a reiniciadores en AIX y Windows NT, DB2 Universal Database da ahora soporte al reiniciador de Oracle en Linux, en el entorno operativo Solaris y en HP-UX. Este soporte está limitado a Oracle Versión 8. Para acceder a los reiniciadores correspondientes a estas plataformas, tiene que insertar el CD de la V7.2 de DB2 Relational Connect y seleccionar Unión distribuida para fuentes de datos Oracle. Una vez instalado DB2 Relational Connect, puede añadir una fuente de datos Oracle a un servidor federado: 1. Instale y configure el software de cliente Oracle en el servidor federado DB2. 2. Para los servidores federados de DB2 en UNIX, ejecute el script djxlink a fin de editar con enlace las bibliotecas Oracle SQL*Net o Net8 en el servidor federado de DB2 y crear la biblioteca del reiniciador federada de DB2 que se va a utilizar con Oracle. 3. Cree (o actualice) el archivo db2dj.ini para añadir las variables de entorno correspondientes a Oracle. Este archivo debe contener una definición para la variable de entorno ORACLE_HOME. 4. (Opcional) Establezca las variables del registro de perfiles DB2_DJ_COMM y DB2_DJ_INI. 5. Compruebe la ubicación y el contenido del archivo de Oracle tnsnames.ora en el servidor federado de DB2 y pruebe las conexiones con el servidor Oracle utilizando Oracle sqlplus. 6. Recicle la instancia de DB2. 7. Cree el reiniciador. 8. Cree una definición de servidor. 9. Cree una correlación de usuario. 10. Pruebe la configuración utilizando Set Passthru. 11. Cree apodos para las tablas y vistas. Encontrará instrucciones detalladas para estos pasos, incluido el establecimiento de variables de entorno, en el Capítulo 26. Configuración de un sistema federado para acceder a fuentes de datos de Oracle de la publicación Suplemento de instalación y configuración de DB2. Esta información también está disponible en línea en http://www.ibm.com/software/data/db2/relconnect/. 6.4.1 Errores de la documentación El apartado, "Cómo añadir fuentes de datos de Oracle a un sistema federado" tiene los errores siguientes: * Es necesario un paso adicional entre los pasos 2 y 3 del manual. Los tres primeros pasos deben indicar lo siguiente: 1. Instale y configure el software de cliente de Oracle en el servidor federado de DB2 utilizando la documentación facilitada por Oracle. 2. Establezca la variable de entorno ORACLE_HOME: export ORACLE_HOME=. 3. Para servidores federados de DB2 que se ejecutan en plataformas UNIX, ejecute el script djxlink para montar con enlace las bibliotecas SQL*Net o Net8 de Oracle en el servidor federado de DB2. En función de la plataforma, el script djxlink se encuentra en: /usr/lpp/db2_07_01/bin en AIX /opt/IBMdb2/V7.1/bin en el Entorno operativo Solaris /opt/IBMdb2/V7.1/bin en HP-UX /usr/IBMdb2/V7.1/bin en Linux Sólo debe ejecutar el script djxlink después de instalar el software cliente de Oracle en el servidor federado de DB2. 4. Establezca las variables de entorno de la fuente de datos modificando el archivo db2dj.ini y emitiendo el mandato db2set. El mandato db2set actualiza el registro del perfil de DB2 con sus valores. Se pueden encontrar instrucciones detalladas para establecer las variables de entorno en el Capítulo 26, Configuración de un sistema federado para acceder a fuentes de datos de Oracle de la publicación Suplemento de instalación y configuración de DB2. 5. Prosiga con los pasos que siguen al número 3 tal como se explica en el manual. * La documentación indica que ha de establecerse: DB2_DJ_INI = sqllib/cfg/db2dj.ini Esto es incorrecto, debería establecerse en lo siguiente: DB2_DJ_INI = $INSTHOME/sqllib/cfg/db2dj.ini ------------------------------------------------------------------------ 6.5 Cómo evitar problemas al trabajar con LOB remotos Al trabajar con columnas de LOB remoto, puede que encuentre un problema de escasez de memoria. Por ejemplo, suponga que ejecuta una consulta que selecciona datos LONG en una columna Oracle e inserta los datos en una tabla DB2 como un CLOB. Si no ha aumentado el tamaño de pila de aplicación de base de datos, recibirá un error de SQL que indica "no hay suficiente memoria". Para resolver este error: 1. Desconecte todas las aplicaciones de la instancia de DB2. 2. Actualice el tamaño de pila de aplicación utilizando este mandato: db2 udpate db cfg for nombrebd using APPLHEAPSZ 1024 donde nombrebd es el nombre de la base de datos federada y 1024 es el tamaño de pila recomendado. 3. Vuelva a inicializar la base de datos. Para evitar que se produzca este problema, aumente el tamaño de pila de aplicación de base de datos. Para que este cambio entre en vigor, vuelva a inicializar la base de datos. Por ejemplo: 1. Actualice el tamaño de pila de aplicación utilizando este mandato: db2 udpate db cfg for nombrebd using APPLHEAPSZ 1024 donde nombrebd es el nombre de la base de datos federada y 1024 es el tamaño de pila recomendado. 2. Desconecte todas las aplicaciones de la instancia de DB2. 3. Vuelva a inicializar la base de datos. ------------------------------------------------------------------------ 6.6 Acceso a fuentes de datos Sybase Antes de añadir fuentes de datos Sybase a un servidor federado, tiene que instalar y configurar el software Sybase Open Client en el servidor federado de DB2. Consulte los procedimientos de instalación de la documentación que viene con el software de bases de datos Sybase para ver detalles específicos sobre cómo instalar el software Open Client. Como parte de la instalación, asegúrese de que los procedimientos almacenados de catálogo de Sybase están instalados en el servidor Sybase y de que las bibliotecas de Sybase Open Client están instaladas en el servidor federado DB2. Después de configurar la conexión del software de cliente con el servidor Sybase, pruebe la conexión utilizando una de las herramientas de Sybase. Utilice la herramienta isql para UNIX y la herramienta SQL Advantage para Windows. Para configurar el servidor federado para que acceda a datos almacenados en fuentes de datos Sybase, tiene que: 1. Instalar DB2 Relational Connect Versión 7.2. Consulte 6.3.3, Instalación de DB2 Relational Connect. 2. Añadir fuentes de datos Sybase al servidor federado. 3. Especificar las páginas de códigos de Sybase. Este capítulo trata los pasos 2 y 3. Las instrucciones de este capítulo se aplican a Windows NT, AIX y al entorno operativo Solaris. Si hay diferencias específicas para cada plataforma, se indican. 6.6.1 Adición de fuentes de datos Sybase a un servidor federado Para añadir una fuente de datos Sybase a un servidor federado, tiene que: 1. Establecer las variables de entorno y actualizar el registro de perfiles (sólo AIX y Solaris). 2. Enlazar DB2 al software de cliente Sybase (sólo AIX y Solaris). 3. Reciclar la instancia de DB2 (sólo AIX y Solaris). 4. Crear y configurar un archivo de interfaces. 5. Crear el reiniciador. 6. Opcional: Establecer la variable de entorno DB2_DJ_COMM. 7. Crear el servidor. 8. Opcional: Establecer la opción de servidor CONNECTSTRING. 9. Crear una correlación de usuario. 10. Crear apodos para tablas y vistas. Estos pasos se explican en detalle en esta sección. 6.6.1.1 Paso 1: Establecer las variables de entorno y actualizar el registro de perfiles (sólo AIX y Solaris) Establezca las variables de entorno de la fuente de datos modificando el archivo db2dj.ini y emitiendo el mandato db2set. El archivo db2dj.ini contiene información de configuración sobre el software del cliente Sybase instalado en el servidor federado. El mandato db2set actualiza el registro del perfil de DB2 con sus valores. En un sistema de bases de datos particionado, puede utilizar un solo archivo db2dj.ini para todos los nodos de una determinada instancia o puede utilizar un archivo db2dj.ini exclusivo para uno o más nodos de una instancia determinada. Un sistema de bases de datos no particionado sólo puede tener un archivo db2dj.ini por instancia. Para establecer las variables de entorno: 1. Edite el archivo db2dj.ini situado en sqllib/cfg y establezca la siguiente variable de entorno: SYBASE="" donde es el directorio en el que está instalado el cliente Sybase. 2. Emita el mandato db2set para actualizar el registro de perfiles de DB2 con los cambios. La sintaxis de este mandato, db2set, depende de la estructura del sistema de bases de datos. Este paso sólo es necesario si utiliza el archivo db2dj.ini en cualquiera de las siguientes estructuras de sistemas de bases de datos: Si utiliza el archivo db2dj.ini en un sistema de bases de datos no particionado o si desea que el archivo db2dj.ini se aplique sólo al nodo actual, emita: db2set DB2_DJ_INI=$HOME/sqllib/cfg/db2dj.ini Si utiliza el archivo db2dj.ini en un sistema de bases de datos particionado y desea que los valores del archivo db2dj.ini se apliquen a todos los nodos de esta instancia, emita: db2set -g DB2_DJ_INI=$HOME/sqllib/cfg/db2dj.ini Si utiliza el archivo db2dj.ini en un sistema de bases de datos particionado y desea que los valores del archivo db2dj.ini se apliquen a un nodo específico, emita: db2set -i INSTANCEX 3 DB2_DJ_INI=$HOME/sqllib/cfg/node3.ini donde: INSTANCEX Es el nombre de la instancia. 3 Es el número de nodo listado en el archivo db2nodes.cfg. node3.ini Es la versión modificada y con el nombre cambiado del archivo db2dj.ini. 6.6.1.2 Paso 2: Enlazar DB2 al software cliente de Sybase (sólo AIX y Solaris) Para habilitar el acceso a fuentes de datos Sybase, el servidor federado de DB2 debe estar editado con enlace a las bibliotecas del cliente. El proceso de editar con enlace crea un reiniciador para cada fuente de datos con la que se va a comunicar el servidor federado. Cuando ejecuta el script djxlink, crea la biblioteca del reiniciador. Para emitir el tipo de script djxlink: djxlink 6.6.1.3 Paso 3: Reciclar la instancia de DB2 (sólo AIX y Solaris) Para asegurarse de que las variables de entorno están definidas en el programa, recicle la instancia de DB2. Cuando recicla la instancia, renueva la instancia de DB2 para que acepte los cambios realizados. Emita los siguientes mandatos para reciclar la instancia de DB2: En servidores DB2 para Windows NT: NET STOP nombre_instancia NET START nombre_instancia En servidores DB2 para AIX y Solaris: db2stop db2start 6.6.1.4 Paso 4: Crear y configurar un archivo de interfaces Para crear y configurar un archivo de interfaces, debe crear el archivo y dejarlo accesible. 1. Utilice el programa de utilidad suministrado por Sybase para crear un archivo de interfaces que incluya los datos para todos los Sybase Open Servers a los que desea acceder. Consulte la documentación de instalación de Sybase para obtener más información sobre cómo utilizar este programa de utilidad. Windows NT suele llamar a este archivo sql.ini. Cambie el nombre del archivo que acaba de crear, sql.ini, por interfaces para que el archivo tenga el mismo nombre en todas las plataformas. Si elige no cambiar el nombre de sql.ini por interfaces, debe utilizar el parámetro IFILE o la opción CONNECTSTRING que se explica en el paso 8. En sistemas AIX y Solaris, este archivo se llama /sqllib/interfaces. 2. Permita que DB2 pueda acceder al archivo de interfaces. En servidores DB2 para Windows NT: Coloque el archivo en el directorio %DB2PATH% de la instancia de DB2. En servidores DB2 para AIX y Solaris: Coloque el archivo en el directorio $HOME/sqllib de la instancia de DB2. Utilice el mandato ln para enlazar con el archivo desde el directorio $HOME/sqllib de la instancia de DB2. Por ejemplo: ln -s -f /home/sybase/interfaces /home/db2djinst1/sqllib 6.6.1.5 Paso 5: Crear el reiniciador Utilice la sentencia CREATE WRAPPER para especificar el reiniciador que se utilizará para acceder a fuentes de datos Sybase. Los reiniciadores son mecanismos que utilizan los servidores federados para comunicarse con fuentes de datos y recuperar datos de las mismas. DB2 incluye dos reiniciadores para Sybase, CTLIB y DBLIB. El siguiente ejemplo muestra una sentencia CREATE WRAPPER: CREATE WRAPPER CTLIB donde CTLIB es el nombre de reiniciador por omisión que se utiliza con el software Sybase Open Client. El reiniciador CTLIB se puede utilizar en servidores Windows NT, AIX y Solaris. Puede sustituir el nombre de reiniciador por omisión por el nombre que elija. Sin embargo, si lo hace, debe también incluir el parámetro LIBRARY y el nombre de la biblioteca del reiniciador correspondiente al servidor federado en la sentencia CREATE WRAPPER. Consulte la sentencia CREATE WRAPPER del manual Consulta de SQL de DB2 para obtener más información sobre nombres de bibliotecas de reiniciadores. 6.6.1.6 Paso 6: Opcional: Establecer la variable de entorno DB2_DJ_COMM Para mejorar el rendimiento cuando se accede a la fuente de datos Sybase, establezca la variable de entorno DB2_DJ_COMM. Esta variable determina si el reiniciador se carga cuando se inicializa el servidor federado. Establezca la variable de entorno DB2_DJ_COMM de modo que incluya la biblioteca del reiniciador que corresponde al reiniciador que ha especificado en el paso anterior; por ejemplo: En servidores DB2 para AIX: db2set DB2_DJ_COMM='libctlib.a' En servidores DB2 para Solaris: db2set DB2_DJ_COMM='libctlib.so' Asegúrese de que no hay espacios junto al signo igual (=). Consulte el manual Consulta de SQL de DB2 para obtener más información sobre nombres de bibliotecas de reiniciadores. Consulte el manual Administration Guide para obtener más información sobre la variable de entorno DB2_DJ_COMM. 6.6.1.7 Paso 7: Crear el servidor Utilice la sentencia CREATE SERVER para definir cada servidor Sybase a cuyas fuentes de datos desea acceder; por ejemplo: CREATE SERVER SYBSERVER TYPE SYBASE VERSION 12.0 WRAPPER CTLIB OPTIONS (NODE 'sybnode', DBNAME'sybdb') donde: SYBSERVER Es un nombre que el usuario asigna al servidor Sybase. Este nombre debe ser exclusivo. SYBASE Es el tipo de fuente de datos cuyo acceso está configurando. Sybase es la única fuente de datos que recibe soporte. 12.0 Es la versión de Sybase a la que está accediendo. Las versiones soportadas son 10.0, 11.0, 11.1, 11.5, 11.9 y 12.0. CTLIB Es el nombre del reiniciador que ha especificado en la sentencia CREATE WRAPPER. 'sybnode' Es el nombre del nodo en el que reside SYBSERVER. Obtenga el valor del nodo del archivo de interfaces. Este valor es sensible a mayúsculas y minúsculas. Aunque el nombre del nodo se especifica como una opción, es necesario para fuentes de datos Sybase. Consulte el manual Consulta de SQL de DB2 para obtener información sobre opciones adicionales. 'sybdb' Es el nombre de la base de datos de Sybase a la que desea acceder. Este nombre se obtiene del servidor Sybase. 6.6.1.8 Paso 8: Opcional: Establecer la opción de servidor CONNECTSTRING Especifique los umbrales de tiempo de espera excedido, la vía de acceso y el nombre del archivo de interfaces y el tamaño de paquete del archivo de interfaces. Sybase Open Client utiliza los umbrales de tiempo de espera excedido para interrumpir consultas y respuestas que se ejecutan durante demasiado tiempo. Puede establecer estos umbrales en DB2 mediante la opción CONNECTSTRING de la sentencia CREATE SERVER OPTION DDL. Utilice la opción CONNECTSTRING para especificar: * Duración de tiempo de espera para consultas SQL. * Duración de tiempo de espera para respuesta de inicio de sesión. * Vía de acceso y nombre del archivo de interfaces. * Tamaño de paquete. .-;--------------------------------. V | >>---+------------------------------+-+------------------------>< +-TIMEOUT-- = --segundos-------+ +-LOGIN_TIMEOUT-- = --segundos-+ +-IFILE-- = --"serie"----------+ +-PACKET_SIZE-- = --bytes------+ '-;----------------------------' TIMEOUT Especifica el número de segundos que debe esperar DB2 Universal Database una respuesta de Sybase Open Client para cualquier sentencia SQL. El valor de segundos es un número entero positivo en el rango de enteros de DB2 Universal Database. El valor de tiempo de espera excedido que especifique depende de qué reiniciador utilice. Los servidores Windows NT, AIX y Solaris pueden utilizar el reiniciador DBLIB. El valor por omisión del reiniciador DBLIB es 0. En servidores Windows NT, AIX y Solaris, el valor por omisión correspondiente a DBLIB hace que DB2 Universal Database espere indefinidamente una respuesta. LOGIN_TIMEOUT Especifica el número de segundos que debe esperar DB2 Universal Database una respuesta de Sybase Open Client a una petición de inicio de sesión. Los valores por omisión son los mismos que para TIMEOUT. IFILE Especifica la vía de acceso y nombre del archivo de interfaces de Sybase Open Client. La vía de acceso identificada en serie debe estar entre dobles comillas ("). En servidores Windows, el valor por omisión es %DB2PATH%. En servidores AIX y Solaris, el valor por omisión es sqllib/interfaces del directorio inicial de la instancia de DB2 Universal Database. PACKET_SIZE Especifica el tamaño de paquete del archivo de interfaces en bytes. Si la fuente de datos no da soporte al tamaño de paquete especificado, la conexión fallará. Al aumentar el tamaño de paquete cuando cada registro es muy grande (por ejemplo, cuando se insertan filas en tablas grandes), se aumenta significativamente el rendimiento. El tamaño en bytes es un valor numérico. Obtendrá más información en los manuales de consulta de Sybase. Ejemplos: En servidores Windows NT, para establecer el valor de tiempo de espera en 60 segundos y el archivo de interfaces en C:\etc\interfaces utilice el siguiente mandato: CREATE SERVER OPTION connectstring FOR SERVER sybase1 SETTING 'TIMEOUT=60;LOGIN_TIMEOUT=5;IFILE="C:\etc\interfaces"' En servidores AIX y Solaris, para establecer el valor de tiempo de espera en 60 segundos y el archivo de interfaces en /etc/interfaces utilice el siguiente mandato: CREATE SERVER OPTION connectstring FOR SERVER sybase1 SETTING 'TIMEOUT=60;PACKET_SIZE=4096;IFILE="/etc/interfaces"' 6.6.1.9 Paso 9: Crear una correlación de usuario Si un ID de usuario o contraseña del servidor federado no coinciden con el ID de usuario o contraseña de una fuente de datos Sybase, utilice la sentencia CREATE USER MAPPING para correlacionar el ID de usuario local con el ID de usuario y contraseña definidos en la fuente de datos Sybase; por ejemplo: CREATE USER MAPPING FOR DB2USER SERVER SYBSERVER OPTIONS ( REMOTE_AUTHID 'sybuser', REMOTE_PASSWORD 'day2night') donde: DB2USER Es el ID de usuario local que está correlacionando con un ID de usuario definido en la fuente de datos Sybase. SYBSERVER Es el nombre de la fuente de datos Sybase definida en la sentencia CREATE SERVER. 'sybuser' Es el ID de usuario de la fuente de datos Sybase con la que está correlacionando DB2USER. Este valor es sensible a mayúsculas y minúsculas. 'day2night' Es la contraseña asociada con 'sybuser'. Este valor es sensible a mayúsculas y minúsculas. Consulte el manual Consulta de SQL de DB2 para obtener más información sobre opciones adicionales. 6.6.1.10 Paso 10: Crear apodos para tablas y vistas Asigne un apodo a cada vista o tabla ubicada en la fuente de datos Sybase. Utilizará estos apodos cuando consulte la fuente de datos Sybase. Los apodos de Sybase son sensibles a mayúsculas y minúsculas. Especifique los nombres de esquema y de tabla entre dobles comillas ("). El siguiente ejemplo muestra una sentencia CREATE NICKNAME: CREATE NICKNAME SYBSALES FOR SYBSERVER."salesdata"."europe" donde: SYBSALES Es un apodo exclusivo para la tabla o vista de Sybase. SYBSERVER."salesdata"."europe" Es un identificador de tres partes que sigue este formato: nombre_fuente_datos."nombre_esquema_remoto"."nombre_tabla_remota" Repita este paso para cada tabla o vista para la que desee crear apodos. Cuando cree el apodo, DB2 utilizará la conexión para consultar el catálogo de fuentes de datos. Esta consulta prueba la conexión con la fuente de datos. Si la conexión no funciona, recibirá un mensaje de error. Consulte el manual Consulta de SQL de DB2 para obtener más información sobre la sentencia CREATE NICKNAME. Para obtener más información sobre apodos en general y para verificar correlaciones de tipos de datos, consulte el manual DB2 Administration Guide. 6.6.2 Especificación de páginas de códigos de Sybase Este paso sólo es necesario cuando el servidor federado DB2 y el servidor Sybase ejecutan distintas páginas de códigos. Las fuentes de datos que utilizan el mismo juego de códigos que DB2 no se tienen que convertir. La tabla siguiente ofrece opciones de Sybase equivalentes para páginas de códigos del Soporte de idiomas nacionales (NLS). Las fuentes de datos de Sybase se tienen que configurar para que correspondan con estos equivalentes o bien el código del cliente debe ser capaz de detectar la discrepancia y marcarla como un error o correlacionar los datos utilizando su propia semántica. Si no se encuentra ninguna tabla de conversión entre la página de códigos fuente y la página de códigos de destino, DB2 emite un mensaje de error. Consulte la documentación de Sybase para obtener más información. Tabla 2. Opciones de páginas de códigos de Sybase Página de Opción de Sybase equivalente códigos 850 cp850 897 sjis 819 iso_1 912 iso_2 1089 iso_6 813 iso_7 916 iso_8 920 iso_9 ------------------------------------------------------------------------ 6.7 Acceso a fuentes de datos Microsoft SQL Server mediante ODBC (capítulo nuevo) Antes de añadir fuentes de datos de Microsoft SQL Server a un servidor federado DB2, tiene que instalar y configurar el controlador ODBC en el servidor federado. Consulte los procedimientos de instalación de la documentación que viene con el controlador ODBC para obtener detalles específicos sobre cómo instalar el controlador ODBC. Para configurar el servidor federado para que acceda a datos almacenados en fuentes de datos de Microsoft SQL Server, tiene que: 1. Instalar y configurar el controlador ODBC en el servidor federado. Consulte los procedimientos de instalación de la documentación que viene con el controlador ODBC para obtener más detalles sobre cómo instalar el controlador ODBC. En servidores DB2 para Windows NT: Configure un DSN del sistema utilizando el gestor de dispositivos ODBC. En el Administrador de datos ODBC de Windows, especifique el controlador de SQL Server y continúe con el diálogo para añadir un nuevo DSN del sistema. Especifique "Autentificación de SQL Server con ID de inicio de sesión y contraseña proporcionados por el usuario". En servidores DB2 para AIX: Instale la versión con hebras de las bibliotecas que suministra MERANT, especifique el directorio de la biblioteca MERANT como primera entrada de LIBPATH y configure el archivo .odbc.ini. 2. Instalar DB2 Relational Connect Versión 7.2. Consulte 6.3.3, Instalación de DB2 Relational Connect. 3. Añadir fuentes de datos de Microsoft SQL Server al servidor federado. 4. Especificar las páginas de códigos de Microsoft SQL Server (sólo Windows NT). Este capítulo trata los pasos 3 y 4. Las instrucciones de este capítulo se aplican a plataformas Windows NT y AIX. Si hay diferencias específicas para cada plataforma, se indican. 6.7.1 Adición de fuentes de datos Microsoft SQL Server a un servidor federado Después de instalar el controlador ODBC y DB2 Relational Connect, añada fuentes de datos de Microsoft SQL Server al servidor federado siguiendo los pasos siguientes: 1. Establezca las variables de entorno (sólo en AIX). 2. Ejecute el script shell (sólo en AIX). 3. Opcional: Establezca la variable de entorno DB2_DJ_COMM (sólo en AIX). 4. Recicle la instancia de DB2 (sólo en AIX). 5. Cree el reiniciador. 6. Cree el servidor. 7. Cree una correlación de usuario. 8. Cree apodos para las tablas y vistas. 9. Opcional: Obtenga rastreos de ODBC. Estos pasos se explican en detalle en las siguientes secciones. 6.7.1.1 Paso 1: Establecer las variables de entorno (sólo en AIX) Establezca las variables de entorno de la fuente de datos modificando el archivo db2dj.ini y emitiendo el mandato db2set. El archivo db2dj.ini contiene información de configuración para conectar con fuentes de datos de Microsoft SQL Server. El mandato db2set actualiza el registro del perfil de DB2 con sus valores. En un sistema de bases de datos particionado, puede utilizar un solo archivo db2dj.ini para todos los nodos de una determinada instancia o puede utilizar un archivo db2dj.ini exclusivo para uno o más nodos de una instancia determinada. Un sistema de bases de datos no particionado sólo puede tener un archivo db2dj.ini por instancia. Para establecer las variables de entorno: 1. Edite el archivo db2dj.ini situado en $HOME/sqllib/cfg/ y establezca las siguientes variables de entorno: ODBCINI=$HOME/.odbc.ini DJX_ODBC_LIBRARY_PATH=/lib DB2ENVLIST=LIBPATH Emita el mandato db2set para actualizar el registro de perfiles de DB2 con los cambios. La sintaxis de db2set depende de la estructura del sistema de bases de datos. * Si utiliza el archivo db2dj.ini en un sistema de bases de datos no particionado o si utiliza el archivo db2dj.ini en un sistema de bases de datos particionado y desea que los valores del archivo db2dj.ini se apliquen sólo al nodo actual, emita este mandato: db2set DB2_DJ_INI=/db2dj.ini * Si utiliza el archivo db2dj.ini en un sistema de bases de datos particionado y desea que los valores del archivo db2dj.ini se apliquen a todos los nodos de esta instancia, emita este mandato: db2set -g DB2_DJ_INI=/db2dj.ini * Si utiliza el archivo db2dj.ini en un sistema de bases de datos particionado y desea que los valores del archivo db2dj.ini se apliquen a un nodo específico, emita este mandato: db2set -i INSTANCEX 3 DB2_DJ_INI=$HOME/sqllib/cfg/node3.ini donde: INSTANCEX Es el nombre de la instancia. 3 Es el número de nodo listado en el archivo db2nodes.cfg. node3.ini Es la versión modificada y con el nombre cambiado del archivo db2dj.ini. Para establecer la vía de acceso a la biblioteca de cliente, emita estos mandatos: db2set DB2LIBPATH= db2set DB2ENVLIST=LIBPATH 6.7.1.2 Paso 2: Ejecutar el script shell (sólo en AIX) El script shell djxlink.sh enlaza las bibliotecas del cliente con las bibliotecas del reiniciador. Para ejecutar el script shell: djxlink 6.7.1.3 Paso 3: Opcional: Establecer la variable de entorno DB2_DJ_COMM (sólo en AIX) Si cree que se tarda demasiado en acceder a la fuente de datos de Microsoft SQL Server, puede mejorar el rendimiento estableciendo la variable de entorno DB2_DJ_COMM para que cargue el reiniciador cuando se inicialice el servidor federado en lugar de cuando intente acceder a la fuente de datos. Establezca la variable de entorno DB2_DJ_COMM de modo que incluya la biblioteca del reiniciador correspondiente al reiniciador especificado en el Paso 5. Por ejemplo: En servidores DB2 para Windows NT: db2set DB2_DJ_COMM=djxmssql3.dll En servidores DB2 para AIX: db2set DB2_DJ_COMM=libmssql3.a Asegúrese de que no hay espacios junto al signo igual (=). Consulte el manual Consulta de SQL de DB2 para obtener más información sobre nombres de bibliotecas de reiniciador. 6.7.1.4 Paso 4: Reciclar la instancia de DB2 (sólo en AIX) Para asegurarse de que las variables de entorno están definidas en el programa, recicle la instancia de DB2. Cuando recicla la instancia, renueva la instancia de DB2 para que acepte los cambios realizados. Recicle la instancia de DB2 emitiendo los siguientes mandatos: db2stop db2start 6.7.1.5 Paso 5: Crear el reiniciador DB2 Universal Database tiene dos protocolos diferentes, denominados reiniciadores, que puede utilizar para acceder a fuentes de datos de Microsoft SQL Server. Los reiniciadores son mecanismos que utilizan los servidores federados para comunicarse con fuentes de datos y recuperar datos de las mismas. El reiniciador que utilice depende de la plataforma en que se esté ejecutando DB2 Universal Database. Utilice la Tabla 3 como guía para seleccionar el reiniciador adecuado. Tabla 3. Controladores ODBC Controlador ODBC Plataforma Nombre del reiniciador Controlador ODBC 3.0 (o superior) Windows NT DJXMSSQL3 Controlador MERANT DataDirect AIX MSSQLODBC3 Connect ODBC 3.6 Utilice la sentencia CREATE WRAPPER para especificar el reiniciador que se utilizará para acceder a fuentes de datos de Microsoft SQL Server. El siguiente ejemplo muestra una sentencia CREATE WRAPPER: CREATE WRAPPER DJXMSSQL3 donde DJXMSSQL3 es el nombre del reiniciador por omisión utilizado en un servidor DB2 para Windows NT (utilizando el controlador ODBC 3.0). Si tiene un servidor DB2 para AIX, especificaría el nombre de reiniciador MSSQLODBC3. Puede sustituir el nombre de reiniciador por omisión por el nombre que elija. Sin embargo, si lo hace, debe incluir el parámetro LIBRARY y el nombre de la biblioteca del reiniciador correspondiente a la plataforma del servidor federado en la sentencia CREATE WRAPPER. Por ejemplo: En servidores DB2 para Windows NT: CREATE WRAPPER nombre_reiniciador LIBRARY 'djxmssql3.dll' donde nombre_reiniciador es el nombre que desea dar al reiniciador y 'djxmssql3.dll' es el nombre de la biblioteca. En servidores DB2 para AIX: CREATE WRAPPER nombre_reiniciador LIBRARY 'libmssql3.a' donde nombre_reiniciador es el nombre que desea dar al reiniciador y 'libdjxmssql.a' es el nombre de la biblioteca. Consulte la sentencia CREATE WRAPPER del manual Consulta de SQL de DB2 para obtener más información sobre nombres de bibliotecas de reiniciadores. 6.7.1.6 Paso 6: Crear el servidor Utilice la sentencia CREATE SERVER para definir cada fuente de datos de Microsoft SQL Server a la que desea conectarse. Por ejemplo: CREATE SERVER sqlserver TYPE MSSQLSERVER VERSION 7.0 WRAPPER djxmssql3 OPTIONS (NODE 'sqlnode', DBNAME 'nombre_basedatos') donde: sqlserver Es un nombre que asigna al servidor de Microsoft SQL Server. Este nombre debe ser exclusivo. MSSQLSERVER Es el tipo de fuente de datos cuyo acceso está configurando. 7.0 Es la versión de Microsoft SQL Server a la que está accediendo. DB2 Universal Database da soporte a las versiones 6.5 y 7.0 de Microsoft SQL Server. DJXMSSQL3 Es el nombre del reiniciador que ha definido en la sentencia CREATE WRAPPER. 'sqlnode' Es el nombre del DSN del sistema que hace referencia a la versión de Microsoft SQL Server del Microsoft SQL Server al que está accediendo. Este valor es sensible a mayúsculas y minúsculas. DB2 Universal Database da soporte a las versiones 6.5 y 7.0 de Microsoft SQL Server. Aunque el nombre del nodo (nombre del DSN del sistema) se especifica como opción en la sentencia CREATE SERVER, es necesario para fuentes de datos de Microsoft SQL Server. En Windows, obtenga el DSN de la pestaña DSN del sistema en la herramienta Administrador de datos ODBC de Windows. En AIX, obtenga el DSN del archivo .odbc.ini en el directorio inicial de propietarios de instancias de DB2. Vea el manual Consulta de SQL de DB2 para informarse acerca de opciones adicionales que puede utilizar con la sentencia CREATE WRAPPER. 'nombre_basedatos' Es el nombre de la base de datos a la que se está conectando. Aunque el nombre de la base de datos se especifica como opción en la sentencia CREATE SERVER, es necesario para fuentes de datos de Microsoft SQL Server. 6.7.1.7 Paso 7: Crear una correlación de usuario Si un ID de usuario o contraseña del servidor federado no coinciden con el ID de usuario o contraseña de una fuente de datos de Microsoft SQL Server, utilice la sentencia CREATE USER MAPPING para correlacionar el ID de usuario local con el ID de usuario y contraseña definidos en la fuente de datos de Microsoft SQL Server; por ejemplo: CREATE USER MAPPING FOR db2user SERVER nombre_servidor OPTIONS (REMOTE_AUTHID 'mssqluser', REMOTE_PASSWORD 'day2night') donde: db2user Es el ID de usuario local que está correlacionando con un ID de usuario definido en la fuente de datos de Microsoft SQL Server. nombre_servidor Es el nombre del servidor que ha definido en la sentencia CREATE SERVER. 'mssqluser' Es el ID de inicio de sesión de la fuente de datos de Microsoft SQL Server con que se correlaciona db2user. Este valor es sensible a mayúsculas y minúsculas. 'day2night' Es la contraseña asociada con 'mssqluser'. Este valor es sensible a mayúsculas y minúsculas. Consulte el manual Consulta de SQL de DB2 para ver opciones adicionales que puede utilizar con la sentencia CREATE USER MAPPING. 6.7.1.8 Paso 8: Crear apodos para tablas y vistas Asigne un apodo para cada vista o tabla situada en la fuente de datos de Microsoft SQL Server a la que desea acceder. Utilizará estos apodos cuando consulte la fuente de datos de Microsoft SQL Server. Utilice la sentencia CREATE NICKNAME para asignar un apodo. Los apodos son sensibles a mayúsculas y minúsculas. El siguiente ejemplo muestra una sentencia CREATE NICKNAME: CREATE NICKNAME mssqlsales FOR nombre_servidor.salesdata.europe donde: mssqlsales Es un apodo exclusivo para la tabla o vista de Microsoft SQL Server. nombre_servidor.salesdata.europe Es un identificador de tres partes que sigue este formato: nombre_servidor_fuente_datos.nombre_esquema_remoto.nombre_tabla_remota Se recomienda utilizar comillas dobles para las partes nombre_esquema_remoto y nombre_tabla_remota del apodo. Cuando crea un apodo, DB2 intenta acceder a las tablas de catálogo de fuentes de datos (Microsoft SQL Server las denomina tablas del sistema). Esto prueba la conexión con la fuente de datos. Si la conexión falla, el usuario recibe un mensaje de error. Repita este paso para todas las tablas y vistas de bases de datos para las que desea crear apodos. Para obtener más información sobre la sentencia CREATE NICKNAME, consulte el manual Consulta de SQL de DB2. Para obtener más información sobre apodos en general y para verificar las correlaciones de tipos de datos, consulte el manual DB2 Administration Guide. 6.7.1.9 Paso 9: Opcional: Obtener rastreos de ODBC Si tiene problemas al acceder a la fuente de datos, puede obtener información de rastreo de ODBC para analizar y resolver estos problemas. Para asegurarse de que el rastreo ODBC funciona correctamente, utilice la herramienta de rastreo que suministra ODBC Data Source Administrator. El hecho de activar el rastreo afecta al rendimiento del sistema, por lo tanto debe desactivar el rastreo una vez resueltos los problemas. 6.7.2 Revisión de páginas de códigos de Microsoft SQL Server (sólo Windows NT) Microsoft SQL Server da soporte a muchas de las opciones comunes de páginas de códigos del Soporte de idiomas nacionales (NLS) soportadas por DB2 UDB. Las fuentes de datos que utilizan el mismo juego de códigos que DB2 no se tienen que convertir. La Tabla 3 lista las páginas de códigos que reciben soporte de DB2 Universal Database y de Microsoft SQL Server. Tabla 4. Opciones de páginas de códigos de DB2 UDB y de Microsoft SQL Server Página de Idioma soportado códigos 1252 Juego de caracteres ISO 850 Multilingüe 437 Inglés de EE.UU. 874 Tailandés 932 Japonés 936 Chino (simplificado) 949 Coreano 950 Chino (tradicional) 1250 Europa Central 1251 Cirílico 1253 Griego 1254 Turco 1255 Hebreo 1256 Árabe Cuando el servidor federado DB2 y Microsoft SQL Server ejecutan distintas páginas de códigos del Soporte de idiomas nacionales (NLS), se deben configurar las fuentes de datos de Microsoft SQL Server para que correspondan con estos equivalentes o bien el código del cliente debe ser capaz de detectar la discrepancia y marcarla como un error o correlacionar los datos utilizando su propia semántica. Si no se encuentra ninguna tabla de conversión entre la página de códigos fuente y la página de códigos de destino, DB2 emite un mensaje de error. Consulte la documentación de Microsoft SQL Server para obtener más información. ------------------------------------------------------------------------ 6.8 Acceso a fuentes de datos Informix (capítulo nuevo) Antes de añadir fuentes de datos Informix a un servidor federado de DB2, tiene que instalar y configurar el software de Informix Client SDK en el servidor federado. Consulte los procedimientos de instalación de la documentación que viene con el software de bases de datos Informix para ver detalles específicos sobre cómo instalar el software de Client SDK. Formando parte de la instalación, asegúrese de incluir las bibliotecas de Informix Client SDK. Para configurar el servidor federado para que acceda a datos almacenados en fuentes de datos Informix, tiene que: 1. Instalar DB2 Relational Connect. Consulte 6.3.3, Instalación de DB2 Relational Connect. 2. Aplicar el FixPak de DB2 más reciente. 3. Añadir fuentes de datos Informix al servidor federado. Este capítulo trata el paso 3. Las instrucciones contenidas en este capítulo se aplican a los sistemas operativos AIX, Entorno operativo Solaris y HP-UX. Si hay diferencias específicas para cada sistema operativo, se indican. 6.8.1 Adición de fuentes de datos Informix a un servidor federado Para añadir una fuente de datos Informix a un servidor federado, tiene que: 1. Establecer las variables de entorno y actualizar el registro de perfiles. 2. Enlazar DB2 con el software de cliente Informix. 3. Reciclar la instancia de DB2. 4. Crear el archivo sqlhosts de Informix. 5. Crear el reiniciador. 6. Opcional: Establecer la variable de entorno DB2_DJ_COMM. 7. Crear un servidor. 8. Crear una correlación de usuario. 9. Crear apodos para tablas, vistas y sinónimos de Informix. Estos pasos se explican en detalle en esta sección. 6.8.1.1 Paso 1: Establecer las variables de entorno y actualizar el registro de perfiles Establezca las variables de entorno de la fuente de datos modificando el archivo db2dj.ini y emitiendo el mandato db2set. El archivo db2dj.ini contiene información de configuración sobre el software de cliente Informix instalado en el servidor federado. El mandato db2set actualiza el registro del perfil de DB2 con sus valores. En un sistema de bases de datos particionado, puede utilizar un solo archivo db2dj.ini para todos los nodos de una determinada instancia o puede utilizar un archivo db2dj.ini exclusivo para uno o más nodos de una instancia determinada. Un sistema de bases de datos no particionado sólo puede tener un archivo db2dj.ini por instancia. Para establecer las variables de entorno: 1. Edite el archivo db2dj.ini situado en el directorio sqllib/cfg y establezca las siguientes variables de entorno: Nota: Puede crear este archivo usted mismo si aún no está en el sistema. INFORMIXDIR Establezca la variable de entorno INFORMIXDIR con la vía de acceso al directorio en que está instalado el software de Informix Client SDK; por ejemplo: INFORMIXDIR=/informix/csdk INFORMIXSERVER Esta variable identifica el nombre del servidor Informix por omisión. INFORMIXSERVER=inf93 Nota: Aunque el reiniciador de Informix no utiliza el valor de esta variable, el cliente Informix necesita que ésta se establezca. El reiniciador utiliza el valor de la opción de servidor node, que especifica el servidor de bases de datos Informix al que se desea acceder. INFORMIXSQLHOSTS Si está utilizando la vía de acceso por omisión para el archivo sqlhosts de Informix ($INFORMIXDIR/etc/sqlhosts), no es necesario que establezca esta variable. Sin embargo, si utiliza para el archivo sqlhosts de Informix una vía de acceso distinta a la predeterminada, tiene que establecer esta variable con el nombre de vía de acceso completa del archivo sqlhosts de Informix. Por ejemplo: INFORMIXSQLHOSTS=/informix/csdk/etc/my_sqlhosts 2. Actualice el archivo .profile de la instancia de DB2 con la variable de entorno de Informix. Puede hacerlo emitiendo los mandatos siguientes para establecer y exportar cada una de las variables: PATH=$INFORMIXDIR/bin:$PATH export PATH INFORMIXDIR= export INFORMIXDIR donde vía_cliente_informix es la vía de acceso del directorio en que está instalado el cliente Informix en el servidor federado. Si un nombre de la vía de acceso contiene un espacio en blanco, utilice comillas (") que delimiten la vía de acceso. 3. Ejecute la instancia de DB2 .profile entrando: . .profile 4. Emita el mandato db2set para actualizar el registro de perfiles de DB2 con los cambios. La sintaxis de este mandato, db2set, depende de la estructura del sistema de bases de datos. Este paso sólo es necesario si utiliza el archivo db2dj.ini en cualquiera de las siguientes estructuras de sistemas de bases de datos: Si utiliza el archivo db2dj.ini en un sistema de bases de datos no particionado o si desea que el archivo db2dj.ini se aplique sólo al nodo actual, emita: db2set DB2_DJ_INI=sqllib/cfg/db2dj.ini Nota: Los nombres de vías de acceso de esta sección deben estar totalmente calificados. Por ejemplo, mi_inicio/mi_instancia/sqllib/cfg/db2dj.ini Si está utilizando el archivo db2dj.ini en un sistema de bases de datos particionado y desea que los valores del archivo db2dj.ini se apliquen a todos los nodos de esta instancia, emita: db2set -g DB2_DJ_INI = sqllib/cfg/db2dj.ini Si utiliza el archivo db2dj.ini en un sistema de bases de datos particionado y desea que los valores del archivo db2dj.ini se apliquen a un nodo específico, emita: db2set -i INSTANCEX 3 DB2_DJ_INI=sqllib/cfg/node3.ini donde: INSTANCEX Es el nombre de la instancia. 3 Es el número de nodo listado en el archivo db2nodes.cfg. node3.ini Es la versión modificada y con el nombre cambiado del archivo db2dj.ini. 6.8.1.2 Paso 2: Enlazar con el software de cliente Informix de DB2 Para habilitar el acceso a fuentes de datos Informix, el servidor federado de DB2 debe estar editado con enlace a las bibliotecas del cliente. El proceso de editar con enlace crea un reiniciador para cada fuente de datos con la que se va a comunicar el servidor federado. Cuando se ejecuta el script djxlinkInformix, se crea la biblioteca del reiniciador de Informix. Para emitir el script djxlinkInformix, escriba: djxlinkInformix Nota: El script djxlinkInformix sólo crea la biblioteca del reiniciador de Informix. Existe otro script, el script djxlink, que intenta crear una biblioteca de reiniciador para cada fuente de datos soportada por DB2 Universal Database (Oracle, Microsoft SQL Server, etc.). Si sólo dispone del software de cliente para algunas de las fuentes de datos instaladas, cuando emita el script djxlink recibirá un mensaje de error para cada una de las fuentes de datos que falten. Necesita la autorización del Administrador de sistemas UNIX (root) a fin de ejecutar los scripts djxlinkInformix y djxlink. Los scripts djxlinkInformix y djxlink graban mensajes detallados de error y de aviso en un archivo específico, que depende del sistema operativo. Por ejemplo, en AIX, el script djxlinkInformix graba en /usr/lpp/db2_07_01/lib/djxlinkInformix.out y el script djxlink graba en /usr/lpp/db2_07_01/lib/djxlink.out. Los scripts djxlinkInformix y djxlink crean la biblioteca del reiniciador en un directorio específico, que depende del sistema operativo. Por ejemplo, en AIX, la biblioteca del reiniciador libinformix.a se crea en el directorio /usr/lpp/db2_07_01/lib. Compruebe los permisos de la biblioteca del reiniciador libinformix.a después de crearla para asegurarse de que los propietarios de instancias de DB2 la pueden leer y ejecutar. Si los propietarios de instancias de DB2 no se encuentran en el grupo System, los permisos de la biblioteca del reiniciador libinformix.a tendrán que ser: -rwxr-xr-x root system...libinformix.a. 6.8.1.3 Paso 3: Reciclar la instancia de DB2 Para asegurarse de que las variables de entorno están definidas en el programa, recicle la instancia de DB2. Cuando recicla la instancia, renueva la instancia de DB2 para que acepte los cambios realizados. Emita los siguientes mandatos para reciclar la instancia de DB2: En servidores DB2 para AIX, Entorno operativo Solaris y HP-UX: db2stop db2start 6.8.1.4 Paso 4: Crear el archivo sqlhosts de Informix El archivo especifica la ubicación de cada servidor de bases de datos Informix y el tipo de conexión (protocolo) para el servidor de bases de datos. Existen varias maneras de crear este archivo. Puede copiarlo de otro sistema que tenga Informix Connect o Informix Client SDK conectado a un servidor Informix. También puede configurar Informix Client SDK en el servidor DB2 para conectarse a un servidor Informix y, así, crear el archivo sqlhosts. Una vez copiado o creado el archivo sqlhosts, el propietario de instancias de DB2 deberá utilizar dbaccess en Informix (si está en el servidor DB2) a fin de conectarse al servidor Informix y efectuar consultas en él. Con esto, se establecerá que Informix Client SDK pueda conectarse al servidor Informix antes de que se intente configurar DB2 Relational Connect para trabajar con Informix Client SDK. Para obtener más información sobre cómo definir este archivo, consulte el manual de Informix Administrators Guide for Informix Dynamic Server. Aviso: Si no define el nombre del servidor de bases de datos Informix en el archivo sqlhosts, cuando realice una operación que requiera conexión con el servidor de bases de datos Informix recibirá un error. 6.8.1.5 Paso 5: Crear el reiniciador Utilice la sentencia CREATE WRAPPER para especificar el reiniciador que se utilizará para acceder a fuentes de datos Informix. Los reiniciadores son mecanismos que utilizan los servidores federados para comunicarse con fuentes de datos y recuperar datos de las mismas. El siguiente ejemplo muestra una sentencia CREATE WRAPPER: CREATE WRAPPER informix donde informix es el nombre_reiniciador; informix es el nombre de reiniciador por omisión utilizado con el software de Informix Client SDK. Puede sustituir el nombre de reiniciador por omisión por el nombre que elija. Sin embargo, si lo hace, debe también incluir el parámetro LIBRARY y el nombre de la biblioteca del reiniciador correspondiente al servidor federado en la sentencia CREATE WRAPPER. Consulte la sentencia CREATE WRAPPER en el manual Consulta de SQL de DB2 para obtener más información sobre nombres de bibliotecas de reiniciadores. Los nombres de bibliotecas de reiniciadores para Informix son: * libinformix.a (AIX) * libinformix.so (Entorno operativo Solaris) * libinformix.sl (HP-UX) 6.8.1.6 Paso 6: Opcional: Establecer la variable de entorno DB2_DJ_COMM Para mejorar el rendimiento cuando se acceda a la fuente de datos Informix, establezca la variable de entorno DB2_DJ_COMM en el servidor federado. Esta variable determina si se carga un reiniciador cuando se inicializa el servidor federado. Establezca la variable de entorno DB2_DJ_COMM de modo que incluya la biblioteca del reiniciador que corresponde al reiniciador que ha especificado en el paso anterior. Si está utilizando las interfaces de línea de mandatos del shell Korn o del shell Bourne, utilice los mandatos de exportación siguientes: En servidores DB2 para AIX: DB2_DJ_COMM='libinformix.a' export DB2_DJ_COMM En servidores DB2 para el Entorno operativo Solaris: DB2_DJ_COMM='libinformix.so' export DB2_DJ_COMM En servidores DB2 para HP-UX: DB2_DJ_COMM='libinformix.sl' export DB2_DJ_COMM Asegúrese de que no hay espacios junto al signo igual (=). Si está utilizando la interfaz de línea de mandatos del shell C, establezca las variables de entorno mediante los mandatos siguientes: setenv DB2_DJ_COMM 'libinformix.a' (servidores DB2 para AIX) setenv DB2_DJ_COMM 'libinformix.so' (servidores DB2 para el entorno Solaris) setenv DB2_DJ_COMM 'libinformix.sl' (servidores DB2 para HP--UX) Consulte el manual Consulta de SQL de DB2 para obtener más información sobre nombres de bibliotecas de reiniciadores y sobre la variable de entorno DB2_DJ_COMM. 6.8.1.7 Paso 7: Crear el servidor Utilice la sentencia CREATE SERVER para definir cada servidor Informix a cuyas fuentes de datos desea acceder. La sintaxis de esta sentencia es: CREATE SERVER nombre_servidor TYPE tipo_servidor VERSION versión_servidor WRAPPER nombre_reiniciador OPTIONS (NODE 'nombre_nodo', DBNAME 'nombre_basedatos') donde: nombre_servidor Es un nombre que el usuario asigna al servidor de bases de datos Informix. Este nombre debe ser exclusivo y no un duplicado de otro nombre_servidor definido en la base de datos federada. El nombre_servidor no debe ser el mismo nombre de cualquier espacio de tablas de la base de datos federada. TYPE tipo_servidor Especifica el tipo de fuente de datos cuyo acceso está configurando. Nota: Para el reiniciador de Informix, el tipo_servidor debe ser informix. VERSION versión_servidor Es la versión del servidor de bases de datos Informix al que desea acceder. Las versiones de Informix soportadas son 5, 7, 8 y 9. WRAPPER nombre_reiniciador Es el nombre que ha especificado en la sentencia CREATE WRAPPER. NODE 'nombre_nodo' Es el nombre del nodo en que reside nombre_servidor. El nombre_nodo se debe definir en el archivo sqlhosts de Informix (vea el paso 4). Aunque el nombre_nodo se especifica como opción en la sentencia CREATE SERVER, es necesario para las fuentes de datos Informix. Este valor es sensible a mayúsculas y minúsculas. Consulte el manual Consulta de SQL de DB2 para obtener información sobre opciones adicionales. DBNAME 'nombre_basedatos' Es el nombre de la base de datos Informix a la que desea acceder. A continuación se muestra un ejemplo de la sentencia CREATE SERVER: CREATE SERVER asia TYPE informix VERSION 9 WRAPPER informix OPTIONS (NODE 'abc', DBNAME 'ventas') Las opciones de servidor FOLD_ID y FOLD_PW afectan al hecho de que el reiniciador convierta o no el ID de usuario y la contraseña en mayúsculas o minúsculas, antes de enviarlos a Informix. A continuación se muestra un ejemplo de la sentencia CREATE SERVER con las opciones de servidor FOLD_ID y FOLD_PW: CREATE SERVER asia TYPE informix VERSION 9 WRAPPER informix OPTIONS (NODE 'abc', DBNAME 'ventas', FOLD_ID 'U', FOLD_PW 'U') 6.8.1.8 Paso 8: Crear una correlación de usuario Si un ID de usuario o contraseña del servidor federado de DB2 no coinciden con el ID de usuario o contraseña de una fuente de datos Informix, utilice la sentencia CREATE USER MAPPING para correlacionar el ID de usuario local con el ID de usuario y la contraseña definidos en la fuente de datos Informix; por ejemplo: CREATE USER MAPPING FOR idsuario_local SERVER nombre_servidor OPTIONS (REMOTE_AUTHID 'idusuario_remoto', REMOTE_PASSWORD 'contraseña_remota') donde: idusuario_local Es el ID de usuario local que está correlacionando con un ID de usuario definido en una fuente de datos Informix. SERVER nombre_servidor Es el nombre de la fuente de datos Informix definida en la sentencia CREATE SERVER. REMOTE_AUTHID 'idusuario_remoto' Es el ID de usuario del servidor de bases de datos Informix con el que está correlacionando idusuario_local. Este valor es sensible a las mayúsculas y minúsculas a no ser que la opción de servidor FOLD_ID se establezca en 'U' o 'L' en la sentencia CREATE SERVER. REMOTE_PASSWORD 'contraseña_remota' Es la contraseña asociada con idusuario_remoto. Este valor es sensible a las mayúsculas y minúsculas a no ser que la opción de servidor FOLD_PW se establezca en 'U' o 'L' en la sentencia CREATE SERVER. A continuación se muestra un ejemplo de la sentencia CREATE USER MAPPING: CREATE USER MAPPING FOR robert SERVER asia OPTIONS (REMOTE_AUTHID 'bob', REMOTE_PASSWORD 'day2night') Puede utilizar el registro especial de DB2 USER para correlacionar el ID de autorización de la persona que emite la sentencia CREATE USER MAPPING con el ID de autorización de la fuente de datos especificado en la opción de usuario REMOTE_AUTHID. A continuación se muestra un ejemplo de la sentencia CREATE USER MAPPING que incluye el registro especial USER: CREATE USER MAPPING FOR USER SERVER asia OPTIONS (REMOTE_AUTHID 'bob', REMOTE_PASSWORD 'day2night') Consulte el manual Consulta de SQL de DB2 para obtener más información sobre opciones adicionales. 6.8.1.9 Paso 9: Crear apodos para tablas, vistas y sinónimos de Informix Asigne un apodo a cada tabla, vista o sinónimo de Informix ubicados en su fuente de datos Informix. Los apodos pueden tener una longitud de 128 caracteres. Utilizará estos apodos cuando consulte la fuente de datos Informix. DB2 convertirá los nombres de servidor, esquema y tabla a mayúsculas a no ser que los encierre entre comillas ("). El siguiente ejemplo muestra una sentencia CREATE NICKNAME: CREATE NICKNAME nickname FOR nombre_servidor."nombre_esquema_remoto"."nombre_tabla_remota" donde: apodo Es un apodo exclusivo que se utiliza para identificar la tabla, vista o sinónimo de Informix. servidor."nombre_esquema_remoto"."nombre_tabla_remota" Es un identificador de tres partes para el objeto remoto. o servidor es el nombre asignado al servidor de bases de datos Informix en la sentencia CREATE SERVER. o esquema_remoto es el nombre del esquema remoto al que pertenece la tabla, vista o sinónimo. o tabla_remota es el nombre de la tabla, vista o sinónimo remotos a que desea acceder. A continuación se muestra un ejemplo de la sentencia CREATE NICKNAME: CREATE NICKNAME ventasjapón FOR asia."datosventas"."japón" Repita este paso para cada tabla o vista para la que desee crear un apodo. Cuando cree el apodo, DB2 utilizará la conexión para consultar el catálogo de fuentes de datos. Esta consulta prueba la conexión con la fuente de datos. Si la conexión no funciona, recibirá un mensaje de error. Consulte el manual Consulta de SQL de DB2 para obtener más información sobre la sentencia CREATE NICKNAME. Para obtener más información sobre apodos en general y para verificar correlaciones de tipos de datos, consulte el manual DB2 Administration Guide. ------------------------------------------------------------------------ Administración Tabla de contenido parcial * Administration Guide o 7.1 Actualización disponible * Guía de administración: Planificación o 8.1 Capítulo 8. Diseño físico de bases de datos + 8.1.1 Consideraciones sobre el diseño de espacios de tablas + 8.1.1.1 Optimización del rendimiento de los espacios de tablas cuando se colocan datos al asalto + 8.1.2 Claves de particionamiento o 8.2 Apéndice D. Incompatibilidades entre releases + 8.2.1 Error SQL30081N no devuelto cuando se detecta pérdida de conexión o 8.3 Apéndice E. Soporte de idioma nacional (NLS) + 8.3.1 Soporte de código de país/región y página de códigos: + 8.3.2 Consideraciones sobre la importación/exportación/carga -- Restricciones para las páginas de códigos 1394 y 5488 + 8.3.3 Valores de fecha y hora + 8.3.3.1 Representaciones de serie de los valores de fecha y hora + 8.3.3.2 Series de fecha + 8.3.3.3 Series de hora + 8.3.3.4 Series de indicación de fecha y hora + 8.3.3.5 Consideraciones acerca del juego de caracteres + 8.3.3.6 Formatos de fecha y hora * Administration Guide: Implementation o 9.1 Capítulo 8. Recuperación de una base de datos + 9.1.1 Cómo utilizar la suspensión de E/S o 9.2 Nuevo método para especificar contenedores DMS en sistemas Windows 2000 y posteriores o 9.3 Ejemplo para ampliación del Centro de control * Guía de administración: Rendimiento o 10.1 Esquemas de las tablas temporales del sistema o 10.2 Capítulo 8. Rendimiento operativo + 10.2.1 Agrupación de almacenamientos intermedios basada en bloques + 10.2.1.1 Ejemplos de agrupación de almacenamientos intermedios basada en bloques o 10.3 Capítulo 10. Ajuste de la configuración mediante la adición de procesadores + 10.3.1 Problemas al añadir nodos a una base de datos particionada o 10.4 Capítulo 13. Configuración de DB2 + 10.4.1 Terminación del archivador de anotaciones cronológicas comprobada ahora más frecuentemente o 10.5 Variables de registro y de entorno de DB2 + 10.5.1 Correcciones a variables relativas al rendimiento + 10.5.2 Correcciones y adiciones a variables de registro diversas + 10.5.3 Correcciones y adiciones a variables de registro generales * Administering Satellites Guide and Reference o 11.1 Configuración de la Versión 7.2 de DB2 Personal Edition y DB2 Workgroup Edition como satélites + 11.1.1 Requisitos previos + 11.1.1.1 Consideraciones sobre la instalación + 11.1.2 Configuración del sistema Versión 7.2 para la sincronización + 11.1.3 Instalación del FixPak 2 o superior en un sistema Versión 6 Enterprise Edition + 11.1.3.1 Actualización de la Versión 6 de DB2 Enterprise Edition para utilizarlo como servidor de control de DB2 + 11.1.4 Actualización de una Versión 6 del Centro de control y del Centro de administración de satélites * Consulta de mandatos o 12.1 Actualización disponible o 12.2 db2updv7 - Actualizar la base de datos al nivel de arreglo actual de la versión 7 o 12.3 REBIND + Missing value o 12.4 db2inidb - Inicializar una base de datos reflejada + 12.4.1 Información de utilización o 12.5 Opción adicional del mandato GET ROUTINE + GET ROUTINE o 12.6 CREATE DATABASE * Data Recovery and High Availability Guide and Reference o 13.1 Data Recovery and High Availability Guide and Reference Available Online o 13.2 Nuevo comportamiento de la copia de seguridad y restauración cuando LOGRETAIN=CAPTURE o 13.3 Ahora, NEWLOGPATH2 se llama DB2_NEWLOGPATH2 o 13.4 Elección de un método de copia de seguridad para DB2 Data Links Manager en AIX o Solaris o 13.5 Tivoli Storage Manager -- LAN Free Data Transfer * Data Movement Utilities Guide and Reference o 14.1 Cambio en el manejo de archivos LOB por parte de las funciones de exportación, importación y carga + 14.1.1 Consideraciones acerca de IXF o 14.2 Soporte de página de códigos para los programas de utilidad de importación, exportación y carga o 14.3 db2relocatedb (nuevo mandato) + db2relocatedb - Reubicar base de datos o 14.4 db2move -- Nuevas opciones disponibles + Transferencia de datos mediante la herramienta db2move o 14.5 Capítulo 2. Importación + 14.5.1 Utilización de la importación con inserciones en almacenamiento intermedio o 14.6 Capítulo 3. Carga + 14.6.1 Estados de pendiente después de una operación de carga + 14.6.2 Limitaciones y restricciones de carga + 14.6.3 Modificador de tipo de archivo totalfreespace o 14.7 Capítulo 4. AutoLoader + 14.7.1 rexecd necesario para ejecutar AutoLoader cuando la autentificación se establece en YES o 14.8 AutoLoader puede colgarse durante un fork o 14.9 Apéndice C. Formatos de archivo de programa de utilidad de Exportación/Importación/Carga * Replication Guide and Reference o 15.1 Duplicación y servidores que no son IBM o 15.2 Duplicación en Windows 2000 o 15.3 Error conocido al guardar archivos de SQL o 15.4 Mantenimiento de DB2 o 15.5 Programa de utilidad de diferencia de datos en la Web o 15.6 Capítulo 3. Escenario de duplicación de datos + 15.6.1 Escenarios de duplicación o 15.7 Capítulo 5. Planificación de la duplicación + 15.7.1 Nombres de tabla y de columna + 15.7.2 Duplicación de DATALINK + 15.7.3 Restricciones de LOB + 15.7.4 Planificación de la duplicación o 15.8 Capítulo 6. Configuración del entorno de duplicación + 15.8.1 Requisito previo a una actualización en cualquier parte (update-anywhere) + 15.8.2 Configuración del entorno de duplicación o 15.9 Capítulo 8. Determinación de problemas o 15.10 Capítulo 9. Capture y Apply para AS/400 o 15.11 Capítulo 10. Capture y Apply para OS/390 + 15.11.1 Requisitos previos para DB2 DataPropagator para OS/390 + 15.11.2 Esquemas de codificación UNICODE y ASCII en OS/390 + 15.11.2.1 Elección de un esquema de codificación + 15.11.2.2 Establecimiento de esquemas de codificación o 15.12 Capítulo 11. Capture y Apply para plataformas UNIX + 15.12.1 Establecimiento de variables de entorno para Capture y Apply en UNIX y Windows o 15.13 Capítulo 14. Estructuras de tabla o 15.14 Capítulo 15. Mensajes de Capture y Apply o 15.15 Apéndice A. Inicio de los programas Capture y Apply desde dentro de una aplicación * System Monitor Guide and Reference o 16.1 db2ConvMonStream * Troubleshooting Guide o 17.1 Inicio de DB2 en Windows 95, Windows 98 y Windows ME cuando el usuario no tiene iniciada una sesión o 17.2 Capítulo 1. Buenas prácticas para la resolución de problemas + 17.2.1 Herramienta para analizar el problema y recopilar el entorno + 17.2.1.1 Salidas de la recopilación + 17.2.1.2 Visualización de detailed_system_info.html + 17.2.1.3 Visualización de la sintaxis de DB2 Support Tool de página en página o 17.3 Capítulo 2. Resolución de problemas de DB2 Universal Database Server o 17.4 Capítulo 8. Resolución de problemas de DB2 Data Links Manager * Utilización de DB2 Universal Database en plataformas de 64 bits o 18.1 Capítulo 5. Configuración + 18.1.1 LOCKLIST + 18.1.2 shmsys:shminfo_shmmax o 18.2 Capítulo 6. Restricciones * Administración y programación del expansor de XML * MQSeries o 20.1 Instalación y configuración para las funciones de DB2 MQSeries + 20.1.1 Instalación de MQSeries + 20.1.2 Instalación de AMI de MQSeries + 20.1.3 Habilitación de DB2 MQSeries Functions o 20.2 Estilos de gestión de mensajes de MQSeries o 20.3 Estructura de mensajes o 20.4 Visión general funcional de MQSeries + 20.4.1 Limitaciones + 20.4.2 Códigos de error o 20.5 Escenarios de aplicación + 20.5.1 Gestión básica de mensajes + 20.5.2 Envío de mensajes + 20.5.3 Recuperación de mensajes + 20.5.4 Conectividad de aplicación a aplicación + 20.5.4.1 Comunicaciones tipo petición y respuesta + 20.5.4.2 Publicación y suscripción o 20.6 enable_MQFunctions + enable_MQFunctions o 20.7 disable_MQFunctions + disable_MQFunctions ------------------------------------------------------------------------ Administration Guide ------------------------------------------------------------------------ 7.1 Actualización disponible El manual Administration Guide se ha actualizado como parte del FixPak 4. El último PDF está disponible para bajarlo en línea desde http://www.ibm.com/software/data/db2/udb/winos2unix/support. La información contenida en estas notas es adicional a la consulta actualizada. Toda la documentación actualizada también está disponible en CD. Se puede solicitar dicho CD a través del servicio de DB2 y utilizando el número de PTF U478862. Puede encontrar información sobre cómo entrar en contacto con el Servicio de DB2 en http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/help.d2w/report . ------------------------------------------------------------------------ Guía de administración: Planificación ------------------------------------------------------------------------ 8.1 Capítulo 8. Diseño físico de bases de datos 8.1.1 Consideraciones sobre el diseño de espacios de tablas 8.1.1.1 Optimización del rendimiento de los espacios de tablas cuando se colocan datos al asalto DB2_PARALLEL_IO DB2_PARALLEL_IO también afecta a los espacios de tablas en los que se ha definido más de un contenedor. Si no se establece la variable de registro, el paralelismo de E/S es igual al número de contenedores que tiene el espacio de tablas. Si se establece la variable de registro, el paralelismo de E/S es igual al resultado del tamaño de captación previa dividido por el tamaño de extensión. Es posible que desee establecer la variable de registro si los contenedores individuales del espacio de tablas están esparcidos en varios discos físicos. Por ejemplo, un espacio de tablas tiene dos contenedores y el tamaño de captación previa es cuatro veces el tamaño de extensión. Si no se establece la variable de registro, una petición de captación previa para este espacio de tablas se dividirá en dos peticiones (siendo cada una de ellas para dos extensiones). Siempre que los captadores previos estén disponibles para trabajar, dos de ellos pueden trabajar sobre estas peticiones en paralelo. En caso de establecer la variable de registro, una petición de captación previa para este espacio de tablas se dividirá en cuatro peticiones (una extensión por petición), con la posibilidad de que cuatro captadores previos den servicio a las peticiones en paralelo. En este ejemplo, si cada uno de los dos contenedores tuviera dedicado un solo disco, el hecho de establecer la variable de registro para este espacio de tablas puede tener como consecuencia una contención en estos discos, puesto que habría dos captadores previos accediendo a la vez a cada uno de los dos discos. Sin embargo, si cada uno de los dos contenedores estuviera esparcido en varios discos, al establecer esta variable de registro se permitiría, potencialmente, el acceso a cuatro discos distintos a la vez. 8.1.2 Claves de particionamiento En la subsección "Consideraciones acerca del diseño de grupo de nodos" de la sección "Diseño de grupos de nodos", el texto siguiente de la subsección "Claves de particionamiento", que indica los puntos a tener en cuenta al definir claves de particionamiento, debe suprimirse sólo si DB2_UPDATE_PART_KEY=ON: Nota: If DB2_UPDATE_PART_KEY=OFF, entonces se siguen aplicando las restricciones. Nota: En el FixPak 3 y posteriores, el valor por omisión será OFF. * No puede actualizar el valor de la columna de clave de particionamiento para una fila de la tabla. * Sólo puede suprimir o insertar valores de columna de clave de particionamiento. ------------------------------------------------------------------------ 8.2 Apéndice D. Incompatibilidades entre releases 8.2.1 Error SQL30081N no devuelto cuando se detecta pérdida de conexión Las aplicaciones que detectan una conexión perdida con el servidor de bases de datos comprobando el error SQL30081N ya no detectarán las conexiones perdidas al migrar a DB2 Universal Database Versión 6 o superior. ------------------------------------------------------------------------ 8.3 Apéndice E. Soporte de idioma nacional (NLS) 8.3.1 Soporte de código de país/región y página de códigos: En la tabla de Idiomas y juegos de códigos soportados, la página de códigos 5488 también se conoce como GB 18030 y la página de códigos 1394 también se conoce como ShiftJIS X0213. 8.3.2 Consideraciones sobre la importación/exportación/carga -- Restricciones para las páginas de códigos 1394 y 5488 Los datos de las páginas de códigos 1394 (ShiftJIS X0213) y 5488 (GB 18030) pueden moverse a una base de datos Unicode utilizando los programas de utilidad de carga o importación. El programa de utilidad de exportación se puede utilizar para transferir datos de una base de datos Unicode a un archivo de datos de las páginas de códigos 1394 y 5488. Sólo se soportan conexiones entre un cliente Unicode y un servidor Unicode, por lo que es necesario utilizar un cliente Unicode o establecer la variable de registro DB2CODEPAGE de DB2 en 1208 antes de utilizar los programas de utilidad de carga, importación o exportación. La conversión de las páginas de códigos 1394 ó 5488 a Unicode puede tener como consecuencia una expansión. Por ejemplo, un carácter de 2 bytes se puede almacenar en forma de dos caracteres Unicode de 16 bits en las columnas GRAPHIC. Deberá cerciorarse de que las columnas de destino de la base de datos Unicode son suficientemente anchas para contener cualquier byte Unicode expandido. 8.3.3 Valores de fecha y hora 8.3.3.1 Representaciones de serie de los valores de fecha y hora Los valores cuyos tipos de datos son DATE, TIME o TIMESTAMP se representan en un formato interno que es transparente para el usuario de SQL. Sin embargo, las fechas, las horas y las indicaciones de fecha y hora también pueden representarse mediante series y estas representaciones conciernen directamente al usuario de SQL porque no hay constantes o variables cuyos tipos de datos sean DATE, TIME o TIMESTAMP. De este modo, para recuperarse, un valor de fecha y hora debe asignarse a una variable de serie. La representación de serie es normalmente el formato por omisión de los valores de fecha y hora asociados con el código de país/región del cliente, a no ser que la altere temporalmente la especificación de la opción de formato DATETIME cuando se precompila o se enlaza el programa a la base de datos. Cuando se utiliza una representación de serie válida de un valor de fecha y hora en una operación con un valor de fecha y hora interno, la representación de serie se convierte al formato interno de la fecha, hora o indicación de la fecha y hora antes de que se efectúe la operación. Las representaciones de serie válidas de valores de fecha y hora se definen en las secciones siguientes. Nota: Las representaciones de series gráficas de valores de fecha y hora sólo se soportan en bases de datos Unicode. 8.3.3.2 Series de fecha Una representación de serie de una fecha es una serie que empieza con un dígito y tiene una longitud de 8 caracteres como mínimo. Se pueden incluir blancos de cola; se pueden omitir los ceros iniciales de la parte de mes y la parte de día de la fecha. La tabla "Formatos para representaciones de serie de fechas" no se modifica. 8.3.3.3 Series de hora Una representación de serie de una hora es una serie que empieza con un dígito y tiene una longitud de 4 caracteres como mínimo. Se pueden incluir blancos de cola; se puede omitir un cero inicial de la parte de hora de la hora y los segundos pueden omitirse enteramente. Si elige omitir los segundos, se supondrá una especificación implícita de 0 segundos. De este modo, 13:30 es equivalente a 13:30:00. La tabla "Formatos para representaciones de serie de horas" no se modifica. 8.3.3.4 Series de indicación de fecha y hora Una representación de serie de una indicación de fecha y hora es una serie que empieza con dígito y tiene una longitud de 16 caracteres como mínimo. La representación de serie completa de una indicación de fecha y hora tiene el formato aaaa-mm-dd-hh.mm.ss.nnnnnn. Se pueden incluir blancos de cola; se pueden omitir los ceros iniciales de la parte de mes, día u hora de la indicación de fecha y hora y los microsegundos pueden truncarse u omitirse por completo. Si elige omitir cualquier dígito de la parte de microsegundos, se supondrá una especificación implícita de 0. De este modo, 1991-3-2-8.30.00 es equivalente a 1991-03-02-08.30.00.000000. 8.3.3.5 Consideraciones acerca del juego de caracteres Las series de indicación de fecha y hora sólo deben contener caracteres y dígitos. 8.3.3.6 Formatos de fecha y hora La representación de serie de los formatos de fecha y hora es el formato por omisión de los valores de fecha y hora asociados con el código de país/región de la aplicación. Este formato por omisión puede alterarse temporalmente especificando la opción de formato DATETIME al precompilar o enlazar el programa a la base de datos. ------------------------------------------------------------------------ Administration Guide: Implementation ------------------------------------------------------------------------ 9.1 Capítulo 8. Recuperación de una base de datos 9.1.1 Cómo utilizar la suspensión de E/S En el Capítulo 8, que trata de la "Recuperación de una base de datos", se ha añadido y actualizado la sección siguiente sobre el uso de la función de suspensión de E/S: Nota: La información facilitada a continuación sobre el programa de utilidad db2inidb sustituye la información del manual Novedades de la Versión 7.2. El programa db2inidb es una nueva herramienta suministrada con DB2 que puede realizar una recuperación frente a una anomalía grave y colocar la base de datos en un estado pendiente de recuperación en avance. La suspensión de E/S da soporte a la continua disponibilidad del sistema al proporcionar una implementación completa del manejo de la reflexión dividida en línea, es decir, de la división de una reflexión sin cerrar la base de datos. Si un cliente no se puede permitir efectuar copias de seguridad en línea o fuera de línea en una base de datos grande, puede efectuar copias de seguridad o copias del sistema a partir de una imagen de reflexión utilizando la suspensión de E/S y la reflexión dividida. La suspensión de E/S impide las grabaciones en disco para asegurarse de que la imagen de reflexión dividida de una base de datos sea coherente. Todas las operaciones de base de datos, aparte de la copia de seguridad en línea y la restauración, deberían funcionar normalmente mientras una base de datos se encuentre suspendida. No obstante, puede que algunas operaciones se cuelguen al intentar desechar páginas incorrectas de la agrupación de almacenamientos intermedios o de los almacenamientos intermedios de anotaciones cronológicas en las anotaciones cronológicas. Estas operaciones se deberían reanudar normalmente una vez que se haya reanudado la E/S de la base de datos. Es importante que la E/S de la base de datos se reanude desde la misma conexión desde la que se ha suspendido inicialmente. De lo contrario, puede que se cuelgue un intento subsiguiente de conexión si requiere que se desechen páginas incorrectas de la agrupación de almacenamientos intermedios en el disco. La reflexión de una base de datos implica principalmente la copia de todo el contenido del directorio de la base de datos. También es necesario copiar el directorio de las anotaciones cronológicas y cualquier contenedor de espacio de tablas si no están ubicados en el directorio de la base de datos. Puesto que la base de datos reflejada con división depende de estas vías de acceso de directorio, las vías de acceso donde se copien estos directorios deben ser idénticas a las del sistema primario. Esto significa que la instancia también debe ser la misma. Como resultado de esta dependencia, no es posible reflejar una base de datos en el mismo sistema de la primaria, a menos que se utilice la nueva opción de "reubicación" de la herramienta db2inidb. La finalidad de la opción de "reubicación" es reubicar una base de datos en un determinado sistema utilizando un archivo de configuración especificado. Esto puede implicar el cambio del directorio de base de datos interno, de nombres de directorio de contenedor, del directorio de anotaciones cronológicas, del nombre de la instancia y del nombre de la base de datos. Suponiendo que el directorio de la base de datos, los directorios de contenedor y el directorio de anotaciones cronológicas se reflejen satisfactoriamente en diferentes vías de acceso de directorio dentro del mismo sistema de la base de datos primaria, se puede utilizar la herramienta db2inidb con la opción de "reubicación" para actualizar las vías de acceso internas de la base de datos reflejada. Más abajo, encontrará un escenario de utilización de esta opción. Los usos de db2inidb serán distintos en función de cómo se reflejen los dispositivos de almacenamiento. Los usos siguientes dan por supuesta la reflexión coherente de toda la base de datos en el sistema de almacenamiento. En un entorno de múltiples nodos, la herramienta db2inidb se debe ejecutar en cada partición para poder utilizar la imagen dividida desde cualquiera de las particiones. La herramienta db2inidb se puede ejecutar en todas las particiones simultáneamente. 1. Creación de una base de datos clónica El objetivo aquí es tener un clon de la base de datos primaria a utilizar con fines de sólo lectura. El procedimiento siguiente describe cómo se puede crear una base de datos clónica: a. Suspenda las grabaciones de E/S en la base de datos primaria entrando el mandato siguiente: db2 set write suspend for database b. Utilice los mandatos de nivel de sistema operativo que sirvan para dividir la reflexión de la base de datos primaria. c. Reanude las grabaciones de E/S en la base de datos primaria entrando el mandato siguiente: db2 set write resume for database Después de la ejecución del mandato, la base de datos primaria debe volver a un estado normal. d. Monte la reflexión dividida de la base de datos desde otro sistema. e. Inicie la instancia de la base de datos entrando el mandato siguiente: db2start f. Inicie la recuperación frente a anomalía grave de DB2 entrando el mandato siguiente: db2inidb nombre_base_datos AS SNAPSHOT Nota: Este mandato eliminará el estado de grabación suspendida y retrotraerá los cambios efectuados por las transacciones que estaban en ejecución en el momento de la división. También es posible utilizar este proceso para una copia de seguridad fuera de línea, pero, si se restaura en la base de datos primaria, esta copia de seguridad no se puede utilizar para la recuperación en avance porque la cadena de anotaciones cronológicas no coincidirá. 2. Utilización de la reflexión dividida como base de datos en espera A medida que la base de datos reflejada (en espera) realiza la recuperación en avance de forma continua a través de las anotaciones cronológicas, las nuevas anotaciones cronológicas creadas por la base de datos primaria se buscan y cargan constantemente desde el sistema primario. El procedimiento siguiente describe cómo se puede utilizar la reflexión dividida como base de datos en espera: a. Suspenda las grabaciones de E/S en la base de datos primaria. db2 set write suspend for database b. Utilice los mandatos de nivel de sistema operativo que sirvan para dividir la reflexión de la base de datos primaria. c. Reanude las grabaciones de E/S en la base de datos primaria para que vuelva al proceso normal. db2 set write resume for database d. Monte la reflexión dividida de la base de datos en otro sistema. e. Coloque la reflexión en estado pendiente de recuperación en avance y recupere en avance la reflexión. db2inidb nombre_base_datos AS STANDBY Nota: Este mandato eliminará el estado de grabación suspendida y colocará la base de datos reflejada en estado pendiente de recuperación en avance. f. Copie las anotaciones cronológicas configurando un programa de salida de usuario para recuperar archivos de anotaciones cronológicas del sistema primario con el fin de asegurarse de que estén disponibles las anotaciones cronológicas más recientes para esta base de datos reflejada. g. Recupere en avance la base de datos hasta el final de las anotaciones cronológicas. h. Vuelva al paso f y repita este proceso hasta que la base de datos primaria esté inactiva. 3. Utilización de la reflexión dividida como imagen de copia de seguridad El procedimiento siguiente describe la manera de utilizar la base de datos reflejada como imagen de copia de seguridad a restaurar encima de la base de datos primaria: a. Utilice los mandatos del sistema operativo que sirvan para copiar los datos reflejados y las anotaciones cronológicas encima de la base de datos primaria. b. Inicie la instancia de la base de datos entrando el mandato siguiente: db2start c. Ejecute el mandato siguiente para colocar la base de datos reflejada en un estado pendiente de recuperación en avance y para eliminar el estado de grabación suspendida. db2inidb nombre_base_datos AS MIRROR d. Recupere en avance la base de datos hasta el final de las anotaciones cronológicas. 4. División de una reflexión sobre el mismo sistema de la base de datos primaria El procedimiento siguiente describe cómo utilizar la opción de "reubicación" de la herramienta db2inidb para reflejar una base de datos sobre el mismo sistema de la base de datos primaria. En el ejemplo se supone que la base de datos se utilizará bajo una nueva instancia. a. Cree una nueva instancia en el sistema actual. b. Suspenda las grabaciones de E/S en la base de datos primaria. db2 set write suspend for database c. Utilice los mandatos de nivel de sistema operativo que sirvan para dividir la reflexión de la base de datos primaria. Nota: El directorio de la base de datos, los directorios de contenedor y el directorio de anotaciones cronológicas se deben copiar en directorios diferentes. Si los directorios de contenedor o el directorio de anotaciones cronológicas se hallan bajo el directorio de la base de datos, únicamente habrá que copiar el directorio de la base de datos. d. Reanude las grabaciones de E/S en la base de datos primaria para que vuelva al proceso normal. db2 set write resume for database e. Cree un archivo de configuración con la información siguiente: DB_NAME=, DB_PATH=, INSTANCE=, LOG_DIR=, CONT_PATH=, ... CONT_PATH=, NODENUM= Nota: Los campos LOG_DIR y CONT_PATH sólo son necesarios si el directorio de anotaciones cronológicas y los directorios de contenedor se encuentran fuera del directorio de la base de datos. Los demás campos son necesarios, excepto NODENUM, que tomará el valor por omisión de cero si no se especifica. f. Inicie la base de datos desde la instancia recién creada. db2start g. Reubique la base de datos reflejada, elimine el estado suspendido y coloque la reflexión en el estado pendiente de recuperación en avance: db2inidb nombre_base_datos as STANDBY relocate using config_file h. Copie las anotaciones cronológicas configurando un programa de salida de usuario para recuperar archivos de anotaciones cronológicas de la base de datos primaria con el fin de asegurarse de que estén disponibles las anotaciones cronológicas más recientes para esta base de datos reflejada. i. Recupere en avance la base de datos hasta el final de las anotaciones cronológicas. j. Vuelva al paso h y repita este proceso hasta que la base de datos primaria esté inactiva. ------------------------------------------------------------------------ 9.2 Nuevo método para especificar contenedores DMS en sistemas Windows 2000 y posteriores Ahora DB2 utiliza un método nuevo para especificar contenedores de espacio de tabla DMS en bruto en los sistemas Windows 2000 y posteriores. A cada volumen dinámico o partición de disco básica se le asigna un identificador globalmente exclusivo (GUID) en el momento de crearse. Este GUID puede utilizarse como identificador de dispositivo al especificar los contenedores en una definición de espacio de tabla. Dado que los GUID son exclusivos en todo el sistema, una configuración de varios nodos tiene un GUID exclusivo para cada nodo, incluso si las definiciones de partición de disco son iguales. Se ha proporcionado una herramienta llamada db2listvolumes.exe para ayudar a visualizar los GUID para todos los volúmenes de disco definidos en un sistema Windows. La herramienta crea dos archivos en el directorio actual en la que se ejecuta. Un archivo, volumes.xml, contiene información acerca de cada volumen de disco. Está diseñado para visualizarse fácilmente en cualquier navegador habilitado para XML. El otro archivo, tablespace.ddl, contiene la sintaxis necesaria para especificar los contenedores de espacio de tabla. Antes de utilizar tablespace.ddl, deberá actualizarlo para incluir la información restante necesaria para una definición de espacio de tabla. La herramienta db2listvolumes no necesita ningún argumento de línea de mandatos. ------------------------------------------------------------------------ 9.3 Ejemplo para ampliación del Centro de control El ejemplo mostrado en el apéndice Ampliación del centro de control no es correcto y no funcionará. En su lugar, utilice la información siguiente para trabajar con el ejemplo de Java: El programa de ejemplo PluginEx.java está ubicado en el subdirectorio samples/java. PluginEx.java está instalado con DB2 Application Development Client. Para compilar PluginEx.java, se deberá incluir lo siguiente en classpath: * En plataformas Windows utilice: o UNIDAD: \sqllib\java\swingall.jar o UNIDAD: \sqllib\cc donde UNIDAD representa la unidad en la que está instalado DB2. * En plataformas UNIX utilice: o /u/db2inst1/sqllib/java/swingall.jar o /u/db2inst1/sqllib/cc/com.jar o /u/db2inst1/sqllib/cc donde /u/db2inst1 representa el directorio en el que está instalado DB2. Cree el archivo db2plug.zip para incluir todas las clases generadas a partir de la compilación de PluginEx.java. El archivo no deberá comprimirse. Por ejemplo, emita lo siguiente: zip -r0 db2plug.zip PluginEx*.class Este mandato pone todos los archivos de clase (class) en el archivo db2plug.zip y conserva la información de vía de acceso relativa. Siga las instrucciones del archivo PluginEx.java para compilar y ejecutar el ejemplo. La interfaz CCObject incluye más constantes estáticas que las que se listan en el apéndice Ampliación del Centro de control de la Guía de administración. A continuación se indican las interfaces Java para ampliar el Centro de control (CCExtension, CCObject, CCM enuAction, CCToolBarAction). Estas interfaces se listan aquí sólo para su consulta. CCExtension: // Materiales con licencia -- Propiedad de IBM // // (c) Copyright International Business Machines Corporation, 1999. // Reservados todos los derechos. // // Derechos restringidos para los usuarios del Gobierno de los EE.UU. - // Utilización, duplicación o divulgación restringidas por el // GSA ADP Schedule Contract con IBM Corp. // package com.ibm.db2.tools.cc.navigator; /** * La interfaz CCExtension permite a los usuarios ampliar la interfaz de usuario del * Centro de control añadiendo nuevos botones de la barra de herramientas, nuevos * elementos de menú y eliminar algún conjunto predefinido de acciones de menú * existentes. * * Para ello, cree un archivo java que importe el * paquete com.ibm.db2.tools.cc.navigator e implemente esta interfaz. * El nuevo archivo proporciona la implementación de la función getObjects() * y getToolbarActions(). * * La función getObjects() devuelve una matriz de CCObjects que define * los objetos existentes * que el usuario desea añadir a nuevas acciones de menú o eliminar * para modificar o configurar acciones de menú. * * La función getToolbarActions() devuelve una matriz de CCToolbarActions * que se añade a la barra de herramientas principal del Centro de control. * * Se puede utilizar un solo archivo de subclase CCExtension o varios archivos * de subclase CCExtension para definir extensiones del Centro de control. Para * que el Centro de control utilice estas extensiones, utilice los procedimientos * de configuración siguientes: * (1) Cree un archivo "db2plug.zip" que contenga todos los archivos de subclase * de CCExtension. * Los archivos no deben comprimirse. Por ejemplo, si los archivos CCExtension * están en el paquete plugin y están ubicados en el directorio plugin, emita * zip -r0 db2plug.zip plugin\*.class * Este mandato pondrá todos los archivos de clase del paquete plugin en el * archivo db2plug.zip y conservará su información de vía de acceso relativa. * (2) Para ejecutar WEBCC como applet, ponga el archivo db2plug.zip en el lugar * donde el código apunta al archivo html WEBCC. * Para ejecutar el Centro de control como una aplicación, ponga * db2plug.zip en un directorio al que apunte la variable de entorno CLASSPATH * y en el que se ejecute el Centro de control. * * Para navegadores que soporten varios archivadores, simplemente añada * "db2plug.zip" * a la lista de archivadores de la página html WEBCC. * De lo contrario, todos los archivos de subclase CCExtension, CCObject, * CCToolbarAction, CCMenuAction tendrán que estar en su vía de acceso * relativa en función del paquete al que pertenezcan. */ public interface CCExtension { /** * Obtener una matriz de objetos de subclase CCObject que definan * una lista de objetos que deben alterarse temporalmente en el * Centro de control * @return CCObject[] CCObject subclass objects array */ public CCObject[] getObjects(); /** * Obtener una matriz de objetos de subclase CCToolbarAction que represente * una lista de botones que se deben añadir a la barra de herramientas * principal del Centro de control. * @return CCToolbarAction[] matriz de objetos de subclase CCToolbarAction */ public CCToolbarAction[] getToolbarActions(); } CCObject CCObject: // // Materiales con licencia -- Propiedad de IBM // // (c) Copyright International Business Machines Corporation, 1999. // Reservados todos los derechos. // // Derechos restringidos para los usuarios del Gobierno de los EE.UU. - // Utilización, duplicación o divulgación restringidas por el // GSA ADP Schedule Contract con IBM Corp. // package com.ibm.db2.tools.cc.navigator; /** * La interfaz CCObject permite a los usuarios definir un objeto nuevo para * insertarlo en el árbol del Centro de control o para cambiar el comportamiento * de las acciones de menú de un objeto existente. */ public interface CCObject { /** * Las constantes estáticas siguientes definen una lista de tipos de objeto * disponibles para añadirse al árbol del Centro de control. */ public static final int UDB_SYSTEMS_FOLDER = 0; public static final int UDB_SYSTEM = 1; public static final int UDB_INSTANCES_FOLDER = 2; public static final int UDB_INSTANCE = 3; public static final int UDB_DATABASES_FOLDER = 4; public static final int UDB_DATABASE = 5; public static final int UDB_TABLES_FOLDER = 6; public static final int UDB_TABLE = 7; public static final int UDB_TABLESPACES_FOLDER = 8; public static final int UDB_TABLESPACE = 9; public static final int UDB_VIEWS_FOLDER = 10; public static final int UDB_VIEW = 11; public static final int UDB_ALIASES_FOLDER = 12; public static final int UDB_ALIAS = 13; public static final int UDB_TRIGGERS_FOLDER = 14; public static final int UDB_TRIGGER = 15; public static final int UDB_SCHEMAS_FOLDER = 16; public static final int UDB_SCHEMA = 17; public static final int UDB_INDEXES_FOLDER = 18; public static final int UDB_INDEX = 19; public static final int UDB_CONNECTIONS_FOLDER = 20; public static final int UDB_CONNECTION = 21; public static final int UDB_REPLICATION_SOURCES_FOLDER = 22; public static final int UDB_REPLICATION_SOURCE = 23; public static final int UDB_REPLICATION_SUBSCRIPTIONS_FOLDER = 24; public static final int UDB_REPLICATION_SUBSCRIPTION = 25; public static final int UDB_BUFFERPOOLS_FOLDER = 26; public static final int UDB_BUFFERPOOL = 27; public static final int UDB_APPLICATION_OBJECTS_FOLDER = 28; public static final int UDB_USER_DEFINED_DISTINCT_DATATYPES_FOLDER = 29; public static final int UDB_USER_DEFINED_DISTINCT_DATATYPE = 30; public static final int UDB_USER_DEFINED_DISTINCT_FUNCTIONS_FOLDER = 31; public static final int UDB_USER_DEFINED_DISTINCT_FUNCTION = 32; public static final int UDB_PACKAGES_FOLDER = 33; public static final int UDB_PACKAGE = 34; public static final int UDB_STORE_PROCEDURES_FOLDER = 35; public static final int UDB_STORE_PROCEDURE = 36; public static final int UDB_USER_AND_GROUP_OBJECTS_FOLDER = 37; public static final int UDB_DB_USERS_FOLDER = 38; public static final int UDB_DB_USER = 39; public static final int UDB_DB_GROUPS_FOLDER = 40; public static final int UDB_DB_GROUP = 41; public static final int UDB_DRDA_TABLES_FOLDER = 42; public static final int UDB_DRDA_TABLE = 43; public static final int UDB_NODEGROUPS_FOLDER = 44; public static final int UDB_NODEGROUP = 45; public static final int S390_SUBSYSTEMS_FOLDER = 46; public static final int S390_SUBSYSTEM = 47; public static final int S390_BUFFERPOOLS_FOLDER = 48; public static final int S390_BUFFERPOOL = 49; public static final int S390_VIEWS_FOLDER = 50; public static final int S390_VIEW = 51; public static final int S390_DATABASES_FOLDER = 52; public static final int S390_DATABASE = 53; public static final int S390_TABLESPACES_FOLDER = 54; public static final int S390_TABLESPACE = 55; public static final int S390_TABLES_FOLDER = 56; public static final int S390_TABLE = 57; public static final int S390_INDEXS_FOLDER = 58; public static final int S390_INDEX = 59; public static final int S390_STORAGE_GROUPS_FOLDER = 60; public static final int S390_STORAGE_GROUP = 61; public static final int S390_ALIASES_FOLDER = 62; public static final int S390_ALIAS = 63; public static final int S390_SYNONYMS_FOLDER = 64; public static final int S390_SYNONYM = 65; public static final int S390_APPLICATION_OBJECTS_FOLDER = 66; public static final int S390_COLLECTIONS_FOLDER = 67; public static final int S390_COLLECTION = 68; public static final int S390_PACKAGES_FOLDER = 69; public static final int S390_PACKAGE = 70; public static final int S390_PLANS_FOLDER = 71; public static final int S390_PLAN = 72; public static final int S390_PROCEDURES_FOLDER = 73; public static final int S390_PROCEDURE = 74; public static final int S390_DB_USERS_FOLDER = 75; public static final int S390_DB_USER = 76; public static final int S390_LOCATIONS_FOLDER = 77; public static final int S390_LOCATION = 78; public static final int S390_DISTINCT_TYPES_FOLDER = 79; public static final int S390_DISTINCT_TYPE = 80; public static final int S390_USER_DEFINED_FUNCTIONS_FOLDER = 81; public static final int S390_USER_DEFINED_FUNCTION = 82; public static final int S390_TRIGGERS_FOLDER = 83; public static final int S390_TRIGGER = 84; public static final int S390_SCHEMAS_FOLDER = 85; public static final int S390_SCHEMA = 86; public static final int S390_CATALOG_TABLES_FOLDER = 87; public static final int S390_CATALOG_TABLE = 88; public static final int DCS_GATEWAY_CONNECTIONS_FOLDER = 89; public static final int DCS_GATEWAY_CONNECTION = 90; public static final int S390_UTILITY_OBJECTS_FOLDER = 91; public static final int S390_DATASET_TEMPLATES_FOLDER = 92; public static final int S390_DATASET_TEMPLATE = 93; public static final int S390_UTILITY_LISTS_FOLDER = 94; public static final int S390_UTILITY_LIST = 95; public static final int S390_UTILITY_PROCEDURES_FOLDER = 96; public static final int S390_UTILITY_PROCEDURE = 97; /** * Númerto total de tipos de objeto */ public static final int NUM_OBJECT_TYPES = 98; /** * Obtener el nombre de este objeto * * La función devuelve el nombre de este objeto. Este nombre * puede ser de tres tipos: * (1) Nombre totalmente calificado * Sintaxis: xxxxx-yyyyy-zzzzz * donde xxxxx-yyyyy es el nombre totalmente calificado del objeto padre * y zzzzz es el nombre del objeto nuevo. * Nota: El nombre de objeto padre e hijo están separados por el carácter '-'. * Si se necesita un nombre de esquema para identificar el objeto, el nombre * totalmente calificado se representa mediante xxxxx-yyyyy-wwwww.zzzzz * donde wwwww es el nombre de esquema. * Sólo quedará afectado el comportamiento del objeto que coincide * con este nombre totalmente calificado. * (2) Nombre totalmente calificado del padre * Sintaxis: xxxxx-yyyyy * donde xxxxx-yyyyy es el nombre totalmente calificado del * objeto padre. * Cuando el tipo de objeto es carpeta (es decir, DATABASES_FOLDER), * getName() sólo deberá devolver el nombre totalmente calificado del * padre de la carpeta. * Sólo quedará afectado el comportamiento del objeto que coincida * con este nombre y del tipo específico devuelto por la función * getType(). * (3) null * Sintaxis: null * Si se devuelve null, se aplicarán las devoluciones de CCMenuActions * por parte de la llamada getMenuActions() a todos los objetos de las * devoluciones de tipo por parte de la llamada getType(). * @return nombre de objeto String */ public String getName(); /** * Obtener el tipo de este objeto * @return int devolver una de las constantes de tipo estático definidas en esta * interfaz */ public int getType(); /** * Obtener la matriz de Acción de CCMenu que define la lista de acciones de menú * que se deben crear para el objeto * return CCMenuAction[] matriz CCMenuAction */ public CCMenuAction[] getMenuActions(); /** * Comprobar si este objeto se puede editar. Si no se puede, los elementos del * menú relacionado Modificar se eliminarán del menú emergente del objeto devolver * booleana Si falso, el elemento de menú Modificar se eliminará del menú emergente * del objeto. * Devolver verdadero si no desea modificar el comportamiento del elemento de menú * Modificar actual. */ public boolean isEditable(); /** * Comprobar si este objeto se puede configurar. Si no se puede, los elementos * de menú relacionados de la configuración se eliminarán del menú emergente * del objeto devolver booleano Si falso, el elemento de menú relacionado * Configuración se eliminará del menú emergente del objeto. * Devolver verdadero si no desea modificar el comportamiento de Configuración * actual. */ public boolean isConfigurable(); } CCMenuAction: // // Materiales con licencia -- Propiedad de IBM // // (c) Copyright International Business Machines Corporation, 1999. // Reservados todos los derechos. // // Derechos restringidos para los usuarios del Gobierno de los EE.UU. - // Utilización, duplicación o divulgación restringidas por el // GSA ADP Schedule Contract con IBM Corp. // package com.ibm.db2.tools.cc.navigator; import java.awt.event.*; import javax.swing.*; /** * La clase CCMenuAction permite a los usuarios definir un nuevo elemento de menú * para añadirlo a un objeto del Centro de control. El nuevo elemento de menú se * añadirá al final del menú emergente de un objeto. * * Nota: Si el objeto tiene un elemento de menú Renovar y/o Filtrar del Centro de * control, el nuevo elemento de menú se insertará antes del menú Renovar y * Filtrar. Los elementos de menú Renovar y Filtrar del Centro de control * están siempre al final del menú emergente. */ public interface CCMenuAction { /** * Obtener el nombre de esta acción * @return texto de Nombre de serie del elemento de menú */ public String getMenuText(); /** * Se invoca cuando se produce una acción. * @param e Suceso acción */ public void actionPerformed(ActionEvent e); } CCToolBarAction // Materiales con licencia -- Propiedad de IBM // // (c) Copyright International Business Machines Corporation, 1999. // Reservados todos los derechos. // // Derechos restringidos para los usuarios del Gobierno de los EE.UU. - // Utilización, duplicación o divulgación restringidas por el // GSA ADP Schedule Contract con IBM Corp. // package com.ibm.db2.tools.cc.navigator; import java.awt.event.*; import javax.swing.*; /** * La clase de interfaz CCToolbarAction permite a los usuarios definir una * acción nueva para añadirla a la barra de herramientas del Centro de control. */ public interface CCToolbarAction { /** * Obtener el nombre de esta acción * @return texto de Nombre de serie del elemento de menú o botón de barra * de herramientas en ayuda */ public String getHoverHelpText(); /** * Obtener el icono para el botón de barra de herramientas * Cualquier CCAction de la barra de herramientas debe alterar temporalmente * esta función y devolver un objeto ImageIcon válido. De lo contrario, el * botón no tendrá icono. * @return Icono ImageIcon a visualizar */ public ImageIcon getIcon(); /** * Se invoca cuando se produce una acción. * @param e Suceso acción */ public void actionPerformed(ActionEvent e); } ------------------------------------------------------------------------ Guía de administración: Rendimiento ------------------------------------------------------------------------ 10.1 Esquemas de las tablas temporales del sistema El esquema de una tabla temporal del sistema está determinado por el ID de aplicación y el ID de autorización que la crean. Si se dispone de estos datos, el esquema en que se crea la tabla es . En algunas circunstancias, las tablas se crean utilizando únicamente uno de estos ID para determinar el esquema y, a veces, ninguno. Esto puede tener como consecuencia tablas tales como AUTHID.TEMPTABLENAME o .TEMPTABLENAME. Puede ver la información de esquema de estas tablas mediante el mandato GET SNAPSHOT. Para obtener información sobre este mandato, consulte el manual Consulta de mandatos ------------------------------------------------------------------------ 10.2 Capítulo 8. Rendimiento operativo 10.2.1 Agrupación de almacenamientos intermedios basada en bloques Sólo se soporta esta característica en el Entorno operativo Sun Solaris. Debido a la actividad general de E/S, las páginas captadas previamente de disco constituyen una operación cara. La captación previa de DB2 mejora significativamente el rendimiento cuando se puede solapar el proceso con la E/S. La mayoría de plataformas proporcionan primitivos de alto rendimiento para leer páginas contiguas de disco en porciones no contiguas de la memoria. Estos primitivos se suelen denominar "lectura dispersa" o "E/S vectorial". En algunas plataformas, el rendimiento de estos primitivos no puede competir con la realización de E/S en tamaños de bloque grandes. Por omisión, las agrupaciones de almacenamientos intermedios se basan en páginas. Es decir, que las páginas contiguas de disco se captan previamente en páginas no contiguas de la memoria. El rendimiento de la captación previa se puede mejorar más en dichas plataformas si se puede leer páginas de disco en páginas contiguas de una agrupación de almacenamientos intermedios. Existe una variable de registro, DB2_BLOCK_BASED_BP, que permite crear en la agrupación de almacenamientos intermedios una sección que contenga conjuntos de páginas contiguas. A estos conjuntos de páginas contiguas se les denomina "bloques". Estableciendo esta variable de registro, una captación previa secuencial leerá las páginas de disco directamente en estos bloques, en lugar de leer cada una de las páginas individualmente. Esto mejorará el rendimiento de E/S. Para obtener más información sobre esta variable de registro, consulte el apartado 'Registry and Environment Variables' del manual Administration Guide. Es posible vincular varios espacios de tablas de tamaños de extensión distintos a una agrupación de almacenamientos intermedios del mismo tamaño de bloque. Existe una gran relación entre los tamaños de extensión y los tamaños de bloque, aunque se trata de conceptos distintos. Una extensión es la granularidad con que se separan los espacios de tablas en varios contenedores. Un bloque es la única granularidad con que los servidores de E/S que realizan peticiones secuenciales de captación previa considerarán el realizar E/S basada en bloques. Las peticiones secuenciales individuales de captación previa utilizan páginas de tamaño extendido. Cuando se recibe una petición de captación previa de este tipo, el servidor de E/S determina el coste y el beneficio de realizar cada una de las peticiones como E/S basada en bloques (si existe un área basada en bloques en la agrupación de almacenamientos intermedios), en lugar de realizar la E/S basada en páginas mediante el método de lectura dispersa. El beneficio de realizar la E/S como E/S basada en bloques es el incremento de rendimiento obtenido de leer el disco contiguo en memoria contigua. El coste es la cantidad de memoria de agrupación de almacenamientos intermedios desaprovechada que puede resultar de la utilización de este método. La memoria de agrupación de almacenamientos intermedios se puede desaprovechar por dos motivos al realizar E/S basada en bloques: * El número de páginas de la petición de captación previa contiene un número de páginas inferior al de un bloque. Es decir, el tamaño de extensión es menor que el tamaño de bloque. * Algunas de las páginas solicitadas formando parte de la petición de captación previa ya se encuentran en el área de páginas de la agrupación de almacenamientos intermedios. Nota: Los bloques del área basada en bloques de una agrupación de almacenamientos intermedios no se pueden subdividir. Todas las páginas del bloque deben ser contiguas. Como consecuencia, existe la posibilidad de que se desaproveche espacio. El servidor de E/S admite algunas páginas desaprovechadas en cada bloque, a fin de beneficiarse de realizar una E/S basada en bloques. Sin embargo, cuando se desaproveche una parte excesiva de un bloque, el servidor de E/S invertirá el proceso para utilizar una captación previa basada en páginas en el área de páginas de la agrupación de almacenamientos intermedios. Como resultado, parte de la E/S realizada durante la captación previa no estará basada en bloques. Ésta no es una condición óptima. Para obtener un rendimiento óptimo, es conveniente que los espacios de tablas del mismo tamaño de extensión estén vinculados a una agrupación de almacenamientos intermedios que tenga el mismo tamaño de bloque. También se puede lograr un buen rendimiento si el tamaño de extensión de algunos espacios de tablas es mayor que el tamaño de bloque de la agrupación de almacenamientos intermedios a la que están vinculados. No es aconsejable vincular espacios de tablas a una agrupación de almacenamientos intermedios cuando el tamaño de extensión es menor que el tamaño de bloque. Nota: El área de bloques de una agrupación de almacenamientos intermedios sólo se utiliza para la captación previa secuencial. Si el sistema implica poca captación previa secuencial, o ninguna, el área de bloques será una porción desaprovechada de la agrupación de almacenamientos intermedios. Para una agrupación de almacenamientos intermedios, no se pueden configurar a la vez AWE y el soporte basado en bloques. Si las variables de registro DB2_AWE y DB2_BLOCK_BASED_BP hacen referencia a la misma agrupación de almacenamientos intermedios, se dará prioridad a AWE. En este caso, se inhabilitará el soporte basado en bloques y sólo se rehabilitará una vez que se inhabilite AWE. Una agrupación de almacenamientos intermedios que utiliza almacenamiento ampliado no soporta la E/S basada en bloques. 10.2.1.1 Ejemplos de agrupación de almacenamientos intermedios basada en bloques Antes de trabajar con cualquiera de los ejemplos, deberá conocer los identificadores de las agrupaciones de almacenamientos intermedios del sistema. Puede ver el ID de una agrupación de almacenamientos intermedios en la columna BUFFERPOOLID o en la vista de catálogos del sistema SYSCAT.BUFFERPOOLS. Escenario 1 Dispone de una agrupación de almacenamientos intermedios con un ID de 4 y que contiene 1000 páginas. Desea crear un área de bloques formada por 700 páginas, en la que cada bloque contenga 32 páginas. Debe ejecutar el mandato siguiente: db2set DB2_BLOCK_BASED_BP=4,700,32 Cuando se inicie la base de datos, se creará la agrupación de almacenamientos intermedios con ID 4, con un área de bloques de 672 páginas y un área de páginas de 328 páginas. En este ejemplo, 700 no se puede dividir equitativamente entre 32. Esto significa que el tamaño del área de bloques especificado se ha tenido que reducir al límite de tamaño de bloque más próximo utilizando la fórmula siguiente: ((tamaño del área de bloques)) FLOOR(----------------------------) X tamaño de bloque ( (tamaño bloque) ) ( 700 ) = FLOOR(-----------------) X 32 ( 32 ) = 21 x 32 = 672 Escenario 2 Dispone de una agrupación de almacenamientos intermedios con un ID de 11 y que contiene 3000 páginas. Desea crear un área de bloques formada por 2700 páginas. Debe ejecutar el mandato siguiente: db2set DB2_BLOCK_BASED_BP=11,2700 Cuando se inicie la base de datos, se creará la agrupación de almacenamientos intermedios con ID 11, con un área de bloques de 2688 páginas y un área de páginas de 312 páginas. Si no se especifica ningún valor explícito para el tamaño de bloque, se utiliza el valor por omisión de 32. En este ejemplo, 2700 no se puede dividir equitativamente entre 32. Esto significa que el tamaño del área de bloques especificado se ha tenido que reducir al límite de tamaño de bloque más próximo utilizando la fórmula siguiente: ((tamaño del área de bloques)) FLOOR(----------------------------) X tamaño de bloque ( (tamaño bloque) ) ( 2700 ) = FLOOR(-----------------) X 32 ( 32 ) = 84 x 32 = 2688 ------------------------------------------------------------------------ 10.3 Capítulo 10. Ajuste de la configuración mediante la adición de procesadores 10.3.1 Problemas al añadir nodos a una base de datos particionada Cuando se añaden nodos a una base de datos particionada que tiene uno o más espacios de tablas temporales del sistema con un tamaño de página diferente del tamaño de página por omisión (4 KB), puede recibir este mensaje de error: "SQL6073N Ha fallado la operación de añadir nodo" y un SQLCODE. Esto se produce porque, cuando se crea el nodo sólo, existe la agrupación de almacenamientos intermedios IBMDEFAULTBP con un tamaño de página de 4 KB. Por ejemplo, puede utilizar el mandato db2start para añadir un nodo a la base de datos particionada actual: DB2START NODENUM 2 ADDNODE HOSTNAME newhost PORT 2 Si la base de datos particionada tiene espacios de tablas temporales del sistema con el tamaño de página por omisión, se devuelve el siguiente mensaje: SQL6075W La operación Iniciar gestor de bases de datos ha añadido satisfactoriamente el nodo. El nodo no está activo hasta que se detienen todos los nodos y se vuelve a iniciar. Sin embargo, si la base de datos particionada tiene espacios de tablas temporales del sistema que no tienen el tamaño de página por omisión, se devuelve el mensaje siguiente: SQL6073N Ha fallado la operación de nodo. SQLCODE = "<-902>" En un ejemplo similar, puede utilizar el mandato ADD NODE después de actualizar manualmente el archivo db2nodes.cfg con la nueva descripción de nodo. Después de editar el archivo y ejecutar el mandato ADD NODE con una base de datos particionada que tiene espacios de tablas temporales del sistema con el tamaño de página por omisión, se devuelve el mensaje siguiente: DB20000I El mandato ADD NODE se completó satisfactoriamente. Sin embargo, si la base de datos particionada tiene espacios de tablas temporales del sistema que no tienen el tamaño de página por omisión, se devuelve el mensaje siguiente: SQL6073N Ha fallado la operación de nodo. SQLCODE = "<-902>" Un modo de evitar los problemas descritos previamente consiste en ejecutar: DB2SET DB2_HIDDENBP=16 antes de emitir db2start o el mandato ADD NODE. Esta variable de registro permite que DB2 asigne agrupaciones de almacenamientos intermedios ocultas de 16 páginas cada una utilizando un tamaño de página diferente del valor por omisión. Esto permite que la operación ADD NODE se complete satisfactoriamente. Otro modo de evitar estos problemas consiste en especificar la cláusula WITHOUT TABLESPACES en ADD NODE o el mandato db2start. Después de esto, deberá crear las agrupaciones de almacenamientos intermedios utilizando la sentencia CREATE BUFFERPOOL y asociar los espacios de tablas temporales del sistema con la agrupación de almacenamientos intermedios utilizando la sentencia ALTER TABLESPACE. Cuando se añaden nodos a un grupo de nodos existentes que tienen uno o más espacios de tablas con un tamaño de página diferente del tamaño de página por omisión (4 KB), puede recibir el mensaje de error: "SQL0647N La agrupación de almacenamientos intermedios "" no está activa actualmente.". Esto se produce porque las agrupaciones de almacenamientos intermedios que no tienen el tamaño de página por omisión creadas en el nuevo nodo no se han activado para los espacios de tablas. Por ejemplo, puede utilizar la sentencia ALTER NODEGROUP para añadir un nodo a un grupo de nodos: DB2START CONNECT TO mpp1 ALTER NODEGROUP ng1 ADD NODE (2) Si el grupo de nodos tiene espacios de tablas con el tamaño de página por omisión, se devuelve el mensaje siguiente: SQL1759W Es necesario redistribuir el grupo de nodos para cambiar la posición de los datos para que los objetos del grupo de nodos " incluyan algunos nodos añadidos o excluyan algunos nodos eliminados. Sin embargo, si el grupo de nodos tiene espacios de tablas que no tienen el tamaño de página por omisión, el mensaje que se devuelve es: SQL0647N La agrupación de almacenamientos intermedios "" no está activa actualmente. Un modo de evitar este problema consiste en crear agrupaciones de almacenamientos intermedios para cada tamaño de página y, a continuación, volver a conectar con la base de datos antes de emitir la sentencia ALTER NODEGROUP: DB2START CONNECT TO mpp1 CREATE BUFFERPOOL bp1 SIZE 1000 PAGESIZE 8192 CONNECT RESET CONNECT TO mpp1 ALTER NODEGROUP ng1 ADD NODE (2) Un segundo modo de evitar el problema consiste en ejecutar: DB2SET DB2_HIDDENBP=16 antes de emitir el mandato db2start y las sentencias CONNECT y ALTER NODEGROUP. Otro problema se puede producir cuando se utiliza la sentencia ALTER TABLESPACE para añadir un espacio de tablas a un nodo. Por ejemplo: DB2START CONNECT TO mpp1 ALTER NODEGROUP ng1 ADD NODE (2) WITHOUT TABLESPACES ALTER TABLESPACE ts1 ADD ('ts1') ON NODE (2) Estas series de mandatos y sentencias generan el mensaje de error SQL0647N (no el mensaje esperado SQL1759W). Para completar este cambio correctamente, debe volver a conectar con la base de datos después de la sentencia ALTER NODEGROUP... WITHOUT TABLESPACES. DB2START CONNECT TO mpp1 ALTER NODEGROUP ng1 ADD NODE (2) WITHOUT TABLESPACES CONNECT RESET CONNECT TO mpp1 ALTER TABLESPACE ts1 ADD ('ts1') ON NODE (2) Otro modo de evitar el problema consiste en ejecutar: DB2SET DB2_HIDDENBP=16 antes de emitir el mandato db2start y las sentencias CONNECT, ALTER NODEGROUP y ALTER TABLESPACE. ------------------------------------------------------------------------ 10.4 Capítulo 13. Configuración de DB2 10.4.1 Terminación del archivador de anotaciones cronológicas comprobada ahora más frecuentemente Para mejorar el tiempo de recuperación evitando peticiones innecesarias del archivador de anotaciones cronológicas, ahora el servidor de bases de datos comprueba la terminación del archivador de anotaciones cronológicas cuando se crea un archivo de anotaciones cronológicas nuevo o cuando cambia la primera anotación cronológica activa. ------------------------------------------------------------------------ 10.5 Variables de registro y de entorno de DB2 10.5.1 Correcciones a variables relativas al rendimiento Tabla 5. Variables relativas al rendimiento Nombre de variable Sistema Valores operativo Descripción DB2_BINSORT Todos Valor por omisión=NO Valores: YES o NO Permite un nuevo algoritmo de clasificación que reduce el tiempo de CPU y el tiempo transcurrido de las clasificaciones. Este nuevo algoritmo amplía la técnica de clasificación de enteros extremadamente eficiente de DB2 UDB a toda clase de tipos de datos, por ejemplo BIGINT, CHAR, VARCHAR, FLOAT y DECIMAL, así como a combinaciones de estos tipos de datos. Para habilitar este nuevo algoritmo, utilice el mandato siguiente: db2set DB2_BINSORT = yes DB2_BLOCK_BASED_BP Solaris Valor por omisión=None Valores: según los parámetros Especifica los valores necesarios para crear un área de bloques en una agrupación de almacenamientos intermedios. El ID de la agrupación de almacenamientos intermedios es necesario y se puede ver en la columna BUFFERPOOLID o en la vista de catálogos del sistema SYSCAT.BUFFERPOOLS. Se debe indicar el número de páginas que se asignarán a la E/S basada en bloques en la agrupación de almacenamientos intermedios. El número de páginas a incluir en un bloque es opcional, con un valor por omisión de 32. El formato para usar esta variable de registro es: DB2_BLOCK_BASED_BP=BUFFER POOL ID,BLOCK AREA SIZE,[BLOCK SIZE];... Es posible definir varias agrupaciones de almacenamientos intermedios como basadas en bloques mediante la utilización de la misma variable, con un signo de punto y coma para separar las entradas. El valor de BLOCK SIZE puede ir de 2 a 256. Si no se especifica BLOCK SIZE, el valor por omisión utilizado es 32. Si el BLOCK AREA SIZE especificado es mayor que el 98% del tamaño total de la agrupación de almacenamientos intermedios, la agrupación no se creará basada en bloques. Es buena práctica disponer siempre de una porción de la agrupación de almacenamientos intermedios en el área basada en páginas, puesto que existe la posibilidad de que se necesiten páginas individuales aunque la mayor parte de la E/S del sistema se realice con captación previa secuencial. Si el valor especificado para BLOCK AREA SIZE no es múltiplo de BLOCK SIZE, se reduce al próximo límite del tamaño de bloque. Para obtener más información sobre la E/S basada en bloques, consulte el apartado 10.2.1, Agrupación de almacenamientos intermedios basada en bloques. DB2_NO_FORK_CHECK UNIX Valor por omisión=OFF Valores: ON u OFF Cuando esta variable sea "ON", el proceso del cliente no se protegerá a sí mismo frente al hecho de que una aplicación cree una copia del proceso que se debe ejecutar (se denomina creación y arranque de otro proceso). Cuando tienen lugar la creación y el arranque de otro proceso (la acción de fork), los resultados son imprevisibles. El rango de los resultados puede ir desde la ausencia de efectos a algún resultado anómalo, a la devolución de algún código de error o a una ruptura en la aplicación. Si está seguro de que la aplicación no efectuará un fork y desea un mejor rendimiento, debe cambiar el valor de esta variable por el valor "ON". DB2_MINIMIZE_LIST_PREFETCH Todos Valor por omisión=NO Valores: YES o NO La captación previa de lista es un método de acceso a tabla especial que incluye la recuperación de los RID de calificación del índice, clasificándolos por número de página y luego captando previamente las páginas de datos. A veces, el optimizador no tiene información precisa para determinar si la captación previa de lista es un buen método de acceso. Esto puede producirse cuando las selectividades de predicado contienen marcadores de parámetro o variables de sistema principal que impiden al optimizador utilizar estadísticas de catálogo para determinar la selectividad. Esta variable de registro impedirá al optimizador tener en cuenta la captación previa de lista en estas situaciones. DB2_INLIST_TO_NLJN Todos Valor por omisión=NO Valores: YES o NO En algunas situaciones, el compilador SQL puede volver a escribir un predicado de lista IN en una unión. Por ejemplo, la consulta siguiente: SELECT * FROM EMPLOYEE WHERE DEPTNO IN ('D11', 'D21', 'E21') puede escribirse como: SELECT * FROM EMPLOYEE, (VALUES 'D11', 'D21', 'E21) AS V(DNO) WHERE DEPTNO = V.DNO Esta revisión puede proporcionar un rendimiento mejor si hay índice en DEPTNO. Primero se deberá acceder a la lista de valores y ésta deberá unirse a EMPLOYEE con una unión de bucle anidada utilizando el índice para aplicar el predicado de unión. A veces el optimizador no tiene información precisa para determinar el mejor método de unión para la versión reescrita de la consulta. Esto puede producirse si la lista IN contiene marcadores de parámetro o variables de sistema principal que impiden al optimizador utilizar estadísticas de catálogo para determinar la selectividad. Esta variable de registro hará que el optimizador favorezca las uniones de bucle anidadas para unir la lista de valores, utilizando la tabla que contribuye en la lista IN como la tabla interna de la unión. 10.5.2 Correcciones y adiciones a variables de registro diversas La variable de registro DB2_NEWLOGPATH2 está disponible para todos los sistemas operativos. Se ha incorporado una nueva variable, DB2_ROLLFORWARD_NORETRIEVE. A continuación, aparece la información correcta sobre ambas variables. Tabla 6. Variables diversas Nombre de variable Sistema Valores operativo Descripción DB2_NEWLOGPATH2 TODOS Valor por omisión=NO Valores: YES o NO Este parámetro le permite especificar si se debe utilizar una vía de acceso secundaria para implementar la anotación cronológica dual. La vía de acceso utilizada se genera añadiendo un "2" al valor actual del parámetro de configuración de base de datos logpath. DB2_ROLLFORWARD_NORETRIEVE TODOS Valor por omisión=(no establecido) Valores: YES o NO Si se habilita el parámetro de configuración de base de datos USEREXIT, se recuperan automáticamente archivos de anotaciones cronológicas del archivo de archivar durante las operaciones de recuperación en avance. La variable DB2_ROLLFORWARD_NORETRIEVE permite especificar que las operaciones de recuperación en avance no recuperen archivos de anotaciones cronológicas del archivo de archivar. Esta variable está inhabilitada por omisión. Establezca esta variable en YES si no desea que la recuperación en avance recupere archivos de anotaciones cronológicas automáticamente. Por ejemplo, establezca la variable en YES en una configuración en espera activa cuando desee impedir que registros cronológicos creados por una aplicación con anomalías corrompan el sistema de copia de seguridad. 10.5.3 Correcciones y adiciones a variables de registro generales Se ha incorporado una nueva variable, DB2_REDUCED_OPTIMIZATION. Tabla 7. Variable de registro general Nombre de variable Sistema Valores operativo Descripción DB2_REDUCED_OPTIMIZATION TODOS Valor por omisión=NO Valores: YES, NO o cualquier entero Esta variable de registro le permite inhabilitar algunas de las técnicas de optimización utilizadas en niveles de optimización específicos. Si reduce el número de técnicas de optimización utilizadas, también reducirá el tiempo y la utilización de recursos durante la optimización. Nota: Aunque se pueden reducir el tiempo de optimización y la utilización de recursos, aumenta el riesgo de generar un plan de acceso a los datos menos mejorado. * Si se establece en NO El optimizador no cambia sus técnicas de optimización. * Si se establece en YES Si el nivel de optimización es 5 (el valor por omisión) o menos, el optimizador inhabilita algunas técnicas de optimización que pueden consumir tiempo de preparación y recursos significativos, pero que normalmente no generan un plan de acceso mejor. Si el nivel de optimización es exactamente 5, el optimizador recorta el número de técnicas adicionales o inhabilita algunas de ellas, de tal forma que se pueden reducir más el tiempo de optimización y la utilización de recursos pero también aumentará en mayor medida el riesgo de un plan de acceso menos mejorado. Para los niveles de optimización inferiores al 5, algunas de estas técnicas pueden no tener efecto en ningún caso. No obstante, si están presentes, permanecen en la práctica. * Si se establece en cualquier entero El efecto es el mismo que si el valor se establece en YES, con el siguiente comportamiento adicional para las consultas preparadas dinámicamente cuya optimización es de nivel 5: Si el número total de uniones en cualquier bloque de consulta sobrepasa el valor, el optimizador conmuta a la enumeración escasa de uniones en lugar de inhabilitar técnicas de optimización adicionales tal como se ha descrito antes respecto al nivel de optimización 5, lo que implica que la consulta se optimizará a un nivel similar al nivel de optimización 2. A fin de obtener información sobre la enumeración de uniones escasa y dinámica, consulte la sección acerca de las estrategias de búsqueda para la selección de la unión óptima, en el manual Administration Guide: Performance. Tenga en cuenta que la reducción de la optimización dinámica en el nivel de optimización 5, descrita en la sección sobre el ajuste de la clase de optimización en el manual Guía de administración: Rendimiento, toma preferencia sobre el comportamiento descrito para el nivel de optimización de exactamente 5 cuando DB2_REDUCED_OPTIMIZATION se establece en YES, así como sobre el comportamiento descrito para el valor entero. ------------------------------------------------------------------------ Administering Satellites Guide and Reference ------------------------------------------------------------------------ 11.1 Configuración de la Versión 7.2 de DB2 Personal Edition y DB2 Workgroup Edition como satélites Las siguientes secciones describen cómo configurar la Versión 7.2 de los sistemas DB2 Personal Edition y DB2 Workgroup Edition basados en Windows de modo que se puedan utilizar como satélites con funcionalidad completa en un entorno de satélites. Para obtener información sobre los términos y conceptos utilizados en la siguiente información, consulte el manual Administering Satellites Guide and Reference. Puede encontrar este manual en el URL siguiente: http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/v6pubs.d2w/en_main Para ver notas técnicas que complementan la información del manual Administering Satellites Guide and Reference, consulte el URL siguiente: http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/ 11.1.1 Requisitos previos Para configurar DB2 Personal Edition o DB2 Workgroup Edition como satélites, necesita: 1. Un servidor de control de DB2 El servidor de control de DB2 es un sistema DB2 Enterprise Edition que se ejecuta en Windows NT o AIX y que tiene instalado el componente Servidor de control. El sistema DB2 Enterprise Edition que utilice debe estar al nivel de la Versión 6 con FixPak 2 o superior o de la Versión 7 con cualquier nivel de FixPak. o Si tiene un sistema Versión 6 Enterprise Edition que desea utilizar como servidor de control de DB2, consulte 11.1.3, Instalación del FixPak 2 o superior en un sistema Versión 6 Enterprise Edition. o Si utiliza la Versión 7 y no tiene el componente Servidor de control instalado, instale este componente, vuelva a instalar los FixPak que ya ha instalado y luego cree la instancia del servidor de control de DB2 y la base de datos de control de satélites. Consulte el manual Administering Satellites Guide and Reference para ver instrucciones sobre cómo crear estos objetos. Nota: Si está instalando un sistema Versión 7.2 Enterprise Edition en Windows NT para utilizarlo como servidor de control de DB2 y desea realizar una instalación de archivo de respuestas, consulte la nota técnica denominada Palabras clave del servidor de control de DB2 para obtener información sobre las palabras clave a especificar en el archivo de respuestas. 2. La instancia del servidor de control de DB2 y la base de datos de control de satélites La instancia del servidor de control de DB2 se suele llamar DB2CTLSV y la base de datos de control de satélites se llama SATCTLDB. La instancia del servidor de control de DB2 y la base de datos de control de satélites están en el sistema Enterprise Edition y, en Windows NT, se crean automáticamente cuando instala DB2 con el componente Servidor de control. Si instala DB2 en AIX, consulte el manual Administering Satellites Guide and Reference para obtener información sobre cómo crear la instancia del servidor de control de DB2 y la base de datos de control de satélites. 3. El Centro de administración de satélites El Centro de administración de satélites es un grupo de herramientas de GUI que puede utilizar para configurar y administrar el entorno de satélites. Puede acceder a este grupo de herramientas desde el Centro de control. Para obtener más información sobre el Centro de administración de satélites y el entorno de satélites, consulte el manual Administering Satellites Guide and Reference y la ayuda en línea disponible desde el Centro de administración de satélites. Si está ejecutando un Centro de control de la Versión 6, consulte el tema 11.1.4, Actualización de una Versión 6 del Centro de control y del Centro de administración de satélites. Si aún no ha utilizado el Centro de administración de satélites para configurar el entorno de satélites y para crear el objeto que representa el nuevo satélite en el Centro de administración de satélites, debe hacerlo antes de instalar el satélite. Para obtener más información, consulte la descripción sobre cómo configurar y probar un entorno de satélites en el manual Administering Satellites Guide and Reference. 4. Un sistema Versión 7.2 Personal Edition o Workgroup Edition que desea utilizar como satélite. 11.1.1.1 Consideraciones sobre la instalación Cuando instala DB2 Personal Edition o DB2 Workgroup Edition, no tiene que seleccionar ningún componente especial para habilitar un sistema a sincronizar. Si tiene intención de realizar una instalación de archivo de respuestas, consulte Cómo realizar una instalación de archivo de respuestas para ver las palabras clave que tiene que especificar al instalar el sistema Versión 7.2. Si está realizando una instalación interactiva del sistema Versión 7.2, consulte 11.1.2, Configuración del sistema Versión 7.2 para la sincronización cuando haya terminado de instalar DB2 para ver los valores que debe definir en el sistema Versión 7.2 para habilitarlo para sincronizar. Cómo realizar una instalación de archivo de respuestas Si está realizando una instalación de archivo de respuestas de la Versión 7.2 de DB2 Personal Edition o DB2 Workgroup Edition, puede definir las siguientes palabras clave en el archivo de respuestas. Si decide no especificar una o más palabras clave durante la instalación de archivo de respuestas, consulte 11.1.2, Configuración del sistema Versión 7.2 para la sincronización para ver los pasos adicionales a seguir después de instalar DB2 para habilitar el sistema Versión 7.2 a sincronizar. También puede seguir las instrucciones de esta sección si desea cambiar cualquiera de los valores especificados durante la instalación de archivo de respuestas. db2.db2satelliteid Define el ID del satélite en el sistema. Nota: Si no especifica esta palabra clave, el ID del satélite se define automáticamente como el ID de usuario utilizado para instalar DB2. Si desea utilizar este ID de usuario como ID del satélite, no tiene que especificar ningún valor para esta palabra clave. db2.db2satelliteappver Define la versión de la aplicación en el sistema. Nota: Si no especifica esta palabra clave, la versión de la aplicación en el satélite se establece automáticamente en V1R0M00. Si desea utilizar este valor como la versión de la aplicación, no tiene que especificar ningún valor para esta palabra clave. db2.satctldb_username Define el nombre de usuario a utilizar para que el sistema se conecte a la base de datos de control de satélites. db2.satctldb_password Define la contraseña que el nombre de usuario pasa al servidor de control de DB2 cuando el nombre de usuario se conecta a la base de datos de control de satélites. Una vez finalizada la instalación de archivo de respuestas, el sistema Versión 7.2 está listo para sincronizar. Debe emitir el mandato db2sync -t en el satélite para verificar que los valores especificados en el satélite son correctos y que el satélite se puede conectar a la base de datos de control de satélites. Para obtener más información sobre cómo realizar una instalación de archivo de respuestas, consulte el manual Administering Satellites Guide and Reference. Notas: 1. En la Versión 7, se necesitan ID de usuario y contraseñas para la creación de todos los servicios en Windows NT y Windows 2000. Estos ID de usuario y contraseñas se especifican en el archivo de respuestas mediante pares de palabras clave. El primer par de palabras clave del archivo de respuestas se convierte en el ID de usuario y contraseña correspondientes a todos los servicios, a no ser que altere temporalmente estos valores para un servicio, especificando el par específico de palabras clave para dicho servicio. En la Versión 6, las palabras clave admin.userid y admin.password se pueden especifican durante una instalación de archivo de respuestas de DB2 Satellite Edition para especificar el ID de usuario y contraseña que utilizaría el Servicio de mandatos remoto. Para la Versión 7.2 de Personal Edition y Workgroup Edition, si especifica estas palabras clave, se utilizan para la instancia de DB2DAS00 en el sistema Versión 7.2. Para un sistema DB2 Versión 7.2, el Servicio de mandatos remoto utilizará el ID de usuario y contraseña que utiliza la instancia de DB2 en el sistema. Si no especifica valores para db2.userid y db2.password, se aplica la regla de valores por omisión descrita anteriormente. 2. En la Versión 6, podía crear una base de datos al instalar DB2 Satellite Edition utilizando una instalación de archivo de respuestas. No puede crear una base de datos durante una instalación de archivo de respuestas en la Versión 7.2 de Personal Edition o Workgroup Edition que tiene intención de utilizar como un satélite. Las siguientes palabras clave (que se describen en el manual Administering Satellites Guide and Reference) no reciben soporte: o db2.userdb_name o db2.userdb_recoverable o db2.userdb_rep_src 11.1.2 Configuración del sistema Versión 7.2 para la sincronización Si instala el sistema versión 7.2 de forma interactiva, debe establecer varios valores en el sistema DB2 Personal Edition o DB2 Workgroup Edition después de instalar DB2 para que el sistema pueda sincronizar. Nota: Puede ejecutar un script del sistema operativo en el sistema para establecer todos los valores en el satélite, excepto el ID de usuario y la contraseña que utiliza el satélite para conectar con la base de datos de control de satélites (consulte el paso 4). 1. Establezca el ID del satélite mediante el mandato db2set. Si instala DB2 Personal Edition o DB2 Workgroup Edition de forma interactiva, el ID de satélite se establece automáticamente en el ID de usuario que se utilizó para instalar DB2. Si desea utilizar este ID de usuario como el ID del satélite, no tiene que llevar a cabo este paso. Para obtener información sobre cómo establecer el ID del satélite, consulte el manual Administering Satellites Guide and Reference. 2. Establezca la versión de la aplicación en el satélite mediante el mandato db2sync -s. Si instala DB2 Personal Edition o DB2 Workgroup Edition de forma interactiva, la versión de la aplicación en el satélite se establece automáticamente en V1R0M00. Si desea utilizar este valor como la versión de la aplicación, no tiene que llevar a cabo este paso. Puede utilizar el mandato db2sync -g en el satélite para ver el valor actual de la versión de la aplicación. Si desea cambiar este valor, emita el mandato db2sync -s. Se le solicitará que proporcione un nuevo valor para la versión de la aplicación. Para obtener más información sobre cómo establecer la versión de la aplicación, consulte el manual Administering Satellites Guide and Reference. 3. Emita los mandatos catalog node y catalog database en el satélite para catalogar la instancia del servidor de control de DB2 y la base de datos de control de satélites, SATCTLDB, en el satélite. También puede utilizar el mandato db2sync -t en el satélite para abrir la aplicación DB2 Synchronizer en modalidad de prueba. Si la base de datos SATCTLDB no está catalogada en el satélite cuando emite el mandato, se abre la ventana Catalogar base de datos de control. Puede utilizar la característica de descubrimiento de DB2 disponible en la ventana Catalogar base de datos de control para catalogar el servidor de control de DB2 y la base de datos SATCTLDB o bien puede escribir el nombre del sistema principal y el nombre del servidor en esta ventana. También se le solicitará que especifique el ID de usuario y contraseña que utilizará el satélite para conectar con la base de datos de control de satélites, tal como se describe en el paso 4. Nota: Después de instalar la Versión 7.2 de DB2 Personal Edition o DB2 Workgroup Edition de forma interactiva, el programa DB2 Synchronizer no se inicia automáticamente en modalidad de prueba (que era el caso de la Versión 6 de DB2 Satellite Edition). 4. Emita el mandato db2sync -t en el satélite para: o Especificar el ID de usuario y la contraseña que utilizará el satélite para conectar con la base de datos de control de satélites. Si las credenciales de sincronización aún no están almacenadas en el satélite, se abre la ventana Conectar con base de datos de control. Debe utilizar esta ventana para especificar el ID de usuario y contraseña que utilizará el satélite para conectar con la base de datos de control de satélites. o Verifique que los valores establecidos en el satélite son correctos o Verifique que el satélite se puede conectar con la base de datos de control de satélites Una vez realizadas estas tareas de configuración, el sistema Versión 7.2 está listo para sincronizar. 11.1.3 Instalación del FixPak 2 o superior en un sistema Versión 6 Enterprise Edition Para que un sistema Enterprise Edition Versión 6 se utilice como servidor de control de DB2, el sistema debe tener instalado el FixPak 2 o posteriores. Las secciones siguientes describen las tareas que debe llevar a cabo para actualizar un sistema Versión 6 Enterprise Edition en Windows NT o AIX para utilizarlo como servidor de control de DB2. Si está utilizando un Centro de control Versión 6, realice también los pasos del tema 11.1.4, Actualización de una Versión 6 del Centro de control y del Centro de administración de satélites para verificar que tiene el nivel correcto del Centro de control y del Centro de administración de satélites para administrar el entorno de satélites. 11.1.3.1 Actualización de la Versión 6 de DB2 Enterprise Edition para utilizarlo como servidor de control de DB2 Para poder utilizar un sistema Versión 6 de DB2 Enterprise Edition como servidor de control de DB2, se debe instalar con el componente Servidor de control y DB2 Enterprise Edition debe estar al nivel de servicio FixPak 2 o superior. En función de si está instalado el componente Servidor de control de DB2 y del nivel de servicio de DB2 Enterprise Edition, tendrá que llevar a cabo una de las siguientes tareas: * Instale el componente Servidor de control de DB2 en un sistema DB2 Enterprise Edition V6.1 existente e instale el FixPak 2 o superior. Luego actualice la base de datos de control de satélites (SATCTLDB) en el sistema. * Actualice un servidor de control de DB2 ya instalado al nivel del FixPak 2 o superior. Utilice la siguiente información para identificar cuál de las dos tareas anteriores tiene que llevar a cabo y los pasos que se aplican a la situación. A continuación se muestra un resumen de los pasos que llevará a cabo. 1. En primer lugar, evalúe el estado actual de la instalación de DB2 Enterprise Edition. Determinará si el componente Servidor de control está instalado y el nivel de servicio de DB2. 2. En segundo lugar, según la información de estado obtenida, determinará lo que se tiene que hacer. 3. En tercer lugar, llevará a cabo los pasos necesarios para actualizar DB2 Enterprise Edition. El servidor de control de DB2 sólo se puede ejecutar en DB2 Enterprise Edition para Windows NT y AIX. Continúe con las instrucciones adecuadas para su plataforma: * Actualización de DB2 Enterprise Edition en Windows NT * Actualización de DB2 Enterprise Edition en AIX Actualización de DB2 Enterprise Edition en Windows NT Utilice la información de las secciones siguientes para determinar el nivel de servicio actual del sistema Versión 6 de DB2 Enterprise Edition y los pasos que tiene que llevar a cabo para actualizar el sistema al nivel de servicio del FixPak o superior. Tendrá que llevar a cabo los pasos de una o más de las siguientes secciones: * Evaluación de DB2 Enterprise Edition en Windows NT * Determinación de lo que se tiene que llevar a cabo * Instalación del componente Servidor de control en Windows NT * Instalación del FixPak 2 o superior en Windows NT * Actualización de la base de datos SATCTLDB en Windows NT Evaluación de DB2 Enterprise Edition en Windows NT Si tiene DB2 Enterprise Edition instalado en Windows NT, siga los pasos siguientes: 1. Compruebe si el componente Servidor de control está instalado. Utilice el Editor de registros para visualizar la lista de componentes instalados: a. Entre regedit en un indicador de mandatos. b. Bajo la clave de registro HKEY_LOCAL_MACHINE\SOFTWARE\IBM\DB2\Components, compruebe si aparece el Servidor de control. Si no aparece, significa que el servidor de control no está instalado. 2. Determine el nivel de servicio de DB2 Enterprise Edition. Emita el mandato db2level desde un indicador de mandatos. Utilice la tabla siguiente para interpretar la salida: Valores de campos clave de la salida de db2level El sistema DB2 Release Nivel Símbolos informativos está al nivel: SQL06010 01010104 db2_v6, n990616 Versión 6.1 base SQL06010 01020104 DB2 V6.1.0.1, n990824, Versión 6.1 WR21136 más FixPak 1 SQL06010 01030104 DB2 V6.1.0.6, s991030, Versión 6.1 WR21163 o DB2 V6.1.0.9, más FixPak 2 s000101, WR21173 Nota: Si el nivel es superior a 01030104, el sistema tiene instalado un FixPak superior al FixPak 2. 3. Anote la información encontrada y continúe en Determinación de lo que se tiene que llevar a cabo. Determinación de lo que se tiene que llevar a cabo Con la información obtenida, busque la fila de la siguiente tabla que se aplica a su situación y siga los pasos necesarios para preparar el sistema DB2 Enterprise Edition para que dé soporte al servidor de control de DB2 al nivel del FixPak 2 o superior. Las secciones que hay después de la tabla proporcionan instrucciones para llevar a cabo los pasos necesarios. Si lo desea, puede marcar cada paso después de llevarlo a cabo. Sólo lleve a cabo los pasos que se apliquen a su situación. Componente Servidor de Nivel de servicio del Pasos que hay que seguir control instalado sistema DB2 Enterprise para preparar el sistema Edition DB2 Enterprise Edition No Versión 6.1 base, Realice los pasos Versión 6.1 más FixPak 1 siguientes: o Versión 6.1 más FixPak 2 o superior 1. Instalación del componente Servidor de control en Windows NT 2. Instalación del FixPak 2 o superior en Windows NT 3. Actualización de la base de datos SATCTLDB en Windows NT Sí Versión 6.1 base o Realice los pasos Versión 6.1 más FixPak 1 siguientes: 1. Instalación del FixPak 2 o superior en Windows NT 2. Actualización de la base de datos SATCTLDB en Windows NT Sí Versión 6.1 más FixPak 2 Realice el paso o superior siguiente: 1. Actualización de la base de datos SATCTLDB en Windows NT Instalación del componente Servidor de control en Windows NT Para instalar el componente Servidor de control en Windows NT: 1. Asegúrese de que ha finalizado toda la actividad de bases de datos en el sistema antes de continuar. 2. Inserte el CD de DB2 Universal Database Enterprise Edition Versión 6.1 en la unidad de CD. Si el programa de instalación no se inicia automáticamente, ejecute el mandato setup que hay en la raíz del CD para comenzar el proceso de instalación. 3. Cuando se le solicite, cierre todos los procesos que estén utilizando DB2. 4. En la ventana de bienvenida, seleccione Siguiente. 5. En la ventana Seleccionar productos, asegúrese de que DB2 Enterprise Edition está seleccionado. 6. En el panel Seleccionar tipo de instalación, pulse Personalizada. 7. En el panel Seleccionar componentes, asegúrese de que el Servidor de control está seleccionado y pulse Siguiente. Nota: Si si selecciona otros componentes que aún no están instalados en el sistema, dichos componentes también se instalarán. No puede modificar la unidad ni directorio en el que se instala DB2. 8. En los paneles Configurar servicios de DB2, puede modificar los valores de protocolo y las opciones de arranque correspondientes a la instancia del Servidor de control o puede aceptar los valores por omisión. Modifique los valores por omisión y pulse Siguiente o pulse Siguiente para utilizar los valores por omisión. 9. Pulse Siguiente en la ventana Empezar a copiar archivos para comenzar el proceso de instalación. 10. Cuando finalice el proceso de copia de archivo, tiene la opción de volver a arranca el sistema. Debe volverlo a arrancar ahora. Los cambios realizados en el sistema correspondientes al Servidor de control no entran en vigor hasta que se vuelve a arrancar el sistema. Cuando haya finalizado el proceso de instalación y haya vuelto a arrancar el sistema, la base de datos de control de satélites (SATCTLDB) creada como parte de la instalación del Servidor de control se debe catalogar en la instancia de DB2 si desea utilizar el Centro de control y el Centro de administración de satélites de forma local en el sistema. Para catalogar la base de datos SATCTLDB: 1. Abra una ventana de mandatos de DB2 seleccionando Inicio>Programas>DB2 para Windows NT>Ventana de mandatos 2. Asegúrese de que está en la instancia de db2. Emita el mandato set y compruebe el valor de db2instance. Si el valor no es db2, emita el siguiente mandato: set db2instance=db2 3. Catalogue la instancia db2ctlsv entrando el siguiente mandato: db2 catalog local node db2ctlsv instance db2ctlsv 4. Catalogue la base de datos SATCTLDB entrando el siguiente mandato: db2 catalog database satctldb at node db2ctlsv 5. Confirme las acciones de catalogación entrando el siguiente mandato: db2 terminate 6. Cierre la Ventana de mandatos de DB2. Instalación del FixPak 2 o superior en Windows NT Para actualizar un sistema Versión 6 de DB2 Enterprise Edition existente en Windows NT al FixPak 2 o superior, puede: * Bajar el último FixPak para DB2 Enterprise Edition para Windows NT V6.1 de la Web, junto con el archivo readme que le acompaña. El FixPak se puede bajar siguiendo las instrucciones del URL: http://www.ibm.com/software/data/db2/db2tech/version61.html Instalar el FixPak siguiendo las instrucciones del archivo readme.txt. * Utilizar un CD FixPak de DB2 Universal Database, Versión 6.1 para Windows NT que esté al nivel del FixPak 2 o superior y seguir las instrucciones del archivo readme.txt del directorio WINNT95 del CD para completar la instalación. Actualización de la base de datos SATCTLDB en Windows NT Para actualizar la base de datos SATCTLDB en Windows NT 1. Determine el nivel de la base de datos SATCTLDB: a. Inicie una sesión con un ID de usuario que tenga autorización administrativa local en el sistema Windows NT. b. Abra una ventana de mandatos de DB2 seleccionando Inicio>Programas>DB2 para Windows NT>Ventana de mandatos. c. Conéctese a SATCTLDB entrando el siguiente mandato: db2 connect to satctldb d. Determine si el desencadenante I_BATCHSTEP_TRGSCR existe en la base de datos emitiendo la siguiente consulta: db2 select name from sysibm.systriggers where name='I_BATCHSTEP_TRGSCR' Anote el número de filas que se devuelven. e. Entre el siguiente mandato para cerrar la conexión con la base de datos: db2 connect reset Si el paso 1d ha devuelto una fila, significa que la base de datos está al nivel correcto. En este caso, sáltese el paso 2 y continúe en el paso 3. Si se devuelven cero (0) filas, significa que la base de datos no está al nivel correcto y se tiene que actualizar, tal como se describe en el paso 2, antes de poder llevar a cabo el paso 3. 2. Para actualizar la base de datos SATCTLDB, siga los pasos siguientes. Entre todos los mandatos en la Ventana de mandatos de DB2: a. Vaya al directorio \misc, donde es la unidad y vía de acceso de instalación, por ejemplo c:\sqllib. b. Asegúrese de que está en la instancia db2ctlsv. Emita el mandato set y compruebe el valor de db2instance. Si el valor no es db2ctlsv, emita el mandato siguiente: set db2instance=db2ctlsv c. Elimine la base de datos SATCTLDB entrando el siguiente mandato: db2 drop database satctldb d. Cree la nueva base de datos SATCTLDB entrando el siguiente mandato: db2 -tf satctldb.ddl -z satctldb.log e. Emita el mandato siguiente: db2 terminate 3. Vincule el procedimiento almacenado db2satcs.dll a la base de datos SATCTLDB. Realice los pasos siguientes: a. Conéctese a la base de datos SATCTLDB entrando el siguiente mandato: db2 connect to satctldb b. Vaya al directorio \bnd, donde es la unidad y vía de acceso de instalación, por ejemplo c:\sqllib. c. Emita el mandato bind del siguiente modo: db2 bind db2satcs.bnd 4. Entre el siguiente mandato para cerrar la conexión con la base de datos: db2 connect reset 5. Cierre la Ventana de mandatos de DB2. Actualización de DB2 Enterprise Edition en AIX Utilice la información de las secciones siguientes para determinar el nivel de servicio actual del sistema Versión 6 de DB2 Enterprise Edition y los pasos que tiene que llevar a cabo para actualizar el sistema al nivel de servicio del FixPak o superior. Tendrá que llevar a cabo los pasos de una o más de las siguientes secciones: * Evaluación de DB2 Enterprise Edition en AIX * Determinación de lo que se tiene que llevar a cabo * Instalación del componente Servidor de control en AIX * Instalación del FixPak 2 o superior en AIX * Actualización de la base de datos SATCTLDB en AIX Evaluación de DB2 Enterprise Edition en AIX Si tiene la Versión 6 de DB2 Enterprise Edition instalada en AIX, lleve a cabo los pasos siguientes: 1. Compruebe si el componente Servidor de control está instalado. Entre el mandato siguiente: lslpp -l | grep db2_06_01.ctsr Si no se devuelve ningún dato, significa que el componente Servidor de control no está instalado. 2. Determine el nivel de servicio de DB2 Enterprise Edition. Inicie una sesión como propietario de la instancia de DB2 y emita el mandato db2level. Utilice la tabla siguiente para interpretar la salida: Valores de campos clave de la salida de db2level El sistema DB2 Release Nivel Símbolos informativos está al nivel: SQL06010 01010104 db2_v6, n990616 Versión 6.1 base SQL06010 01020104 DB2 V6.1.0.1, n990824, Versión 6.1 U465423 más FixPak 1 SQL06010 01030104 DB2 V6.1.0.6, s991030, Versión 6.1 U468276 o DB2 V6.1.0.9, más FixPak 2 s000101, U469453 Nota: Si el nivel es superior a 01030104, el sistema tiene instalado un FixPak superior al FixPak 2. 3. Anote la información encontrada y continúe en Determinación de lo que se tiene que llevar a cabo. Determinación de lo que se tiene que llevar a cabo Con la información obtenida, busque la fila de la siguiente tabla que se aplica a su situación y siga los pasos necesarios para preparar el sistema Versión 6 de DB2 Enterprise Edition para que dé soporte al servidor de control de DB2 al nivel del FixPak 2. Las secciones que hay después de la tabla proporcionan instrucciones para llevar a cabo los pasos necesarios. Si lo desea, puede marcar cada paso después de llevarlo a cabo. Sólo lleve a cabo los pasos que se apliquen a su situación. Componente Servidor de Nivel de servicio del Pasos que hay que seguir control instalado sistema DB2 Enterprise para preparar el sistema Edition DB2 Enterprise Edition No Versión 6.1 base, Realice los pasos Versión 6.1 más FixPak 1 siguientes: o Versión 6.1 más FixPak 2 o superior 1. Instalación del componente Servidor de control en AIX 2. Instalación del FixPak 2 o superior en AIX 3. Actualización de la base de datos SATCTLDB en AIX Sí Versión 6.1 base o Realice los pasos Versión 6.1 más FixPak 1 siguientes: 1. Instalación del FixPak 2 o superior en AIX 2. Actualización de la base de datos SATCTLDB en AIX Sí Versión 6.1 más FixPak 2 Realice el paso o superior siguiente: 1. Actualización de la base de datos SATCTLDB en AIX Instalación del componente Servidor de control en AIX Para instalar el componente Servidor de control en AIX 1. Inicie una sesión como usuario con autorización root. 2. Inserte el CD de DB2 Universal Database Enterprise Edition Versión 6.1 en la unidad de CD. 3. Cambie al directorio en el que está montado el CD, por ejemplo cd /cdrom. 4. Escriba el siguiente mandato para iniciar el programa de instalación de DB2: ./db2setup 5. Cuando se abra la ventana del programa de instalación de DB2, utilice la tecla tabuladora para seleccionar la opción Instalar y pulse Intro. 6. Busque la línea Enterprise Edition y utilice la tecla tabuladora para seleccionar la opción Personalizar que hay junto a la misma. Pulse Intro. 7. Seleccione el componente Servidor de control de DB2, vaya a OK y pulse Intro. 8. Siga las instrucciones de las demás ventanas para completar la instalación del componente Servidor de control de DB2. Una vez finalizado el proceso de instalación, cree la instancia DB2CTLSV y la base de datos SATCTLDB. Para llevar a cabo estas tareas, siga las instrucciones detalladas del tema "Setting up the DB2 Control Server on AIX" del Capítulo 13 del manual Administering Satellites Guide and Reference. Instalación del FixPak 2 o superior en AIX Para actualizar un sistema DB2 Enterprise Edition en AIX al FixPak 2 o superior, puede: * Bajar el último FixPak para DB2 Enterprise Edition para AIX V6.1 de la Web, junto con el archivo Readme que le acompaña. El FixPak se puede bajar siguiendo las instrucciones del URL: http://www.ibm.com/software/data/db2/db2tech/version61.html Instalar el FixPak siguiendo las instrucciones del archivo Readme del Fixpak * Utilizar un CD FixPak de DB2 Universal Database, Versión 6.1 para AIX que esté al nivel del FixPak 2 o superior y seguir las instrucciones del directorio readme del CD para completar la instalación. Asegúrese de haber actualizado la instancia DB2CTLSV ejecutando el mandato db2iupdt tal como se indica en el archivo Readme del FixPak. Actualización de la base de datos SATCTLDB en AIX Para actualizar la base de datos SATCTLDB en AIX: 1. Determine el nivel de la base de datos SATCTLDB: a. Inicie una sesión como db2ctlsv. b. Asegúrese de que el servidor de bases de datos se ha iniciado. Si el servidor no se ha iniciado, emita el mandato db2start. c. Conéctese a la base de datos SATCTLDB entrando el siguiente mandato: db2 connect to satctldb d. Determine si el desencadenante I_BATCHSTEP_TRGSCR existe en la base de datos emitiendo la siguiente consulta: db2 "select name from sysibm.systriggers where name='I_BATCHSTEP_TRGSCR'" Anote el número de filas que se devuelven. e. Entre el siguiente mandato para cerrar la conexión con la base de datos: db2 connect reset Si el paso 1d ha devuelto una fila, significa que la base de datos está al nivel correcto. En este caso, sáltese el paso 2 y continúe en el paso 3. Si se devuelven cero (0) filas, significa que la base de datos no está al nivel correcto y se tiene que actualizar, tal como se describe en el paso 2, antes de poder llevar a cabo el paso 3. 2. Para actualizar la base de datos SATCTLDB al nivel del FixPak 2, siga los pasos siguientes. Entre todos los mandatos en la Ventana de mandatos de DB2: a. Cambie al directorio $HOME/sqllib/misc. b. Elimine la base de datos SATCTLDB entrando el siguiente mandato: db2 drop database satctldb c. Cree la nueva base de datos SATCTLDB entrando el siguiente mandato: db2 -tf satctldb.ddl -z $HOME/satctldb.log d. Emita el mandato siguiente: db2 terminate 3. Vincule el procedimiento almacenado db2satcs.dll a la base de datos SATCTLDB. Realice los pasos siguientes: a. Conéctese a la base de datos SATCTLDB entrando el siguiente mandato: db2 connect to satctldb b. Cambie al directorio $HOME/sqllib/bnd. c. Emita el mandato bind del siguiente modo: db2 bind db2satcs.bnd 4. Entre el siguiente mandato para cerrar la conexión con la base de datos: db2 connect reset 11.1.4 Actualización de una Versión 6 del Centro de control y del Centro de administración de satélites Para utilizar una Versión 6 del Centro de control y del Centro de administración de satélites con una Versión 6 del Centro de control de DB2 y de la base de datos de control de satélites (SATCTLDB) que se han actualizado al FixPak 2 o superior, las herramientas también se tienen que actualizar al FixPak 2 o superior. Si el Centro de control y el Centro de administración de satélites se están ejecutando en el mismo sistema que el servidor de control de DB2, se actualizaron cuando se actualizó el sistema DB2 Enterprise Edition al FixPak 2. Sin embargo, si ejecuta estas herramientas en otro sistema, debe actualizar dicho sistema al nivel del FixPak 2 o superior. Para actualizar este sistema al FixPak 2 o superior: * Baje de la Web el último FixPak correspondiente a su producto al nivel V6.1, junto con el archivo readme que le acompaña. Los FixPak se puede bajar siguiendo las instrucciones del URL: http://www.ibm.com/software/data/db2/db2tech/version61.html Instale el FixPak siguiendo las instrucciones del archivo readme. * Utilice un CD FixPak de DB2 Universal Database, Versión 6.1 correspondiente al sistema operativo que está ejecutando que está al nivel del FixPak 2 o superior y siga las instrucciones del archivo readme para completar la instalación. ------------------------------------------------------------------------ Consulta de mandatos ------------------------------------------------------------------------ 12.1 Actualización disponible El manual Consulta de mandatos se ha actualizado como parte del FixPak 4. El último PDF está disponible para bajarlo en línea desde http://www.ibm.com/software/data/db2/udb/winos2unix/support. La información contenida en estas notas es adicional a la consulta actualizada. Toda la documentación actualizada también está disponible en CD. Se puede solicitar dicho CD a través del servicio de DB2 y utilizando el número de PTF U478862. Puede encontrar información sobre cómo entrar en contacto con el Servicio de DB2 en http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/help.d2w/report . ------------------------------------------------------------------------ 12.2 db2updv7 - Actualizar la base de datos al nivel de arreglo actual de la versión 7 Este mandato actualiza los catálogos del sistema de una base de datos para dar soporte al FixPak actual de los modos siguientes: * Permite utilizar las nuevas funciones incorporadas: ABS, DECRYPT_BIN, DECRYPT_CHAR, ENCRYPT, GETHINT, MULTIPLY_ALT y ROUND. * Permite utilizar las nuevas funciones incorporadas para bases de datos Unicode: DATE(vargraphic), TIME(vargraphic), TIMESTAMP(vargraphic), GRAPHIC(expresión-fechahora), GRAPHIC(expresión-fecha), GRAPHIC(expresión-hora) y VARGRAPHIC(expresión-fechahora). * Permite utilizar los procedimientos incorporados nuevos (GET_ROUTINE_SAR y PUT_ROUTINE_SAR). * Añade o aplica correcciones a las funciones WEEK_ISO y DAYOFWEEK_ISO en bases de datos Windows y OS/2. * Aplica una corrección a los descriptores empaquetados de tabla para tablas migradas de la Versión 2 a la Versión 6. * Crea la vista SYSCAT.SEQUENCES. Autorización sysadm Conexión necesaria Base de datos. Este mandato establece automáticamente una conexión con la base de datos especificada. Sintaxis del mandato >>-db2updv7---d--nombre_basedatos-------------------------------> >--+-------------------------------+--+----+------------------->< '--u--idusuario---p--contraseña-' '--h-' Parámetros del mandato -d nombre-basedatos Especifica el nombre de la base de datos que se va a actualizar. -u idusuario Especifica el ID de usuario. -p contraseña Especifica la contraseña del usuario. -h Muestra información de ayuda. Al especificar esta opción, se pasarán por alto todas las demás opciones y sólo se visualizará la información de ayuda. Ejemplo Después de instalar el FixPak, actualice el catálogo del sistema en la base de datos de ejemplo emitiendo el mandato siguiente: db2updv7 -d ejemplo Notas de utilización Esta herramienta sólo puede utilizarse en una base de datos que ejecuta DB2 Versión 7.1 o Versión 7.2 en la que se haya instalado al menos el FixPak 2. Si se emite el mandato más de una vez, no se comunica ninguno de los errores y cada una de las actualizaciones de catálogo sólo se aplica una vez. Para habilitar las funciones incorporadas nuevas, todas las aplicaciones deben desconectarse de esta base de datos y la base de datos debe desactivarse en el caso de que se hubiera activado. ------------------------------------------------------------------------ 12.3 REBIND El diagrama de sintaxis del mandato REBIND debe ser como sigue: Missing value Sintaxis del mandato >>-REBIND--+---------+--nombre-paquete--------------------------> '-PACKAGE-' .-ANY----------. >--RESOLVE--+-CONSERVATIVE-+----------------------------------->< ------------------------------------------------------------------------ 12.4 db2inidb - Inicializar una base de datos reflejada La descripción del parámetro RELOCATE USING archivoconfig debe ser como sigue: Especifica que los archivos de la base de datos se reubicarán en base a la información indicada en el archivo de configuración, antes de inicializar la base de datos como instantánea, en espera o reflejada. Nota: Para obtener información acerca del formato del archivo de configuración, consulte el manual Data Movement Utilities Guide and Reference. 12.4.1 Información de utilización Si se especifica el parámetro RELOCATE USING archivoconfig y la base de datos se reubica satisfactoriamente, el archivo de configuración se copia en el directorio de bases de datos y se renombra como db2path.cfg. Durante cualquier recuperación en avance o recuperación frente a anomalía grave subsiguiente, se utiliza este archivo de configuración para renombrar dinámicamente las vías de acceso de contenedor mientras se procesa el archivo de anotaciones cronológicas. Si inicializa una base de datos como instantánea o reflejada, el archivo de configuración se elimina automáticamente una vez completada la recuperación. Si inicializa una base de datos en espera, no sólo se elimina el archivo de configuración después de completarse la recuperación, sino también en caso de cancelarse el proceso de recuperación. Si está trabajando con una base de datos en espera que mantiene en estado pendiente con el fin de poder recuperarla en avance continuamente y añade nuevos contenedores a la base de datos original, podrá actualizar manualmente el archivo db2path.cfg para indicar dónde deben almacenarse los contenedores correspondientes a la base de datos en espera. Si no especifica una ubicación para los nuevos contenedores, DB2 intentará almacenarlos en la misma ubicación que los originales. ------------------------------------------------------------------------ 12.5 Opción adicional del mandato GET ROUTINE Ahora este mandato da soporte al parámetro HIDE BODY, que especifica que el cuerpo de la rutina debe sustituirse por un cuerpo vacío cuando el texto de la rutina se extrae de los catálogos. Esto no afecta al código compilado; sólo afecta al texto. GET ROUTINE Sintaxis del mandato >>-GET ROUTINE--INTO--nombre_archivo--FROM--+----------+--------> '-SPECIFIC-' >----PROCEDURE----nombre_rutina--+-----------+----------------->< '-HIDE BODY-' ------------------------------------------------------------------------ 12.6 CREATE DATABASE Ahora DB2 soporta las palabras clave de secuencia de clasificación nuevas, IDENTITY_16BIT y SQL_CS_IDENTITY_16BIT, para bases de datos Unicode. Cuando se especifica IDENTITY_16BIT para el mandato CLP CREATE DATABASE o se establece SQLEDBDESC.SQLDBCSS en SQL_CS_IDENTITY_16BIT en sqlecrea() -- API para crear base de datos, todos los datos de la base de datos Unicode se clasifican utilizando el orden CESU-8. CESU-8 es el Esquema de codificación de compatibilidad para UTF-16: 8 bits, y en la fecha en que se ha escrito este manual, su especificación está contenida en el Draft Unicode Technical Report (Borrador de informe técnico de Unicode) núm. 26 disponible en el sitio web de Unicode Technical Consortium (www.unicode.org). CESU-8 es código binario idéntico a UTF-8 excepto en los caracteres suplementarios Unicode, es decir, los caracteres que se definen fuera del Nivel multilingüe básico (Basic Multilingual Plane - BMP) o Nivel 0 de 16 bits. En codificación UTF-8, un carácter suplementario se representa mediante una secuencia de 4 bytes, pero el mismo carácter en CESU-8 necesita dos secuencias de 3 bytes. En una base de datos Unicode, los datos CHAR, VARCHAR, LONG VARCHAR y CLOB se almacenan en UTF-8 y los datos GRAPHIC, VARGRAPHIC, LONG VARGRAPHIC y DBCLOB se almacenan en UCS-2. Para la clasificación IDENTITY o SQL_CS_NONE, los caracteres no suplementarios en UTF-8 y UCS-2 reciben una clasificación binaria idéntica, pero los caracteres suplementarios en UTF-8 se clasifican de forma diferente respecto a los mismos caracteres en UCS-2. IDENTITY_16BIT o SQL_CS_IDENTITY_16BIT asegura que todos los caracteres, ya sean suplementarios o no, de una base de datos Unicode de DB2 tengan la misma clasificación binaria. ------------------------------------------------------------------------ Data Recovery and High Availability Guide and Reference ------------------------------------------------------------------------ 13.1 Data Recovery and High Availability Guide and Reference Available Online Ahora, el nuevo manual Data Recovery and High Availability Guide and Reference está disponible en línea, tanto en formato HTML como PDF, en http://www.ibm.com/software/data/db2/udb/winos2unix/support. La información contenida en estas notas es adicional a la consulta actualizada. Toda la documentación actualizada también está disponible en CD. Se puede solicitar dicho CD a través del servicio de DB2 y utilizando el número de PTF U478862. Puede encontrar información sobre cómo entrar en contacto con el Servicio de DB2 en http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/help.d2w/report . ------------------------------------------------------------------------ 13.2 Nuevo comportamiento de la copia de seguridad y restauración cuando LOGRETAIN=CAPTURE Si se configura una base de datos con LOGRETAIN establecido en CAPTURE, no se pueden realizar las operaciones siguientes: * Copia de seguridad en línea de la base de datos * Copia de seguridad en línea o fuera de línea a nivel de espacio de tablas * Restauración en línea o fuera de línea a nivel de espacio de tablas A continuación de una operación de restauración de una base de datos utilizando una imagen de copia de seguridad fuera de línea mientras LOGRETAIN está establecido en CAPTURE, la base de datos no se pone en estado pendiente de retrotracción. Se soporta una operación de restauración de base de datos utilizando una imagen de copia de seguridad en línea de la base de datos mientras LOGRETAIN está establecido en CAPTURE (Versión 7.2 anterior al FixPak 4). ------------------------------------------------------------------------ 13.3 Ahora, NEWLOGPATH2 se llama DB2_NEWLOGPATH2 Las referencias a la variable de registro NEWLOGPATH2 se han cambiado por DB2_NEWLOGPATH2. ------------------------------------------------------------------------ 13.4 Elección de un método de copia de seguridad para DB2 Data Links Manager en AIX o Solaris Antes de establecer la opción PASSWORDACCESS en el archivo de opciones del sistema de Tivoli Storage Manager, se debe asegurar de que /usr/lib contiene un enlace simbólico con el archivo de bibliotecas libApiDS.a. ------------------------------------------------------------------------ 13.5 Tivoli Storage Manager -- LAN Free Data Transfer Ahora DB2 Universal Database permite a los usuarios utilizar la tecnología de Tivoli LAN Free Data Transfer para realizar copias de seguridad y restauraciones en un servidor TSM. Si utiliza una de las versiones siguientes de DB2 Universal Database junto con clientes de Tivoli ADSM 3.1.x, puede experimentar problemas al realizar las copias de seguridad o restauraciones en un servidor TSM: * DB2 para AIX (32 bits) * DB2 para el Entorno operativo Solaris (32 bits) * DB2 para HP-UX (32 bits). Si experimenta tales problemas, realice los pasos siguientes para corregirlos: 1. Emita un mandato db2stop. 2. Localice el directorio sqllib/adsm en el servidor DB2 UDB. 3. Cree una copia de seguridad de libtadsm.a. Basta con efectuar una copia denominada libtadsm.a.bak. 4. Copie libadsm.a en libtasdm.a. 5. Emita un mandato db2start. 6. Vuelva a emitir el mandato de copia de seguridad o restauración que ha fallado. ------------------------------------------------------------------------ Data Movement Utilities Guide and Reference ------------------------------------------------------------------------ 14.1 Cambio en el manejo de archivos LOB por parte de las funciones de exportación, importación y carga Ahora DB2 UDB utiliza los Especificadores de ubicación de LOB (LLS) al importar, exportar y cargar información de LOB. Esto permite que múltiples LOB se almacenen en un solo archivo. Un LLS es una serie que indica dónde pueden encontrarse los datos LOB en un archivo. El formato del LLS es nombrearchivo.ext:nnn:mmm/, donde nombrearchivo.ext es el nombre del archivo que contiene el LOB, nnn es el desplazamiento del LOB dentro del archivo (medido en bytes) y mmm es la longitud del LOB (en bytes). Por ejemplo, un LLS de db2exp.001.123.456/ indica que el lob está ubicado en el archivo db2exp.001, empieza en un desplazamiento de 123 bytes en el archivo y tiene una longitud de 456 bytes. Si el tamaño indicado en el LLS es 0, se considera que el LOB tiene una longitud de 0. Si la longitud es --1, se considera que el LOB es de valor NULL y no importan el nombre del archivo ni el desplazamiento. Al exportar datos utilizando el modificador lobsinfile, los LOB no siempre se colocarán en archivos independientes. Puede haber varios lob en cada archivo lob y varios archivos lob por vía de acceso de lob. El archivo de datos contendrá ahora registros LLS en lugar de incluir solamente nombres de archivo. Las funciones de importación y carga también han cambiado a fin de manejar los cambios efectuados en la función de exportación. Al cargar o importar datos con la opción modified by lobsinfile especificada, se esperarán los LLS para cada una de las columnas LOB correspondientes. Si se encuentra otro valor distinto de un LLS para una columna LOB, la base de datos lo tratará como archivo LOB y cargará todo el archivo como LOB. 14.1.1 Consideraciones acerca de IXF Existen tres nuevos tipos de datos IXF. Estos tres tipos corresponden a los tipos CLOB, BLOB y DBCLOB cuando los representan los LLS. Los valores de estos tipos de datos son 964, 960 y 968, respectivamente. Ahora los archivos IXF requieren que cada columna LOB tenga su propio registro D. Éste se crea automáticamente mediante la herramienta de exportación, pero debe crearse de forma manual si se utiliza un programa de utilidad de otro fabricante para crear los archivos IXF. Además, es necesario un LLS para cada LOB de la tabla, y no sólo para los LOB no nulos. Si una columna LOB es nula, debe escribir un LLS que represente un LOB nulo. ------------------------------------------------------------------------ 14.2 Soporte de página de códigos para los programas de utilidad de importación, exportación y carga Ahora los programas de utilidad de importación, exportación y carga pueden utilizarse para transferir datos de la nueva página de códigos china GB 18030 (identificador de página de códigos 5488) y la nueva página de códigos japonesa ShiftJIS X0213 (identificador de página de códigos 1394) a las bases de datos Unicode de DB2 UDB. Asimismo, el programa de utilidad de exportación se puede utilizar para transferir datos de las bases de datos Unicode de DB2 UDB a datos de las páginas de códigos GB 18030 o ShiftJIS X0213. Por ejemplo, el mandato siguiente cargará el archivo de datos Shift_JISX0213 u/jp/user/x0213/data.del, que reside en un cliente conectado de forma remota, en MYTABLE: db2 load client from /u/jp/user/x0213/data.del of del modified by codepage=1394 insert into mytable donde MYTABLE está ubicada en una base de datos Unicode de DB2 UDB. ------------------------------------------------------------------------ 14.3 db2relocatedb (nuevo mandato) db2relocatedb - Reubicar base de datos Cambia el nombre de una base de datos, o reubica una base de datos o parte de ella (es decir, un contenedor, un directorio de registro) según se especifica en el archivo de configuración proporcionado por el usuario. Esta herramienta realiza los cambios necesarios en la instancia de DB2 y en los archivos de soporte de bases de datos. Autorización Ninguna Conexión necesaria Ninguna Sintaxis del mandato >>-db2relocatedb---f--configFilename--------------------------->< Parámetros del mandato -f configFilename Especifica el nombre del archivo que contiene la información de configuración necesaria para reubicar la base de datos. Puede ser un nombre de archivo relativo o absoluto. El formato del archivo de configuración es: DB_NAME=oldName,newName DB_PATH=oldPath,newPath INSTANCE=oldInst,newInst NODENUM=nodeNumber LOG_DIR=oldDirPath,newDirPath CONT_PATH=oldContPath1,newContPath1 CONT_PATH=oldContPath2,newContPath2 ... Donde: DB_NAME Especifica el nombre de la base de datos que se está reubicando. Si se cambia el nombre de la base de datos, se deben especificar tanto el nombre antiguo como el nuevo. Este campo es obligatorio. DB_PATH Especifica la vía de acceso de la base de datos que se está reubicando. Se trata de la vía de acceso en que se creó originalmente la base de datos. Si se cambia la vía de acceso de la base de datos, se deben especificar tanto la vía antigua como la nueva. Este campo es obligatorio. INSTANCE Especifica la instancia en que existe la base de datos. Si se transfiere la base de datos a una nueva instancia, se deben especificar tanto la instancia antigua como la nueva. Este campo es obligatorio. NODENUM Especifica el número de nodo para el nodo de base de datos que se cambia. El valor por omisión es 0. LOG_DIR Especifica un cambio en la ubicación de la vía de acceso de registro cronológico. Si se cambia la vía de acceso de registro cronológico, se deben especificar tanto la vía antigua como la nueva. Esta especificación es opcional si la vía de acceso de registro cronológico reside bajo la vía de acceso de la base de datos, en cuyo caso la vía de acceso se actualiza automáticamente. CONT_PATH Especifica un cambio en la ubicación de los contenedores de espacios de tablas. Se deben especificar tanto la vía antigua del contenedor como la nueva. Se pueden proporcionar varias líneas CONT_PATH si se han de efectuar varios cambios de vía de acceso de contenedores. Esta especificación es opcional si las vías de acceso de contenedor residen bajo la vía de acceso de la base de datos, en cuyo caso las vías de acceso se actualizan automáticamente. Nota: Se ignorarán las líneas en blanco y las que comiencen por un carácter de comentario (#). Ejemplos Ejemplo 1 Para cambiar por PRODDB el nombre de la base de datos TESTDB de la instancia DB2INST1 que reside en la vía de acceso /home/db2inst1, cree el archivo de configuración siguiente: DB_NAME=TESTDB,PRODDB DB_PATH=/home/db2inst1 INSTANCE=db2inst1 NODENUM=0 Guarde el archivo de configuración como relocate.cfg y utilice el mandato siguiente para efectuar los cambios en los archivos de la base de datos: db2relocatedb -f relocate.cfg Ejemplo 2 Para transferir la base de datos DATAB1 de la instancia JSMITH en la vía de acceso /dbpath a la instancia PRODINST, haga lo siguiente: 1. Transfiera los archivos del directorio /dbpath/jsmith a /dbpath/prodinst. 2. Utilice el archivo de configuración siguiente con el mandato db2relocatedb para efectuar los cambios en los archivos de la base de datos: DB_NAME=DATAB1 DB_PATH=/dbpath INSTANCE=jsmith,prodinst NODENUM=0 Ejemplo 3 La base de datos PRODDB existe en la instancia INST1 de la vía de acceso /databases/PRODDB. Es necesario cambiar la ubicación de dos contenedores de espacios de tablas de la forma siguiente: * Es necesario transferir el contenedor de SMS /data/SMS1 a /DATA/NewSMS1. * Es necesario transferir el contenedor de DMS /data/DMS1 a /DATA/DMS1. Una vez que se hayan transferido los archivos y directorios físicos a las nuevas ubicaciones, se puede utilizar el archivo de configuración siguiente con el mandato db2relocatedb para efectuar cambios en los archivos de la base de datos, de forma que reconozcan las nuevas ubicaciones: DB_NAME=PRODDB DB_PATH=/databases/PRODDB INSTANCE=inst1 NODENUM=0 CONT_PATH=/data/SMS1,/DATA/NewSMS1 CONT_PATH=/data/DMS1,/DATA/DMS1 Ejemplo 4 La base de datos TESTDB existe en la instancia DB2INST1 y se creó en la vía de acceso /databases/TESTDB. Se crearon espacios de tablas con los contenedores siguientes: TS1 TS2_Cont0 TS2_Cont1 /databases/TESTDB/TS3_Cont0 /databases/TESTDB/TS4/Cont0 /Data/TS5_Cont0 /dev/rTS5_Cont1 Se va a transferir TESTDB a un nuevo sistema. La instancia del nuevo sistema será NEWINST y la ubicación de la base de datos será /DB2. Cuando se transfiera la base de datos, todos los archivos que existan en el directorio /databases/TESTDB/db2inst1 se deben transferir al directorio /DB2/newinst. Esto significa que los 5 primeros contenedores se reubicarán formando parte de esta transferencia. (Los 3 primeros son relativos al directorio de la base de datos y los 2 siguientes son relativos a la vía de acceso de la base de datos) Puesto que estos contenedores están ubicados en el directorio o en la vía de acceso de la base de datos, no es necesario listarlos en el archivo de configuración. Si los 2 contenedores restantes se van a transferir a ubicaciones distintas del mismo sistema, se deben listar en el archivo de configuración. Una vez que se hayan transferido los archivos y directorios físicos a las nuevas ubicaciones, se puede utilizar el archivo de configuración siguiente con el mandato db2relocatedb para efectuar cambios en los archivos de la base de datos, de forma que reconozcan las nuevas ubicaciones: DB_NAME=TESTDB DB_PATH=/databases/TESTDB,/DB2 INSTANCE=db2inst1,newinst NODENUM=0 CONT_PATH=/Data/TS5_Cont0,/DB2/TESTDB/TS5_Cont0 CONT_PATH=/dev/rTS5_Cont1,/dev/rTESTDB_TS5_Cont1 Ejemplo 5 La base de datos TESTDB tiene 2 particiones en los nodos 10 y 20. La instancia es SERVINST y la vía de acceso de la base de datos es /home/servinst en ambos nodos. El nombre de la base de datos e cambia por SERVDB y la vía de acceso de la base de datos se cambia por /databases en ambos nodos. Asimismo, el directorio de registro cronológico, en el nodo 20, para de ser /testdb_logdir a ser /servdb_logdir. Dado que se efectúan cambios en los dos nodos, se debe crear un archivo de configuración para cada nodo y se debe ejecutar db2relocatedb en cada uno de los nodos con el archivo de configuración correspondiente. En el nodo 10, se utilizará el archivo de configuración siguiente: DB_NAME=TESTDB,SERVDB DB_PATH=/home/servinst,/databases INSTANCE=servinst NODE_NUM=10 En el nodo 20, se utilizará el archivo de configuración siguiente: DB_NAME=TESTDB,SERVDB DB_PATH=/home/servinst,/databases INSTANCE=servinst NODE_NUM=20 LOG_DIR=/testdb_logdir,/servdb_logdir Notas de utilización Si se cambia la instancia a la que pertenece una base de datos, se debe hacer lo siguiente antes de ejecutar este mandato, a fin de asegurarse de que se realizarán los cambios en la instancia y en los archivos de soporte de la base de datos: * Si se transfiere una base de datos a otra instancia, cree la nueva instancia. * Copie los archivos/dispositivos que pertenecen a las bases de datos que se copian al sistema en que reside la nueva instancia. Si es necesario, se cambiarán los nombres de las vías de acceso. * Cambie el permiso de los archivos/dispositivos que se han copiado de forma que sean propiedad del propietario de la instancia. Si se cambia la instancia, deberá ejecutar esta herramienta el propietario de la nueva instancia. En un entorno EEE, se debe ejecutar esta herramienta para cada nodo que precise cambios. Se debe suministrar un archivo de configuración separado para cada nodo, el cual deberá incluir el valor NODENUM del nodo que se cambia. Por ejemplo, si se cambia el nombre de una base de datos, se verán afectados todos los nodos y se deberá ejecutar el mandato db2relocatedb con un archivo de configuración separado en cada nodo. Si se transfieren contenedores que pertenecen a un solo nodo, sólo es necesario ejecutar el mandato db2relocatedb una vez en dicho nodo. Consulte también Para obtener más información, consulte el mandato db2inidb - Inicializar una base de datos reflejada en la publicación Consulta de mandatos. ------------------------------------------------------------------------ 14.4 db2move -- Nuevas opciones disponibles Ahora la herramienta db2move tiene dos opciones adicionales, --aw y --sn. A continuación, se proporciona documentación completa para esta herramienta: Transferencia de datos mediante la herramienta db2move Esta herramienta facilita la transferencia de un número elevado de tablas entre bases de datos de DB2 ubicadas en estaciones de trabajo. La herramienta consulta en las tablas de catálogo del sistema acerca de una base de datos en particular y compila una lista de todas las tablas de usuario. Luego exporta estas tablas con el formato PC/IXF. El formato PC/IXF puede importarse o cargarse en otra base de datos de DB2 local del mismo sistema o puede transferirse a otra plataforma de estación de trabajo e importarse o cargarse en una base de datos de DB2 de esa plataforma. Nota: Las tablas con columnas de tipo estructurado no se transfieren cuando se utiliza esta herramienta. Autorización Esta herramienta llama a las API de DB2 de exportación, importación y carga, según la acción solicitada por el usuario. Por lo tanto, el ID del usuario solicitante debe tener la autorización correcta requerida por estas API, de lo contrario la petición fallará. Sintaxis del mandato .-----------------------------. V | >>-db2move--dbname--action----+-------------------------+-+---->< +--tc--creadores-tablas---+ +--tn--nombres-tablas-----+ +--sn--nombres-esquemas---+ +--io--opción-importación-+ +--lo--opción-carga-------+ +--l--vías-acceso-lob-----+ +--u--idusuario-----------+ +--p--contraseña----------+ '--aw---------------------' Parámetros del mandato dbname Nombre de la base de datos. action Debe ser una de las siguientes: EXPORT, IMPORT o LOAD. -tc creadores-tablas. El valor por omisión consiste en todos los creadores. Ésta es una acción EXPORT únicamente. Si se especifican, sólo se exportarán las tablas creadas por los creadores listados con esta opción. Si no se especifican, el valor por omisión es el de utilizar todos los creadores. Cuando se especifican diversos creadores, cada uno debe estar separado por comas; no se permite ningún espacio en blanco entre los ID de creador. El número máximo de creadores que pueden especificarse es 10. Esta opción puede utilizarse con las opciones "-tn" y "-sn" para seleccionar las tablas a exportar. Es posible utilizar un asterisco (*) como carácter comodín que puede colocarse en cualquier parte de la serie. -tn nombres-tablas. El valor por omisión consiste en todas las tablas de usuario. Ésta es una acción EXPORT únicamente. Si se especifican, sólo se exportarán las tablas cuyos nombres coincidan exactamente con los de la serie especificada. Si no se especifican, el valor por omisión es el de utilizar todas las tablas de usuario. Cuando se especifican diversos nombres de tabla, cada uno debe estar separado por comas; no se permite ningún espacio en blanco entre los nombres de tabla. El número máximo de nombres de tabla que pueden especificarse es 10. Esta opción puede utilizarse con las opciones "-tc" y "-sn" para seleccionar las tablas a exportar. La herramienta db2move sólo exportará las tablas cuyos nombres coincidan con nombres de tabla especificados y cuyos creadores coincidan con creadores de tablas especificados. Es posible utilizar un asterisco (*) como carácter comodín que puede colocarse en cualquier parte de la serie. -sn nombres-esquemas. El valor por omisión es ALL SCHEMAS. Ésta es una acción EXPORT únicamente. Si se especifican, sólo se exportarán las tablas cuyos esquemas coincidan exactamente con los de la serie especificada. Si no se especifican, el valor por omisión es el de utilizar todos los esquemas. Cuando se especifican diversos nombres de esquema, cada uno debe estar separado por comas; no se permite ningún espacio en blanco entre los nombres de esquema. El número máximo de nombres de esquema que pueden especificarse es 10. Esta opción puede utilizarse con las opciones "-tc" y "-tn" para seleccionar las tablas a exportar. La herramienta db2move sólo exportará las tablas cuyos nombres coincidan con nombres de tabla especificados, cuyos esquemas coincidan con esquemas de tabla especificados y cuyos creadores coincidan con creadores de tablas especificados. Es posible utilizar un asterisco (*) como carácter comodín que puede colocarse en cualquier parte de la serie. Nota: Los nombres de esquema inferiores a 8 caracteres de longitud se rellenarán para alcanzar los 8 caracteres de longitud. Por ejemplo, si desea incluir los esquemas "AUSER" y "BUSER" y utilizar el carácter comodín, deberá especificar -sn *USER*. -io opción-importación. El valor por omisión es REPLACE_CREATE. Las opciones válidas son INSERT, INSERT_UPDATE, REPLACE, CREATE y REPLACE_CREATE. -lo opción-carga. El valor por omisión es INSERT. Las opciones válidas son INSERT y REPLACE. -l vías-acceso-lob. El valor por omisión es el directorio actual. Esta opción especifica los nombres absolutos de vía de acceso donde se crean los archivos LOB (como parte de EXPORT) o se buscan (como parte de IMPORT o LOAD). Cuando se especifican diversas vías de acceso de LOB, cada una debe estar separada por comas; no se permite ningún espacio en blanco entre las vías de acceso de LOB. Si a la primera vía de acceso le falta espacio (durante EXPORT) o no se encuentran los archivos en la misma (durante IMPORT o LOAD), se utilizará la segunda vía de acceso, y así sucesivamente. Si la acción es EXPORT y se especifican vías de acceso de LOB, se suprimen todos los archivos de los directorios de vía de acceso de LOB, se eliminan los directorios y se crean nuevos directorios. Si no se especifican, se utiliza el directorio actual para la vía de acceso de LOB. -u idusuario. El valor por omisión es el ID de usuario que ha iniciado la sesión. Tanto el ID de usuario como la contraseña son opcionales. No obstante, si se especifica uno de los dos, debe especificarse el otro. Si el mandato se ejecuta en un cliente en conexión con un servidor remoto, deben especificarse el ID de usuario y la contraseña. -p contraseña. El valor por omisión es la contraseña con la que se ha iniciado la sesión. Tanto el ID de usuario como la contraseña son opcionales. No obstante, si se especifica uno de los dos, debe especificarse el otro. Si el mandato se ejecuta en un cliente en conexión con un servidor remoto, deben especificarse el ID de usuario y la contraseña. -aw Para permitir avisos. Se utiliza para la acción EXPORT únicamente. Si se especifica esta opción, cualquier tabla que reciba avisos durante la exportación se incluirá en el archivo db2move.lst. Si omite esta opción, ninguna tabla que cause avisos durante la exportación se incluirá en el archivo db2move.lst. Independientemente de si se utiliza esta opción o no, se generarán un archivo .ixf de la tabla y un archivo .msg. Ejemplos * db2move sample export Con este mandato, se exportarán todas las tablas de la base de datos SAMPLE; se utilizan los valores por omisión de todas las opciones. * db2move sample export -tc idusuario1,idusu*rio2 -tn nombretb1,*nombretb2 Con este mandato, se exportarán todas las tablas creadas por "idusuario1" o los ID de usuario COMO "idusu%rio2", y con el nombre "nombretb1" o los nombres de tabla COMO "%nombretb2". * db2move sample import -l D:\VÍAACCESOLOB1,C:\VÍAACCESOLOB2 Este ejemplo sólo es aplicable a los sistemas operativos OS/2 o Windows. El mandato importará todas las tablas de la base de datos SAMPLE; deberán buscarse archivos LOB en las vías de acceso de LOB "D:\VÍAACCESOLOB1" y "C:\VÍAACCESOLOB2". * db2move sample load -l /dirinicial/idusuario/víaaccesolob,/tmp Este ejemplo sólo es aplicable a los sistemas basados en UNIX. El mandato cargará todas las tablas de la base de datos SAMPLE; deberán buscarse archivos LOB en el subdirectorio /dirinicial/idusuario/víaaccesolob y en el subdirectorio tmp. * db2move sample import -io replace -u idusuario -p contraseña Con este mandato, se importarán todas las tablas de la base de datos SAMPLE en la modalidad REPLACE; se utilizarán el ID de usuario y la contraseña especificados. Notas de utilización Esta herramienta exporta, importa o carga tablas creadas por el usuario. Si debe duplicarse una base de datos de un sistema operativo en otro sistema operativo, db2move facilita la transferencia de las tablas. También es necesario transferir todos los otros objetos asociados con las tablas, como son los alias, las vistas, los desencadenantes, las funciones definidas por el usuario, etc. El mandato db2look (herramienta de estadísticas de DB2 y de extracción de DDL; vea el manual Consulta de mandatos) puede facilitar la transferencia de algunos de estos objetos extrayendo las sentencias de lenguaje de definición de datos (DDL) de la base de datos. Cuando db2move llama a las API de exportación, importación o carga, el parámetro FileTypeMod se establece en lobsinfile. Es decir, los datos LOB se mantienen en archivos independientes de los archivos PC/IXF. Existen 26.000 nombres de archivo disponibles para los archivos LOB. La acción LOAD debe ejecutarse localmente en la máquina donde residen la base de datos y el archivo de datos. Cuando la API de carga recibe la llamada de db2move, el parámetro CopyTargetList se establece en NULL; es decir, no se realiza ninguna copia. Si logretain está habilitado, la operación de carga no podrá realizar la recuperación en avance más adelante. El espacio de tablas donde residen las tablas cargadas se coloca en estado pendiente de copia de seguridad y no es accesible. Se requiere una copia de seguridad de la base de datos completa, o una copia de seguridad del espacio de tablas, para que el espacio de tablas salga del estado pendiente de copia de seguridad. Cuando se emite en un cliente de la Versión 5.2 frente a una base de datos de la Versión 6, esta herramienta no da soporte a nombres de tabla o columna de una longitud superior a los 18 caracteres. Archivos necesarios/generados al utilizar EXPORT: * Entrada: Ninguno. * Salida: EXPORT.out El resultado resumido de la acción EXPORT. db2move.lst La lista de nombres de tabla originales, sus nombres de archivo PC/IXF correspondientes (tabnnn.ixf) y los nombres de archivo de mensajes (tabnnn.msg). Esta lista y los archivos PC/IXF y archivos LOB exportados (tabnnnc.yyy) se utilizan como entrada para la acción IMPORT o LOAD de db2move. tabnnn.ixf El archivo PC/IXF exportado de una tabla específica. tabnnn.msg El archivo de mensajes de exportación de la tabla correspondiente. tabnnnc.yyy Los archivos LOB exportados de una tabla específica. "nnn" es el número de tabla, "c" es una letra del alfabeto, "yyy" es un número del 001 al 999. Estos archivos sólo se crean si la tabla que se exporta contiene datos LOB. Si se crean, estos archivos LOB se colocan en los directorios de vía de acceso de lob. Hay un total de 26.000 nombres posibles para los archivos LOB. system.msg El archivo de mensajes que contiene mensajes del sistema relativos a mandatos de creación o supresión de archivos o directorios. Éste sólo se utiliza si la acción es EXPORT y se especifica una vía de acceso de LOB. Archivos necesarios/generados al utilizar IMPORT: * Entrada: db2move.lst Un archivo de salida de la acción EXPORT. tabnnn.ixf Un archivo de salida de la acción EXPORT. tabnnnc.yyy Un archivo de salida de la acción EXPORT. * Salida: IMPORT.out El resultado resumido de la acción IMPORT. tabnnn.msg El archivo de mensajes de importación de la tabla correspondiente. Archivos necesarios/generados al utilizar LOAD: * Entrada: db2move.lst Un archivo de salida de la acción EXPORT. tabnnn.ixf Un archivo de salida de la acción EXPORT. tabnnnc.yyy Un archivo de salida de la acción EXPORT. * Salida: LOAD.out El resultado resumido de la acción LOAD. tabnnn.msg El archivo de mensajes de LOAD de la tabla correspondiente. ------------------------------------------------------------------------ 14.5 Capítulo 2. Importación 14.5.1 Utilización de la importación con inserciones en almacenamiento intermedio La nota que se encuentra al final de esta sección debe decir: Nota: En todos los entornos excepto EEE, la característica de inserciones en almacenamiento intermedio se inhabilita durante las operaciones de importación en las que se especifica el parámetro INSERT_UPDATE. ------------------------------------------------------------------------ 14.6 Capítulo 3. Carga 14.6.1 Estados de pendiente después de una operación de carga Las dos primeras frases del último párrafo de esta sección se han cambiado por las siguientes: El cuarto estado posible asociado con el proceso de carga (estado pendiente de comprobación) pertenece a las restricciones de referencia y de comprobación, las restricciones DATALINKS, las restricciones AST o las restricciones de columna generadas. Por ejemplo, si una tabla existente es una tabla padre que contiene una clave primaria a la hace referencia una clave externa de una tabla dependiente, la sustitución de datos de la tabla padre pone ambas tablas (no el espacio de tabla) en estado pendiente de comprobación. 14.6.2 Limitaciones y restricciones de carga Se aplican las restricciones siguientes a las columnas generadas y al programa de utilidad de carga: * No es posible cargar una tabla que tiene una columna generada en un índice exclusivo a menos que dicha columna sea una "columna de inclusión" del índice o se utilice el modificador de tipo de archivo generatedoverride. Si se utiliza este modificador, es de esperar que todos los valores para la columna se suministrarán en el archivo de datos de entrada. * No es posible cargar una tabla que tiene una columna generada en la clave de particionamiento a menos que se utilice el modificador de tipo de archivo generatedoverride. Si se utiliza este modificador, es de esperar que todos los valores para la columna se suministrarán en el archivo de datos de entrada. 14.6.3 Modificador de tipo de archivo totalfreespace El modificador de tipo de archivo totalfreespace (LOAD) se ha modificado para que acepte un valor entre 0 y 2 147 483 647. ------------------------------------------------------------------------ 14.7 Capítulo 4. AutoLoader 14.7.1 rexecd necesario para ejecutar AutoLoader cuando la autentificación se establece en YES En el apartado Opciones de AutoLoader, se añadirá la nota siguiente a la descripción de los parámetros AUTHENTICATION y PASSWORD: En un entorno Linux, si se está ejecutando AutoLoader con la opción de autentificación establecida en YES, debe habilitarse rexecd en todas las máquinas. Si rexecd no está habilitado, se generará el mensaje de error siguiente: openbreeze.torolab.ibm.com: Conexión rechazada SQL6554N Se ha producido un error al intentar ejecutar remotamente un proceso. Se generarán los siguientes mensajes de error en el archivo db2diag.log: 2000-10-11-13.04.16.832852 Instance:svtdbm Node:000 PID:19612(db2atld) Appid: oper_system_services sqloRemoteExec Probe:31 ------------------------------------------------------------------------ 14.8 AutoLoader puede colgarse durante un fork AIX 4.3.3 contiene un arreglo para un problema de libc que puede hacer que AutoLoader se quede colgado durante un fork (crear y arrancar un proceso dependiente). AutoLoader es un programa de múltiples hebras. Una de las hebras crea y arranca otro proceso. Crear y arrancar un proceso hijo hace que se cree una imagen de la memoria del padre en el hijo. Es posible que una hebra que no sea de fork haya retenido bloqueos utilizados por libc.a para gestionar varias hebras asignando memoria de la pila dentro del mismo proceso. Puesto que la hebra que no es de fork no existirá en el proceso hijo, este bloqueo nunca se liberará en el hijo, lo cual hace que a veces el padre se quede colgado. ------------------------------------------------------------------------ 14.9 Apéndice C. Formatos de archivo de programa de utilidad de Exportación/Importación/Carga A este apéndice se le ha añadido la siguiente actualización: No se da soporte a los programas de utilidad de exportación, importación y carga cuando éstos se utilizan con un cliente Unicode conectado a una base de datos no Unicode. Sólo se da soporte a los archivos de cliente Unicode cuando éste está conectado a una base de datos Unicode. ------------------------------------------------------------------------ Replication Guide and Reference ------------------------------------------------------------------------ 15.1 Duplicación y servidores que no son IBM Para duplicar datos a o desde servidores no IBM tales como Informix, Microsoft SQL Server, Oracle, Sybase y Sybase SQL Anywhere, debe utilizar DataJoiner Versión 2 o posteriores. No puede utilizar la función de conexión relacional para este tipo de duplicación porque DB2 Relational Connect Versión 7 no tiene capacidad de actualización. Asimismo, debe utilizar DJRA (DataJoiner Replication Administration) para administrar una de estas duplicaciones heterogéneas en todas las plataformas (AS/400, OS/2, OS/390, UNIX y Windows) para todas las versiones existentes de DB2 y DataJoiner. ------------------------------------------------------------------------ 15.2 Duplicación en Windows 2000 DB2 DataPropagator Versión 7 es compatible con el sistema operativo Windows 2000. ------------------------------------------------------------------------ 15.3 Error conocido al guardar archivos de SQL Si utiliza el Centro de control de DB2 Connect Personal Edition, no puede guardar archivos de SQL. Si intenta guardar archivos de SQL, obtiene un mensaje de error que indica que el Servidor de administración de bases de datos (DAS) no está activo, cuando en realidad el DAS no está disponible porque no se suministra con DB2 Connect PE. ------------------------------------------------------------------------ 15.4 Mantenimiento de DB2 Se recomienda instalar el último nivel de mantenimiento de DB2 para los diversos productos DB2 que utilice en su entorno de duplicación. ------------------------------------------------------------------------ 15.5 Programa de utilidad de diferencia de datos en la Web Puede bajar el Programa de utilidad de diferencia de datos (DDU) de la Web de la dirección ftp://ftp.software.ibm.com/ps/products/datapropagator/fixes/. El DDU es un programa de utilidad de ejemplo que puede utilizar para comparar dos versiones del mismo archivo y generar un archivo de salida que muestre las diferencias. Consulte el archivo README que viene con el programa de utilidad de ejemplo para ver detalles. ------------------------------------------------------------------------ 15.6 Capítulo 3. Escenario de duplicación de datos 15.6.1 Escenarios de duplicación Consulte la página de biblioteca del sitio Web de DataPropagator (http://www.ibm.com/software/data/dpropr/) para conseguir un escenario de duplicación de datos heterogéneo. Siga los pasos de este escenario para copiar las modificaciones desde una tabla fuente de duplicación de una base de datos Oracle en AIX a una tabla destino de una base de datos de DB2 para Windows NT. Este marco hipotético utiliza la herramienta DB2 DataJoiner Replication Administration (DJRA), desencadenantes de capturas, el programa Apply y DB2 DataJoiner. En la página 44 del manual, las instrucciones del paso 6 para crear un archivo de contraseña dicen lo siguiente: Paso 6: Creación de un archivo de contraseña Como el programa Apply necesita conectarse con el servidor fuente, debe crear un archivo de contraseña para la autentificación del usuario. Asegúrese de que el ID de usuario que ejecute el programa Apply pueda leer el archivo de contraseña. Para crear un archivo de contraseña: 1. Desde la ventana de solicitud de mandatos de Windows NT vaya al directorio C:\scripts. 2. Cree un archivo nuevo en este directorio que se llame DEPTQUAL.PWD. Puede crear este archivo utilizando cualquier editor de textos, como por ejemplo Notepad. El convenio de denominación para el archivo de contraseñas es applyqual.pwd; donde applyqual es una serie sensible a las mayúsculas que debe coincidir en mayúsculas/minúsculas y valor con el calificador Apply que se utilice al crear el conjunto de suscripciones. Para este escenario, el calificador de Apply es DEPTQUAL. Nota: También se da soporte al convenio de denominación de la versión 5 de DB2 DataPropagator. 3. El contenido del archivo de contraseña tiene el formato siguiente: SERVER=servidor USER=id_usuario PWD=contraseña Donde: servidor El nombre del servidor fuente, de destino o de control, exactamente tal como aparece en la tabla del conjunto de suscripciones. Para este escenario, estos nombres son SAMPLE y COPYDB. idusuario El ID de usuario que piensa utilizar para administrar esta base de datos en concreto. Este valor es sensible a mayúsculas para los sistemas operativos Windows NT y UNIX. contraseña La contraseña que está asociada con este ID de usuario. Este valor es sensible a mayúsculas para los sistemas operativos Windows NT y UNIX. No deje líneas en blanco ni líneas para comentarios en este archivo. Añada sólo el nombre del servidor, el ID de usuario y la información de la contraseña. 4. El contenido del archivo de contraseña debe ser algo así: SERVER=SAMPLE USER=subina PWD=subpw SERVER=COPYDB USER=subina PWD=subpw Para obtener más información acerca de la autentificación y seguridad en DB2, consulte la publicación IBM DB2 Administration Guide. ------------------------------------------------------------------------ 15.7 Capítulo 5. Planificación de la duplicación 15.7.1 Nombres de tabla y de columna La duplicación no da soporte a espacios en blanco en nombres de tabla y de columna. 15.7.2 Duplicación de DATALINK La duplicación DATALINK está disponible en Solaris como parte de la versión 7.1 FixPak 1. Necesita un daemon de FTP que se ejecute en el sistema de archivos DATALINK fuente y destino y da soporte al mandato MDTM (modtime), que visualiza la hora de la última modificación de un archivo determinado. Si utiliza la versión 2.6 del sistema operativo Solaris o cualquier otra versión que no incluya el soporte de FTP para MDTM, necesitará software adicional, como por ejemplo WU-FTPD. No se pueden duplicar columnas DATALINK entre bases de datos DB2 en bases de datos AS/400 y DB2 que se encuentran en otras plataformas. En la plataforma AS/400, no hay soporte de duplicación del atributo "comment" de los valores DATALINK. Si está ejecutando AIX 4.2, antes de ejecutar el programa de salida de usuario por omisión (ASNDLCOPY) debe instalar el PTF para el APAR IY03101 (AIX 4210-06 RECOMMENDED MAINTENANCE FOR AIX 4.2.1). Este PTF contiene un arreglo Y2K para el mandato "modtime/MDTM" en el daemon FTP. Para verificar el arreglo, compruebe la hora de la última modificación devuelta por el mandato "modtime ", en que es un archivo modificado después del 1 de enero de 2000. Si la tabla de destino es una tabla CCD externa, DB2 DataPropagator llama a la rutina ASNDLCOPY para duplicar archivos DATALINK. Para conocer la información más reciente sobre la utilización de los programas ASNDLCOPY y ASNDLCOPYD, consulte el prólogo del código fuente de cada programa. Se aplican las limitaciones siguientes: * Las tablas CCD internas pueden contener indicadores DATALINK, pero no valores DATALINK. * Las tablas CCD externas condensadas pueden contener valores DATALINK. * Las tablas de destino CCD no condensadas no pueden contener ninguna columna DATALINK. * Cuando los servidores fuente y destino son el mismo, el conjunto de suscripciones no debe contener ningún miembro con columnas DATALINK. 15.7.3 Restricciones de LOB Las tablas CCD internas condensadas no pueden contener referencias a columnas LOB ni a indicadores LOB. 15.7.4 Planificación de la duplicación En la página 65, "Conectividad" debe incluir el hecho siguiente: Si el programa Apply no puede conectar con el servidor de control, el programa Apply termina. Cuando utilice bloqueo de datos para AS/400, debe asegurarse de que la cantidad total de datos a duplicar durante el intervalo no exceda de "4 millones de filas", y no de "4 MB" tal como se indica en la página 69 de la publicación. ------------------------------------------------------------------------ 15.8 Capítulo 6. Configuración del entorno de duplicación 15.8.1 Requisito previo a una actualización en cualquier parte (update-anywhere) Si desea configurar una duplicación de actualización en cualquier parte (update-anywhere) con detección de conflictos y más de 150 miembros abonados en un conjunto de abonados, debe ejecutar el DDL siguiente para crear la tabla ASN.IBMSNAP_COMPENSATE en el servidor de control: CREATE TABLE ASN.IBMSNAP_COMPENSATE ( APPLY_QUAL char(18) NOT NULL, MEMBER SMALLINT, INTENTSEQ CHAR(10) FOR BIT DATA, OPERATION CHAR(1)); 15.8.2 Configuración del entorno de duplicación En la página 95, "Personalización de los nombres de espacio de tabla, índice y tabla de CD" se indica que el archivo DPREPL.DFT se encuentra en el directorio \sqllib\bin o en el directorio \sqllib\java. Esto es incorrecto, DPREPL.DFT está en el directorio \sqllib\cc. En la página 128, la descripción del límite de retención debería indicar que el límite de retención se utiliza para recortar filas sólo cuando Capture se inicia en caliente o cuando utiliza el mandato prune de Capture. Si ha iniciado Capture con la opción de recorte automático, no utilizará el límite de retención para recortar filas. ------------------------------------------------------------------------ 15.9 Capítulo 8. Determinación de problemas El Replication Analyzer se ejecuta en sistemas Windows de 32 bits y AIX. Para ejecutar el Analyzer en AIX, asegúrese de que el directorio sqllib/bin aparece delante de /usr/local/bin en la variable de entorno PATH para evitar conflictos con /usr/local/bin/analyze. El Replication Analyzer tiene dos palabras clave opcionales adicionales: CT y AT. CT=n Mostrar únicamente aquellas entradas de la tabla de rastreo de Capture cuya antigüedad es inferior a n días. Esta palabra clave es opcional. Si no se especifica, el valor por omisión es de 7 días. AT=n Mostrar únicamente aquellas entradas de la tabla de seguimiento de Apply cuya antigüedad es inferior a n días. Esta palabra clave es opcional. Si no se especifica, el valor por omisión es de 7 días. Ejemplo: analyze mydb1 mydb2 f=mydirectory ct=4 at=2 deepcheck q=applyqual1 Para el Replication Analyzer, se actualiza la información de palabras clave siguiente: deepcheck Especifica que el Analyzer realiza un análisis más completo, incluyendo la información siguiente: información de poda de tablas CD y UOW, detalles de compresión y particionamiento de espacios de tablas de DB2 para OS/390, análisis de índices de destino con respecto a errores en sentencias SQL establecidas para tablas de suscripción, líneas de tiempo de suscripción y suscripciones. El análisis incluye a todos los servidores. Esta palabra clave es opcional. lightcheck Especifica que se excluirá del informe la información siguiente: detalles de todas las columnas de la tabla ASN.IBMSNAP_SUBS_COLS, errores de suscripción o anomalías y omisiones, e índices incorrectos o ineficaces. Esta reducción en la información ahorra recursos y produce un archivo de salida HTML más pequeño. Esta palabra clave es opcional y mutuamente exclusiva con la palabra clave deepcheck. Se dispone de herramientas del Analyzer en los PTF para duplicación en plataformas AS/400. Estas herramientas recopilan información sobre el entorno de duplicación y producen un archivo HTML que se puede enviar al representante del servicio IBM para ayudar en la determinación de problemas. Para obtener las herramientas de AS/400, baje el PTF adecuado (por ejemplo, para el producto 5769DP2 se debe bajar el PTF SF61798 o su versión más reciente). Añada el problema y la solución siguiente al apartado "Resolución de problemas": Problema: El programa Apply entra en bucle sin duplicar los cambios; la tabla de seguimiento de Apply muestra STATUS=2. El conjunto de suscripciones incluye varias tablas fuente. Para mejorar el manejo de las zonas activas para una tabla fuente del conjunto, se define una tabla CCD interna para dicha tabla fuente, pero en un conjunto de suscripciones diferente. Se realizan actualizaciones en la tabla fuente pero el proceso de Apply que llena de datos la tabla CCD interna se ejecuta de forma asíncrona (por ejemplo, puede que el programa Apply no se inicie, que no se desencadene un suceso, etc). El programa Apply que duplica las actualizaciones de la tabla fuente en la tabla de destino entra en bucle porque está esperando a que se actualice la tabla CCD interna. Para detener el bucle, inicie el programa Apply (o desencadene el suceso que produce la duplicación) para la tabla CCD interna. El programa Apply llenará de datos la tabla CCD interna y permitirá al programa Apply que está en bucle procesar los cambios de todas las tablas fuente. Se puede producir una situación similar para un conjunto de suscripciones que contenga tablas fuente con tablas CCD internas que varios programas Apply llenan de datos. ------------------------------------------------------------------------ 15.10 Capítulo 9. Capture y Apply para AS/400 En la página 178, "Nota sobre la gestión de trabajos" debe decir: Puede alterar las definiciones por omisión o proporcionar las suyas propias. Si crea su propia descripción de subsistema, debe denominar el subsistema QZSNDPR y crearlo en una biblioteca distinta de QDPR. Para obtener más información sobre cómo cambiar estas definiciones, consulte la publicación "OS/400 Work Management V4R3", SC41-5306. Añada la información siguiente a la página 178, "Verificación y personalización de la instalación de DB2 DataPropagator para AS/400": Si tiene problemas con la contención de bloqueo debido al gran volumen de transacciones, puede incrementar el valor de tiempo de espera por omisión de 30 a 120. Puede cambiar el trabajo cada vez que se inicie el trabajo Capture o puede utilizar el procedimiento siguiente para cambiar el valor de tiempo de espera por omisión para todos los trabajos que se ejecutan en el subsistema: 1. Emita el mandato siguiente para crear un objeto de clase nuevo duplicando QGPL/QBATCH: CRTDUPOBJ OBJ(QBATCH) FROMLIB(QGPL) OBJTYPE(*CLS) TOLIB(QDPR) NEWOBJ(QZSNDPR 2. Cambie el valor de tiempo de espera para la clase recién creada (por ejemplo, a 300 segundos): CHGCLS CLS(QDPR/QZSNDPR) DFTWAIT(300) 3. Actualice la entrada de direccionamiento en la descripción de subsistema QDPR/QZSNDPR para utilizar la clase recién creada: CHGRTGE SBSD(QDPR/QZSNDPR) SEQNBR(9999) CLS(QDPR/QZSNDPR En la página 194, "Utilización de la rutina de salida de supresión del receptor de diario", se debería incluir esta frase: Si ha eliminado el registro de la rutina de salida de supresión del receptor de diario, asegúrese de que todos los diarios utilizados para tablas fuente tienen DLTRCV(*NO). En la página 195, los parámetros del mandato ADDEXITPGM deben decir: ADDEXITPGM EXITPNT(QIBM_QJO_DLT_JRNRCV) FORMAT(DRCV0100) PGM(QDPR/QZSNDREP) PGMNBR(*LOW) CRTEXITPNT(*NO) PGMDTA(65535 10 QSYS) ------------------------------------------------------------------------ 15.11 Capítulo 10. Capture y Apply para OS/390 En el Capítulo 10, se han actualizado los siguientes párrafos: 15.11.1 Requisitos previos para DB2 DataPropagator para OS/390 Debe tener DB2 para OS/390 Versión 5, DB2 para OS/390 Versión 6 o DB2 para OS/390 Versión 7 para poder ejecutar DB2 DataPropagator para OS/390 Versión 7 (V7). 15.11.2 Esquemas de codificación UNICODE y ASCII en OS/390 DB2 DataPropagator para OS/390 V7 da soporte a los esquemas de codificación UNICODE y ASCII. Para aprovechar los nuevos esquemas de codificación, debe tener DB2 para OS/390 V7 y debe crear o convertir de forma manual la fuente, el destino y las tablas de control de DB2 DataPropagator tal como se describe en las siguientes secciones. Sin embargo, el entorno de duplicación existente funcionará con DB2 DataPropagator para OS/390 V7 aunque no modifique ningún esquema de codificación. 15.11.2.1 Elección de un esquema de codificación Si sus tablas fuente, CD y destino utilizan el mismo esquema de codificación, puede minimizar la necesidad de convertir datos en su entorno de duplicación. Cuando elija esquemas de codificación para las tablas, siga la única regla de CCSID: los datos de caracteres de un espacio de tabla se pueden modificar en ASCII, UNICODE o EBCDIC. Todas las tablas de un espacio de tabla deben utilizar el mismo esquema de codificación. El esquema de codificación de todas las tablas de una sentencia de SQL debe ser el mismo. Además, todas las tablas que utilice en vistas y uniones deben utilizar el mismo esquema de codificación. Si no sigue la única regla de CCSID, DB2 detectará la violación y devolverá SQLCODE -873 durante la vinculación o ejecución. Qué tablas deben estar en ASCII o UNICODE depende de la configuración de cliente/servidor. En concreto, siga estas reglas cuando elija los esquemas de codificación para tablas: * Las tablas fuente o destino en DB2 para OS/390 pueden estar en EBCDIC, ASCII o UNICODE. Se pueden copiar de tablas o en tablas que tengan el mismo u otro esquema de codificación en cualquier DBMS soportado (familia DB2 o no DB2 con DataJoiner). * En un servidor fuente DB2 para OS/390, todas las tablas CD, UOW, de registros y de control de recortes del mismo servidor deben utilizar el mismo esquema de codificación. Para asegurar esta coherencia, especifique siempre el esquema de codificación de forma explícita. * Todas las tablas de control (ASN.IBMSNAP_SUBS_xxxx) del mismo servidor de control deben utilizar el mismo esquema de codificación. * Otras tablas de control pueden utilizar cualquier esquema de codificación; sin embargo, se recomienda que la tabla ASN.IBMSNAP_CRITSEC permanezca en EBCDIC. 15.11.2.2 Establecimiento de esquemas de codificación Para especificar el esquema de codificación adecuado para tablas, modifique el SQL que se utiliza para generar las tablas: * Cree nuevas tablas fuente o destino con el esquema de codificación adecuado o cambie los esquemas de codificación de las tablas destino y fuente existentes. Se recomienda detener los programas Capture y Apply antes de cambiar el esquema de codificación de tablas existentes; después puede iniciar en frío el programa Capture y reiniciar el programa Apply. Para cambiar el esquema de codificación de tablas existentes: 1. Utilice el programa de utilidad Reorg para copiar la tabla existente. 2. Elimine la tabla existente. 3. Vuelva a crear la tabla especificando el nuevo esquema de codificación. 4. Utilice el programa de utilidad Load para cargar los datos antiguos en la nueva tabla. Consulte el manual DB2 Universal Database for OS/390 Utility Guide and Reference para obtener más información sobre los programas de utilidad Load y Reorg. * Cree nuevas tablas de control con el esquema de codificación adecuado o modifique el esquema de codificación correspondiente a las existentes. DPCNTL.MVS se suministra con DB2 para OS/390 en sqllib\samples\repl y contiene varias sentencias CREATE TABLE que crean los archivos de control. Para las tablas que tienen que estar en ASCII o UNICODE (por ejemplo, ASN.IBMSNAP_REGISTER y ASN.IBMSNAP_PRUNCNTL), añada el teclado CCSID ASCII o CCSID UNICODE, tal como se muestra en el ejemplo siguiente. CREATE TABLE ASN.IBMSNAP_PRUNCNTL ( TARGET_SERVER CHAR( 18) NOT NULL, TARGET_OWNER CHAR( 18) NOT NULL, TARGET_TABLE CHAR( 18) NOT NULL, SYNCHTIME TIMESTAMP, SYNCHPOINT CHAR( 10) FOR BIT DATA, SOURCE_OWNER CHAR( 18) NOT NULL, SOURCE_TABLE CHAR( 18) NOT NULL, SOURCE_VIEW_QUAL SMALLINT NOT NULL, APPLY_QUAL CHAR( 18) NOT NULL, SET_NAME CHAR( 18) NOT NULL, CNTL_SERVER CHAR( 18) NOT NULL, TARGET_STRUCTURE SMALLINT NOT NULL, CNTL_ALIAS CHAR( 8) ) CCSID UNICODE DATA CAPTURE CHANGES IN TSSNAP02; Para modificar las tablas de control o las tablas CD existentes, utilice los programas de utilidad Reorg y Load. * Cuando cree nuevas fuentes de duplicación o grupos de suscripciones, modifique el archivo SQL generado por la herramienta de administrador para especificar el esquema de codificación adecuado. El SQL tiene varias sentencias CREATE TABLE que sirven para crear las tablas de CD y destino para la fuente de duplicación y el grupo de suscripciones, respectivamente. Añada el teclado CCSID ASCII o CCSID UNICODE cuando sea necesario. Por ejemplo: CREATE TABLE user1.cdtable1 ( employee_name varchar, employee_age decimal ) CCSID UNICODE; El manual DB2 UDB para OS/390 Consulta de SQL contiene más información sobre CCSID. ------------------------------------------------------------------------ 15.12 Capítulo 11. Capture y Apply para plataformas UNIX 15.12.1 Establecimiento de variables de entorno para Capture y Apply en UNIX y Windows Si ha creado la base de datos fuente con una página de códigos que no corresponde con el valor de página de códigos por omisión, establezca la variable de entorno DB2CODEPAGE en dicha página de códigos. Consulte el manual DB2 Administration Guide para obtener información sobre cómo obtener valores de páginas de códigos antes de establecer DB2CODEPAGE. Capture se debe ejecutar en la misma página de códigos que la base de datos para la que está capturando datos. DB2 obtiene la página de códigos de Capture a partir del entorno activo en el que se está ejecutando Capture. Si la variable de entorno DB2CODEPAGE no está establecida, DB2 obtiene el valor de página de códigos a partir del sistema operativo. El valor que se obtiene del sistema operativo es correcto para Capture si ha utilizado la página de códigos por omisión al crear la base de datos. ------------------------------------------------------------------------ 15.13 Capítulo 14. Estructuras de tabla En la página 339, añada la sentencia siguiente a la descripción de la columna STATUS para el valor "2": Si utiliza tablas CCD internas y obtiene repetidamente un valor de "2" en la columna de estado de la tabla de seguimiento de Apply, vaya al "Capítulo 8: Determinación de problemas" y consulte el apartado "Problema: El programa Apply entra en bucle sin duplicar los cambios, la tabla de seguimiento de Apply muestra STATUS=2". ------------------------------------------------------------------------ 15.14 Capítulo 15. Mensajes de Capture y Apply El mensaje ASN0017E debería decir: ASN0017E El programa Capture ha encontrado un error interno grave y no ha podido emitir el mensaje de error correcto. El nombre de la rutina es "rutina". El código de retorno es "código_retorno". Se debe añadir el mensaje ASN1027S: ASN1027S Se han especificado demasiadas columnas de objetos grandes (LOB). El código de error es "". Explicación: Se han especificado demasiadas columnas de objetos grandes (BLOB, CLOB o DBCLOB) para un miembro de un grupo de suscripciones. El número máximo de columnas permitido es 10. Respuesta del usuario: Elimine las columnas de objetos grandes sobrantes del miembro del grupo de suscripciones. El mensaje ASN1048E debe decir lo siguiente: ASN1048E Ha fallado la ejecución de un ciclo de Apply. Consulte la tabla de seguimiento de Apply para ver más detalles: "" Explicación: Ha fallado un ciclo de Apply. En el mensaje "" se identifica "", "" y "". Respuesta del usuario: Compruebe los campos APPERRM de la tabla de seguimiento de auditoría para determinar por qué ha fallado el ciclo de Apply. ------------------------------------------------------------------------ 15.15 Apéndice A. Inicio de los programas Capture y Apply desde dentro de una aplicación En la página 399 de la publicación, aparecen algunos errores en los comentarios de la rutina de ejemplo que inicia los programas Capture y Apply; sin embargo, el código del ejemplo es correcto. La última parte del ejemplo hace referencia a los parámetros de Apply, a pesar del hecho de que los comentarios indican que hace referencia a los parámetros de Capture. Puede obtener ejemplos de la API de Apply y Capture, así como de los makefiles respectivos, en los directorios siguientes: Para NT - sqllib\samples\repl Para UNIX - sqllib/samples/repl ------------------------------------------------------------------------ System Monitor Guide and Reference ------------------------------------------------------------------------ 16.1 db2ConvMonStream En las Notas de uso, la estructura del tipo de corriente de datos variable instantánea SQLM_ELM_SUBSECTION debe ser sqlm_subsección. ------------------------------------------------------------------------ Troubleshooting Guide ------------------------------------------------------------------------ 17.1 Inicio de DB2 en Windows 95, Windows 98 y Windows ME cuando el usuario no tiene iniciada una sesión Para que un mandato db2start se ejecute satisfactoriamente en un entorno Windows 95, Windows 98 o Windows Millenium Edition (ME), debe: * Iniciar una sesión utilizando la ventana de inicio de sesión de Windows o la ventana de inicio de sesión de Microsoft Networking * Emita el mandato db2logon (vea la nota (NOTE_1) para obtener información sobre el mandato db2logon). Además, el ID de usuario que se especifique durante el inicio de sesión o para el mandato db2logon se debe ajustar a los requisitos de DB2 (vea la nota (NOTE2)). Cuando se inicia el mandato db2start, en primer lugar comprueba si el usuario tiene iniciada una sesión. Si la tiene iniciada, el mandato db2start utiliza el ID de dicho usuario. Si no la tiene iniciada, el mandato db2start comprueba si se ha ejecutado un mandato db2logon y, de ser así, el mandato db2start utiliza el ID de usuario que se ha especificado para el mandato db2logon. Si el mandato db2start no puede encontrar un ID de usuario válido, el mandato termina. Durante la instalación de DB2 Universal Database Versión 7 en Windows 95, Windows 98 y Windows ME, el software de instalación, por omisión, añade un atajo a la carpeta Arranque que ejecuta el mandato db2start cuando se arranca el sistema (vea la nota (NOTE_1) si desea obtener más información). Si el usuario del sistema no tiene iniciada una sesión ni ha emitido el mandato db2logon, el mandato db2start se interrumpirá. Si usted o sus usuarios no inician normalmente sesiones con Windows o con una red, puede ocultar el requisito de que se emita el mandato db2logon antes que un mandato db2start ejecutando desde un archivo de proceso por lotes, tal como sigue: 1. Cree un archivo de proceso por lotes que emita el mandato db2logon seguido del mandato db2start.exe. Por ejemplo: @echo off db2logon db2local /p:contraseña db2start cls exit 2. Asigne al archivo de proceso por lotes el nombre db2start.bat y almacénelo en el directorio /bin que se encuentra bajo la unidad y vía de acceso en que ha instalado DB2. El archivo de proceso por lotes se almacena en esta ubicación para asegurarse de que el sistema operativo pueda encontrar la vía de acceso al archivo. La unidad y vía de acceso en que se ha instalado DB2 están almacenadas en la variable de registro DB2PATH de DB2. Para averiguar la unidad y vía de acceso en que se ha instalado DB2, emita el mandato siguiente: db2set -g db2path Suponga que el mandato db2set devuelve el valor c:\sqllib. En este caso, almacenará el archivo de proceso por lotes de la manera siguiente: c:\sqllib\bin\db2start.bat 3. Para iniciar DB2 cuando se arranque el sistema, debe ejecutar el archivo de proceso por lotes desde un atajo de la carpeta Arranque. Tiene dos posibilidades: o Modificar el atajo creado por el programa de instalación de DB2 para ejecutar el archivo de proceso por lotes en lugar de db2start.exe. En el ejemplo precedente, el atajo ejecutaría ahora el archivo de proceso por lotes db2start.bat. El atajo creado por el programa de instalación de DB2 tiene por nombre DB2 - DB2.lnk y, en la mayoría de sistemas, está ubicado en c:\WINDOWS\Menú Inicio\Programas\Inicio\DB2 - DB2.lnk. o Añada su propio atajo para ejecutar el archivo de proceso por lotes y suprima el atajo añadido por el programa de instalación de DB2. Utilice el mandato siguiente para suprimir el atajo de DB2: del "C:\WINDOWS\Menú Inicio\Programas\Arranque\DB2 - DB2.lnk" Si decide utilizar su propio atajo, debe establecer el atributo close on exit para el atajo. Si no lo establece, el indicador de mandatos de DOS se queda en la barra de tareas aún después de que el mandato db2start se haya completado satisfactoriamente. Para evitar que la ventana de DOS se abra durante el proceso de db2start, puede crear este atajo (y la ventana de DOS en la que se ejecuta) de forma que se ejecute minimizado. Nota: Como alternativa a iniciar DB2 durante el arranque del sistema, se puede iniciar DB2 antes de ejecutar cualquier aplicación que utilice DB2. Para conocer más detalles, vea la nota (NOTE5). Si utiliza un archivo de proceso por lotes para emitir el mandato db2logon antes de que se ejecute el mandato db2start, y si los usuarios inician sesiones ocasionalmente, el mandato db2start seguirá funcionando, con la única diferencia de que DB2 utilizará el ID de usuario del usuario que ha iniciado una sesión. Para conocer más detalles, vea la nota (NOTE_1). Notas: 1. El mandato db2logon simula un inicio de sesión de un usuario. El formato del mandato db2logon es: db2logon idusuario /p:contraseña El ID de usuario que se especifique para el mandato se debe ajustar a los requisitos de denominación de DB2 (para obtener más información, vea la nota (NOTE2)). Si se emite el mandato sin ID de usuario y contraseña, se abre una ventana para solicitar al usuario esta información. Si el único parámetro que se proporciona es un ID de usuario, no se solicita la contraseña al usuario; en determinadas condiciones se requiere una contraseña, tal como se describe más adelante. Los valores de ID de usuario y contraseña establecidos por el mandato db2logon sólo se utilizan si el usuario no ha iniciado una sesión utilizando la ventana de inicio de sesión de Windows ni la ventana de inicio de sesión de Microsoft Networking. Si el usuario ha iniciado una sesión y se ha emitido un mandato db2logon, se utiliza el ID de usuario del mandato db2logon para todas las acciones de DB2, pero se ignora la contraseña especificada en el mandato db2logon. Si el usuario no ha iniciado una sesión utilizando la ventana de inicio de sesión de Windows ni la ventana de inicio de sesión de Microsoft Networking, se utilizan el ID de usuario y la contraseña proporcionados mediante el mandato db2logon, de la manera siguiente: o El mandato db2start utiliza el ID de usuario al iniciarse y no necesita contraseña. o En ausencia de un calificador de alto nivel para acciones tales como crear una tabla, se utiliza el ID de usuario como calificador de alto nivel. Por ejemplo: 1. Si emite el mandato siguiente: db2logon db2local 2. Emita también el siguiente: create table tab1 La tabla se crea con un calificador de alto nivel como db2local.tab1. Debe utilizar un ID de usuario que sea igual al nombre de esquema de las tablas y otros objetos. o Cuando el sistema actúa como cliente de un servidor, y el usuario emite una sentencia CONNECT sin ID de usuario ni contraseña (por ejemplo, CONNECT TO TEST) y la autentificación se establece en servidor, se utilizan el ID de usuario y la contraseña del mandato db2logon para validar el usuario en el servidor remoto. Si el usuario se conecta con un ID de usuario y una contraseña explícitos (por ejemplo, CONNECT TO TEST USER IDusuario USING contraseña), se utilizan los valores especificados para la sentencia CONNECT. 2. En la Versión 7, el ID de usuario que se utiliza para iniciar sesiones o que se especifica para el mandato db2logon se debe ajustar a los siguientes requisitos de DB2: o No puede ser ninguno de los siguientes: USERS, ADMINS, GUESTS, PUBLIC, LOCAL o cualquier palabra reservada de SQL que esté listada en la publicación Consulta de SQL. o No puede empezar por: SQL, SYS ni IBM o Los caracteres pueden incluir: + De la A a la Z (Windows 95, Windows 98 y Windows ME dan soporte a los ID de usuario sensibles a mayúsculas y minúsculas). + Del 0 al 9 + @, # o $ 3. Puede evitar la creación del atajo de db2start en la carpeta Arranque durante una instalación interactiva personalizada o, si está realizando una instalación mediante archivo de respuestas, si especifica la opción DB2.AUTOSTART=NO. Si utiliza estas opciones, no existirá ningún atajo de db2start en la carpeta Arranque y deberá añadir su propio atajo para ejecutar el archivo db2start.bat. 4. En Windows 98 y Windows ME, se dispone de una opción que se puede utilizar para especificar un ID de usuario con el que se inicie una sesión siempre que se arranque Windows 98 o Windows ME. En este caso, no aparecerá la ventana de inicio de sesión de Windows. Si utiliza esta opción, se iniciará una sesión de un usuario y el mandato db2start se ejecutará satisfactoriamente si el ID de usuario se ajusta a los requisitos de DB2 (vea más detalles en la nota (NOTE2)). Si no utiliza esta opción, siempre se presentará al usuario una ventana de inicio de sesión. Si el usuario cancela esta ventana sin iniciar una sesión, el mandato db2start fallará a menos que previamente se haya emitido el mandato db2logon o se le haya invocado desde el archivo de proceso por lotes, tal como se ha descrito anteriormente. 5. Si no se inicia DB2 durante un arranque del sistema, lo puede iniciar una aplicación. Puede ejecutar el archivo db2start.bat formando parte de la inicialización de aplicaciones que utilizan DB2. Utilizando este método, sólo se iniciará DB2 cuando se inicie la aplicación que lo va a utilizar. Cuando el usuario sale de la aplicación, se puede emitir un mandato db2stop para detener DB2. Las aplicaciones comerciales pueden iniciar DB2 de esta manera, en caso de que no se inicie DB2 durante el arranque del sistema. Para utilizar la aplicación DB2 Synchronizer o llamar a las API de sincronización desde la aplicación, se debe iniciar DB2 si los scripts que se bajen para ejecutarlos contienen mandatos que funcionan con una instancia local o una base de datos local. Estos mandatos pueden estar en los scripts de la base de datos, en los scripts de la instancia o incorporados en los scripts del sistema operativo (OS). Si un script del OS no contiene mandatos de Procesador de línea de mandatos ni ninguna API de DB2 que utilicen una instancia o una base de datos, se puede ejecutar sin que se inicie DB2. Debido a la posible dificultad de saber por adelantado qué mandatos se ejecutarán desde los scripts durante el proceso de sincronización, normalmente se iniciará DB2 antes de que comience la sincronización. Si llama al mandato db2sync o a las API de sincronización desde la aplicación, deberá iniciar DB2 durante la inicialización de la aplicación. Si los usuarios van a utilizar el atajo de DB2 Synchronizer en la carpeta DB2 para Windows para comenzar la sincronización, el atajo de DB2 Synchronization se debe modificar de forma que ejecute un archivo db2sync.bat. El archivo de proceso por lotes debe contener los mandatos siguientes para asegurarse de que DB2 esté en ejecución antes de que empiece la sincronización: @echo off db2start.bat db2sync.exe db2stop.exe cls exit En este ejemplo, se supone que el archivo db2start.bat invoca a los mandatos db2logon y db2start descritos anteriormente. Si decide iniciar DB2 cuando se inicie la aplicación, cerciórese de que la instalación de DB2 no añade ningún atajo para iniciar DB2 a la carpeta Arranque. Para conocer más detalles, vea la nota (NOTE3). ------------------------------------------------------------------------ 17.2 Capítulo 1. Buenas prácticas para la resolución de problemas 17.2.1 Herramienta para analizar el problema y recopilar el entorno Existe un programa de utilidad que le será de ayuda para identificar parte de la información asociada al problema y que recopilará otras informaciones relevantes para ayudar a que DB2 Customer Support comprenda el entorno y el problema. Gran parte de la información que se recopila mediante este programa de utilidad se explica en el resto de este capítulo. El programa de utilidad es db2support. Puede encontrar detalles acerca de la sintaxis del mandato y de las opciones de línea de mandatos en el manual Consulta de mandatos. El objetivo de este programa de utilidad es recopilar datos del entorno sobre la máquina cliente o servidor que está ejecutando DB2 y, a continuación, recopilar y empaquetar una gran parte de la salida en forma de archivo XML, HTML comprimido, que se puede examinar. Asimismo, el programa de utilidad dispone de una opción que permite la recopilación de algunos datos del usuario acerca de la naturaleza del problema, utilizando para ello un proceso interactivo de preguntas y respuestas. Este proceso le será de ayuda para clarificar el problema y proporcionar información a DB2 Customer Support cuando finalmente entre en contacto con éste en referencia al problema. Nota: Un cliente fino o de ejecución no puede utilizar este programa de utilidad. Este programa requiere que el cliente tenga instaladas las bibliotecas del motor de DB2. 17.2.1.1 Salidas de la recopilación El programa de utilidad produce una recopilación comprimida (un solo archivador de archivos) de la información importante del sistema de bases de datos. En este archivador existe un informe HTML de la información más esencial, que se puede utilizar para ver la información. Por omisión, db2support no recopilará datos de tablas, esquemas (DDL) ni anotaciones cronológicas para proteger la seguridad y confidencialidad de los datos del cliente. Con algunas opciones, el usuario puede elegir que se incluyan aspectos del esquema y de los datos (como, por ejemplo, que se incluyan anotaciones cronológicas archivadas). Las opciones que exponen datos o esquemas de bases de datos se deben utilizar con precaución. Cuando se invoque a db2support, se visualizará un mensaje indicando el grado de confidencialidad de los datos de que se trata. Los archivos que se recopilarán y comprimirán en un solo archivador son los siguientes: Recopilados bajo cualquier circunstancia 1. db2diag.log 2. Todos los archivos de detección (de condiciones de excepción) 3. Archivos de impresión de bloqueos (con -d) 4. Archivos de vuelcos 5. Salidas del usuario (con -d) 6. Archivos de control de la agrupación de almacenamientos intermedios y de espacios de tablas (SPCS) (con -d) 7. Diversos archivos relacionados con el sistema 8. Salida de diversos mandatos del sistema 9. Configuración bd (con -d) 10. Archivos de configuración dbm 11. Archivo de cabeceras de archivos de anotaciones cronológicas (con -d) 12. Archivo de historia de recuperaciones 13. db2cli.ini Recopilados opcionalmente 1. Archivos de anotaciones cronológicas activos 2. Contenido del directorio db2dump (es decir, lo que no se ha recopilado anteriormente) 3. Archivos imagen de memoria (-a para recopilar todos los archivos imagen de memoria, -r para recopilar únicamente el archivo imagen de memoria más reciente) 4. Información del sistema ampliada (-s) Los archivos siguientes forman el contenido del informe HTML: Recopilados bajo cualquier circunstancia 1. Número de PMR, si existe. (si se ha especificado -n) 2. Sistema operativo y nivel. (por ejemplo, AIX 4.2.1) 3. Información del release de DB2. 4. Información de cabecera de la biblioteca del motor. 5. Detección de 32 ó 64 bits 6. Información de la vía de acceso de instalación de DB2. 7. Para el informe EEE, contenido de db2nodes.cfg 8. Cuántas CPU, cuántos discos y cuánta memoria. 9. Lista de las bases de datos de esta instancia. 10. Información de registro, entorno, incluyendo la vía de acceso & libpath. 11. Espacio libre en disco para el sistema de archivos actual e inodos para Unix. 12. Nivel de JDK. 13. Configuración dbm. 14. Listado del archivo de historia de recuperaciones de la base de datos. 15. 'ls -lR' (o equivalente en Windows) del directorio sqllib. 16. LIST NODE DIRECTORY 17. LIST ADMIN NODE DIRECTORY 18. LIST DCS DIRECTORY 19. LIST DCS APPLICATIONS EXTENDED 20. Lista de todo el software instalado. Recopilados si se especifica '-s' 1. Información detallada del disco (diseño de particiones, tipo, información del LVM, etc.) 2. Información detallada de la red 3. Estadísticas del kernel 4. Versiones del firmware 5. Otros mandatos específicos de la plataforma Recopilados si se ha iniciado DB2 1. Estado de la conexión con el cliente 2. Configuración db/dbm (db cfg requiere la opción -d) 3. Configuración de la CLI 4. Información de la agrupación de memoria (tamaño y consumida). Datos completos si se utiliza la opción -d. 5. LIST ACTIVE DATABASES 6. LIST DATALINKS MANAGERS 7. LIST DCS APPLICATIONS Recopilados si se ha especificado -c y se puede establecer conexión con la base de datos 1. Número de tablas de usuario 2. Tamaño aproximado de los datos de DB 3. Instantánea de la base de datos 4. Instantánea de la aplicación 5. Información de la agrupación de almacenamientos intermedios 6. LIST APPLICATIONS 7. LIST COMMAND OPTIONS 8. LIST DATABASE DIRECTORY 9. LIST INDOUBT TRANSACTIONS 10. LIST NODEGROUPS 11. LIST NODES 12. LIST ODBC DATA SOURCES 13. LIST PACKAGES/TABLES 14. LIST TABLESPACE CONTAINERS 15. LIST TABLESPACES 16. LIST DRDA IN DOUBT TRANSACTIONS Si se especifica '-q', se recopila lo siguiente La modalidad de preguntas y respuestas interactivas está iniciada. Con la excepción de una pregunta "describa su problema" opcional y de un pequeño número de peticiones para información del cliente, todas las preguntas tienen varias respuestas posibles de entre las cuales se puede elegir. Se recopilarán todas las preguntas, incluidas las de seguimiento, y las respuestas. En algunos casos, el programa de utilidad le solicitará que lleve a cabo una tarea y coloque el resultado de la misma en un directorio adicional. Durante la modalidad interactiva se utiliza un pequeño árbol de decisiones para determinar las preguntas que se deben formular. Estas preguntas interactivas son de ayuda para determinar la categoría del problema y, en base a la categoría, se pueden formular unas cuantas preguntas relevantes más y se pueden recopilar datos adicionales. Al final de las preguntas, también se recopilarán los datos que se habrían recopilado en modalidad automática. Las respuestas a todas las preguntas se almacenan en preparación de su envío al Centro de servicio, junto con los datos recopilados en modalidad automática. 17.2.1.2 Visualización de detailed_system_info.html Si está ejecutando db2support en una instalación en que no se utiliza el idioma inglés y experimenta dificultades para visualizar correctamente detailed_system_info.html, es posible que tenga que utilizar Internet Explorer versión 5 o posteriores con codificación DOS. Para cambiar la codificación, seleccione Ver --> Codificación --> Europa central (DOS). Si todavía no tiene el soporte de codificación necesario, Internet Explorer le indicará que baje los archivos requeridos del sitio Web de Microsoft Updates. Esta información no es aplicable a los idiomas de byte doble (chino simplificado, chino tradicional, japonés y coreano). 17.2.1.3 Visualización de la sintaxis de DB2 Support Tool de página en página Para ver la sintaxis de DB2 Support Tool de página en página, ejecute el mandato siguiente: db2support | more ------------------------------------------------------------------------ 17.3 Capítulo 2. Resolución de problemas de DB2 Universal Database Server Bajo la sección "Bloqueo y puntos muertos", en la subsección "Aplicaciones lentas o que parece que se han bloqueado", se debe cambiar la descripción que aparece bajo "Las esperas de bloqueo o los puntos muertos no se deben al bloqueo de la siguiente clave" por: Bloqueo siguiente clave garantiza un nivel de aislamiento de Lectura repetible (RR) al bloquear automáticamente la siguiente clave para todas las sentencias INSERT y DELETE y el siguiente valor de clave más alto que esté por encima del grupo de resultados para sentencias SELECT. Para sentencias UPDATE que modifiquen partes de clave de un índice, la clave del índice original se suprime y se inserta el nuevo valor de clave. El bloqueo de siguiente clave se realiza en la inserción de clave y en la supresión de clave. Esto es necesario para garantizar RR estándar de ANSI y SQL92 y es el valor por omisión de DB2. Examine la información de instantánea correspondiente a la aplicación. Si el problema parece encontrarse con el bloqueo de siguiente clave, puede activar la opción DB2_RR_TO_RS si ninguna de las aplicaciones confía en el comportamiento de Lectura repetible (RR) y se acepta que las exploraciones se salten las supresiones no confirmadas. Cuando DB2_RR_TO_RS está activado, el comportamiento RR no se puede garantizar para exploraciones en tablas de usuarios porque el bloqueo de siguiente clave no se realiza durante la inserción y supresión de clave de índice. Las tablas de catálogo no se ven afectadas por esta opción. El otro cambio en el comportamiento es que, cuando DB2_RR_TO_RS está activado, las exploraciones se saltan las filas que se han suprimido pero no se han confirmado, aunque la fila se haya cualificado para la exploración. Por ejemplo, supongamos que tenemos un escenario en el que la transacción A suprime la fila con column1=10 y la transacción B realiza una exploración donde column1>8 y column1<12. Con DB2_RR_TO_RS desactivado, la transacción B esperará a que la transacción A se confirme o retrotraiga. Si se retrotrae, la fila con column1=10 se incluirá en el grupo de resultados de la consulta de la transacción B. Con DB2_RR_TO_RS activado, la transacción B no esperará a que la transacción A se confirme o retrotraiga. Recibirá inmediatamente los resultados de la consulta que no incluyan la fila suprimida. No utilice esta opción si necesita RR estándar ANSI y SQL92 o si no desea que las exploraciones se salten las supresiones no confirmadas. ------------------------------------------------------------------------ 17.4 Capítulo 8. Resolución de problemas de DB2 Data Links Manager En la Versión 7 del FixPak 2, el servidor genera un mensaje de aviso SQL1179W al precompilar un archivo de origen o al vincular un archivo de vinculación lógica sin especificar un valor para la opción FEDERATED. El mismo mensaje se genera cuando el archivo de origen o archivo de vinculación incluye referencias de SQL estático a un apodo. Hay dos excepciones: * Para los clientes que estén en un FixPak anterior a la Versión 7 del FixPak 2 o para clientes de nivel inferior, la API de sqlaprep() no comunica este aviso SQL1179W en el archivo de mensajes. El mandato PRECOMPILE del Procesador de línea de mandatos no emite tampoco la salida en este caso. * Para los clientes que estén en un FixPak anterior a la Versión 7 del FixPak 2 o para clientes de nivel inferior, la API sqlabndx si que comunica este aviso SQL1179W en el archivo de mensajes. Sin embargo, este archivo de mensajes incluye también de modo incorrecto un mensaje SQL0092N que indica que no se ha creado ningún paquete. Este mensaje no es correcto ya que el paquete ya se ha creado. El mandato BIND del Procesador de línea de mandatos devuelve el mismo aviso erróneo. ------------------------------------------------------------------------ Utilización de DB2 Universal Database en plataformas de 64 bits ------------------------------------------------------------------------ 18.1 Capítulo 5. Configuración 18.1.1 LOCKLIST Debe añadirse la información siguiente a la Tabla 2. Parámetro Límite superior anterior Límite superior actual LOCKLIST 60000 524288 18.1.2 shmsys:shminfo_shmmax Los usuarios de DB2 en el sistema operativo Solaris de 64 bits deberían aumentar el valor de "shmsys:shminfo_shmmax" en /etc/system, si es necesario, para poder asignar un conjunto grande de memoria compartida de la base de datos. El manual DB2 para UNIX Guía rápida de iniciación recomienda establecer este parámetro en el "90% de la RAM física de la máquina, en bytes". Esta recomendación también es válida para implementaciones de 64 bits. Sin embargo, existe un problema con la recomendación siguiente en el manual DB2 para UNIX Guía rápida de iniciación: Para los sistemas de 32 bits con más de 4 GB de RAM (es posible un máximo de 64 GB en total en el sistema operativo Solaris), si un usuario establecer el valor shmmax en un número mayor que 4 GB y utiliza un kernel de 32 bits, el kernel sólo mira los 32 bits inferiores del número, lo que a veces comporta un valor para shmmax muy pequeño. ------------------------------------------------------------------------ 18.2 Capítulo 6. Restricciones Actualmente no se proporciona soporte a LDAP en sistemas operativos de 64 bits. No pueden crearse bases de datos de 32 bits y de 64 bits en la misma vía de acceso. Por ejemplo, si existe una base de datos de 32 bits en , entonces: db2 create db on si se emite desde una instancia de 64 bits, se produce un error: "SQL10004C Se ha producido un error de E/S al acceder al directorio de la base de datos". ------------------------------------------------------------------------ Administración y programación del expansor de XML Las Notas del release para IBM DB2 XML Extender pueden encontrarse en el sitio Web de DB2 XML: http://www.ibm.com/software/data/db2/extenders/xmlext/library.html ------------------------------------------------------------------------ MQSeries Esta sección describe cómo se pueden utilizar DB2 y MQSeries para crear aplicaciones que combinen gestión de mensajes y acceso a bases de datos. Esta sección se centra en una serie de funciones, parecidas a Funciones definidas por el usuario (UDF), que se pueden habilitar opcionalmente en DB2 Universal Database, Versión 7.2. Utilizando estas funciones básicas, se puede dar soporte a una amplia gama de aplicaciones, desde una simple notificación de suceso a almacén de datos. Para obtener más información sobre las aplicaciones de almacenamiento de datos, consulte el recientemente renovado manual Data Warehouse Center Administration Guide, que puede obtener de http://www.ibm.com/software/data/db2/udb/winos2unix/support. ------------------------------------------------------------------------ 20.1 Instalación y configuración para las funciones de DB2 MQSeries Esta sección describe cómo configurar un entorno de DB2 para que utilice las Funciones de DB2 MQSeries. Una vez realizado satisfactoriamente el siguiente procedimiento, podrá utilizar las Funciones de DB2 MQSeries desde dentro de SQL. Encontrará una descripción de estas funciones en la sección Consulta de SQL de las Notas del release. El procedimiento básico para configurar y habilitar DB2 MQSeries Functions es: 1. Instalar MQSeries. 2. Instalar AMI de MQSeries. 3. Habilitar y configurar DB2 MQSeries Functions. Además, para poder utilizar las funciones de publicación y suscripción que suministra DB2 MQSeries Functions, también debe instalar MQSeries Integrator o las funciones de publicación y suscripción de MQSeries. Encontrará información sobre MQSeries Integrator en http://www.ibm.com/software/ts/mqseries/integrator. Encontrará información sobre la característica de publicación y suscripción de MQSeries en http://www.ibm.com/software/ts/mqseries/txppacs bajo la categoría 3. 20.1.1 Instalación de MQSeries El primer paso consiste en asegurarse de que, cómo mínimo, se ha instalado MQSeries Versión 5.1 con el último FixPak en el servidor de DB2. Si esta versión de MQSeries ya está instalada, vaya al paso siguiente, "Instalación de AMI de MQSeries". DB2 Versión 7.2 incluye una copia del servidor de MQSeries que se va a utilizar con DB2. Encontrará instrucciones específicas para instalar MQSeries o para actualizar una instalación existente de MQSeries en el manual Guía rápida de iniciación de una plataforma específica en http://www.ibm.com/software/ts/mqseries/library/manuals. Asegúrese de configurar un gestor de colas por omisión a medida que avanza por el proceso de instalación. 20.1.2 Instalación de AMI de MQSeries El siguiente paso es instalar la Interfaz de gestión de mensajes de aplicaciones (AMI) de MQSeries. Es una extensión de las interfaces de programación de MQSeries que ofrece una separación clara de las tareas administrativas y de programación. Para poder utilizar DB2 MQSeries Functions hay que instalar esta interfaz. Si la AMI de MQSeries ya está instalada en el servidor de DB2, vaya al paso siguiente, "Habilitación de DB2 MQSeries Functions". Si la AMI de MQSeries no está instalada, puede hacerlo desde el paquete de instalación que se suministra con DB2 7.2 o bajando una copia de la AMI del sitio Web de MQSeries Support Pacs en http://www.ibm.com/software/ts/mqseries/txppacs. La AMI se encuentra bajo "Category 3 - Product Extensions". Para su comodidad, suministramos una copia de la AMI de MQSeries con DB2. Este archivo se encuentra en el directorio sqllib/cfg. El nombre del archivo depende del sistema operativo: AIX Versión 4.3 y superiores ma0f_ax.tar.Z HP-UX ma0f_hp.tar.Z Entorno operativo Solaris ma0f_sol7.tar.Z Windows de 32 bits ma0f_nt.zip Siga el proceso normal de instalación de la AMI que se describe en el archivo readme de la AMI contenido en la imagen de instalación comprimida. 20.1.3 Habilitación de DB2 MQSeries Functions Durante este paso, configurará y habilitará una base de datos para DB2 MQSeries Functions. El programa de utilidad enable_MQFunctions es un mandato flexible que en primer lugar comprueba que se ha configurado el entorno de MQSeries adecuado y luego instala y crea una configuración por omisión para DB2 MQSeries Functions, habilita la base de datos especificada con estas funciones y confirma que la configuración funciona. 1. Para Windows NT o Windows 2000, vaya al paso 5. 2. Definición de grupos en UNIX: si está habilitando estas funciones en UNIX, primero debe añadir el propietario de la instancia de DB2 (que suele ser db2inst1) y el id de usuario asociado a las UDF protegidas (que suele ser db2fenc1) al grupo de MQSeries mqm. Esto es necesario para que las funciones de DB2 puedan acceder a MQSeries. 3. Defina variables de entorno de DB2 en UNIX: añada la variable de entorno AMT_DATA_PATH a la lista que DB2 comprende. Puede editar el archivo $INSTHOME/sqllib/profile.env y añadir AMT_DATA_PATH a DB2ENVLIST. También se puede utilizar el mandato db2set. 4. En UNIX, vuelva a iniciar la instancia de la base de datos; para que los cambios en variables de entorno entren en vigor, se debe volver a iniciar la instancia de la base de datos. 5. Cambie al directorio $INSTHOME/sqllib/cfg para UNIX o %DB2PATH%/cfg en Windows. 6. Ejecute el mandato enable_MQFunctions para configurar y habilitar una base de datos para DB2 MQSeries Functions. Consulte 20.6, enable_MQFunctions para ver una descripción completa de este mandato. A continuación se muestran algunos ejemplos comunes. Tras finalizar satisfactoriamente esta tarea, la base de datos especificada se habrá habilitado y la configuración se habrá probado. 7. Para probar estas funciones utilizando el Procesador de línea de mandatos, emita los siguientes mandatos después de establecer conexión con la base de datos habilitada: values DB2MQ.MQSEND('a test') values DB2MQ.MQRECEIVE() La primera sentencia enviará el mensaje "a test" a la cola DB2MQ_DEFAULT_Q y la segunda lo volverá a recibir. Nota: Como resultado de ejecutar enable_MQFunctions, se establecerá un entorno de MQSeries por omisión. Se crearán el gestor de colas de MQSeries DB2MQ_DEFAULT_MQM y la cola por omisión DB2MQ_DEFAULT_Q. Los archivos amt.xml, amthost.xml y amt.dtd se crearán si aún no existen en el directorio al que apunta AMT_DATA_PATH. Si no existe un archivo amthost.xml y no contiene una definición para connectionDB2MQ, se añadirá una línea al archivo con la información adecuada. Se guardará una copia del archivo original como DB2MQSAVE.amthost.xml. ------------------------------------------------------------------------ 20.2 Estilos de gestión de mensajes de MQSeries DB2 MQSeries Functions da soporte a tres modelos de gestión de mensajes: datagramas, publicación y suscripción (p/s) y petición y respuesta (r/r). Los mensajes que se envían como datagramas se envían a un solo destino y no se espera respuesta. En el modelo p/s, uno o más publicadores envían un mensaje a un servicio de publicación que distribuye el mensaje a uno o más suscriptores. El modelo de petición y respuesta es parecido al de datagrama, pero el que envía el mensaje espera recibir una respuesta. ------------------------------------------------------------------------ 20.3 Estructura de mensajes MQSeries no obliga a utilizar ninguna estructura determinada de los mensajes que transporta. Otros productos, como MQSeries Integrator (MQSI), ofrecen soporte a mensajes formados como C o Cobol o como series XML. Los mensajes estructurados en MQSI se definen mediante un repositorio de mensajes. Los mensajes XML suelen tener una estructura de mensaje autoexplicativa y se pueden gestionar a través de un repositorio. Los mensajes también pueden no estar estructurados y necesitar un código de usuario para analizar o construir el contenido del mensaje. Estos mensajes suelen estar semiestructurados, es decir, utilizan posiciones de bytes o delimitadores fijos para separar los campos dentro de un mensaje. MQSeries Assist Wizard ofrece soporte para estos mensajes semiestructurados. Se ofrece soporte para mensajes XML a través de alguna características nuevas de DB2 XML Extender. ------------------------------------------------------------------------ 20.4 Visión general funcional de MQSeries Con DB2 UDB Versión 7.2 se ofrecen un grupo de funciones de MQSeries que permiten que las sentencias de SQL incluyan operaciones de gestión de mensajes. Esto significa que este soporte está disponible para las aplicaciones escritas en cualquier lenguaje soportado, por ejemplo C, Java, SQL utilizando cualquiera de las interfaces de bases de datos. Todos los ejemplos que se muestran a continuación están en SQL. Este SQL se puede utilizar desde otros lenguajes de programación de todas las formas estándares. Todos los estilos de gestión de mensajes de MQSeries descritos anteriormente reciben soporte. Para obtener más información sobre funciones de MQSeries, consulte la sección Consulta de SQL de las Notas del release. En una configuración básica, hay un servidor de MQSeries situado en la máquina servidor de bases de datos junto con DB2. Las funciones de MQSeries se instalan en DB2 y ofrecen acceso al servidor de MQSeries. Los clientes DB2 pueden estar en cualquier máquina a la que pueda acceder el servidor de DB2. Varios clientes pueden acceder simultáneamente a las funciones de MQSeries a través de la base de datos. Mediante las funciones suministradas, los clientes de DB2 pueden realizar operaciones de gestión de mensajes dentro de sentencias de SQL. Estas operaciones de gestión de mensajes permiten que las aplicaciones de DB2 se comuniquen entre sí o con otras aplicaciones de MQSeries. El mandato enable_MQFunctions sirve para habilitar una base de datos de DB2 para las funciones de MQSeries. Establecerá automáticamente una configuración sencilla por omisión que pueden utilizar las aplicaciones de clientes sin realizar ninguna acción administrativa adicional. Para ver una descripción, consulte los apartados 20.6, enable_MQFunctions y 20.7, disable_MQFunctions. La configuración por omisión ofrece a los programadores de aplicaciones un método rápido de comenzar y una interfaz sencilla para el desarrollo. Se pueden ir configurando de forma incrementan funciones adicionales a medida que se necesitan. Ejemplo 1: para enviar un mensaje sencillo utilizando la configuración por omisión, la sentencia de SQL sería la siguiente: VALUES DB2MQ.MQSEND('mensaje simple') Esta sentencia enviará el mensaje mensaje simple al gestor de colas de MQSeries y a la cola especificada por la configuración por omisión. La Interfaz de gestión de aplicaciones (AMI) de MQSeries ofrece una separación clara entre acciones de gestión de mensajes y las definiciones que indican cómo se deben llevar a cabo estas acciones. Estas definiciones se mantienen en un archivo de repositorio externo y se gestionan mediante la herramienta de administración de AMI. Esto facilita el desarrollo y el mantenimiento de las aplicaciones AMI. Las funciones de MQSeries que se suministran con DB2 se basan en la interfaz AMI de MQSeries. AMI da soporte al uso de un archivo de configuración externo, denominado Repositorio de AMI, para almacenar la información de configuración. La configuración por omisión incluye un Repositorio de AMI de MQSeries configurado para que se utilice con DB2. Hay dos conceptos de la AMI de MQSeries, puntos de servicio y políticas, que se transfieren en DB2 MQSeries Functions. Un punto de servicio es un punto final lógico desde el que se envía o en el que se recibe un mensaje. En el repositorio de AMI, cada punto de servicio se define con un nombre de cola de MQSeries y un gestor de colas. Las políticas definen las opciones de calidad de servicio que se deben utilizar para una determinada operación de gestión de mensajes. Las calidades clave de servicio incluyen prioridad y permanencia del mensaje. Se ofrecen puntos de servicio y definiciones de políticas por omisión que pueden utilizar los programadores para simplificar sus aplicaciones. El ejemplo 1 se puede reescribir del siguiente modo para especificar de forma explícita el nombre de política y punto de servicio por omisión: Ejemplo 2: VALUES DB2MQ.MQSEND('DB2.DEFAULT.SERVICE', 'DB2.DEFAULT.POLICY', 'mensaje simple') Una o más aplicaciones pueden dar servicio a colas en el servidor en el que residen las colas y aplicaciones. En muchas configuraciones se definen varias colas para dar soporte a distintas aplicaciones y diferentes objetivos. Por este motivo, suele ser importante definir diferentes puntos de servicio cuando se realizan peticiones de MQSeries. Esto se demuestra en el siguiente ejemplo: Ejemplo 3: VALUES DB2MQ.MQSEND('ODS_Input', 'mensaje simple') Nota: En este ejemplo, no se especifica ninguna política, por lo que se utilizará la política por omisión. 20.4.1 Limitaciones MQSeries ofrece la posibilidad de combinar operaciones de mensajes y operaciones de bases de datos en una sola unidad de trabajo como una transacción atómica. Esta característica inicialmente no recibe soporte de MQSeries Functions en Unix y Windows. Cuando se utilizan las funciones de envío o recepción, la longitud máxima de un mensaje de tipo VARCHAR es de 4000 caracteres. La longitud máxima para enviar o recibir un mensaje de tipo CLOB es de 1 MB. Éstos son también los tamaños máximos de mensaje para publicar un mensaje mediante MQPublish. Algunas veces, se necesitan funciones distintas para trabajar con mensajes CLOB y mensajes VARCHAR. Generalmente, la versión CLOB de una función MQ utiliza una sintaxis idéntica a la de su contrapartida. La única diferencia es que el nombre contiene, al final, los caracteres CLOB. Por ejemplo, el equivalente CLOB de MQREAD es MQREADCLOB. Para ver una lista detallada de estas funciones, consulte 42.5.3, Ahora se soportan datos CLOB en funciones de MQSeries. 20.4.2 Códigos de error Los códigos de retorno que devuelve MQSeries Functions se encuentran en el Apéndice B del manual de la Interfaz de gestión de mensajes de aplicaciones de MQSeries. ------------------------------------------------------------------------ 20.5 Escenarios de aplicación MQSeries Functions se puede utilizar en una amplia variedad de escenarios. En esta sección se revisan algunos de los escenarios más comunes, que incluyen Gestión básica de mensajes, Conectividad de aplicaciones y Publicación de datos. 20.5.1 Gestión básica de mensajes La forma más básica de gestión de mensajes con MQSeries DB2 Functions se produce cuando todas las aplicaciones de bases de datos se conectan al mismo servidor de DB2. Los clientes pueden ser locales al servidor de bases de datos o pueden estar distribuidos en un entorno de red. En un escenario sencillo, el Cliente A invoca la función MQSEND para enviar una serie definida por el usuario a la ubicación de servicio por omisión. Luego las funciones de MQSeries se ejecutan dentro de DB2 en el servidor de bases de datos. Luego, el Cliente B invoca la función MQRECEIVE para eliminar el mensaje que hay al principio de la cola definida por el servicio por omisión y devolverlo al cliente. De nuevo, DB2 ejecuta las funciones de MQSeries que realizan esta tarea. Los clientes de bases de datos pueden utilizar la gestión sencilla de mensajes de varias formas. Algunas aplicaciones comunes de la gestión de mensajes son: * Recopilación de datos -- La información se recibe en forma de mensajes procedentes de una o más fuentes de información. Las fuentes de información pueden ser aplicaciones comerciales, como SAP, o aplicaciones desarrolladas por la empresa. Estos datos se pueden recibir de colas y almacenar en tablas de bases de datos para su futuro proceso y análisis. * Distribución de cargas de trabajo -- Las peticiones de trabajo se colocan en una cola compartida por varias instancias de la misma aplicación. Cuando una instancia está lista para realizar trabajo, recibe un mensaje del principio de la cola que contiene una petición de trabajo a realizar. Utilizando esta técnica, varias instancias pueden compartir la carga de trabajo representada por una sola cola de peticiones agrupadas. * Señalización de aplicaciones -- En una situación en la que colaboran varios procesos, se suelen utilizar mensajes para coordinar los esfuerzos. Estos mensajes pueden contener mandatos o peticiones de trabajo a realizar. Normalmente, este tipo de señalización es de una dirección; es decir, la parte que inicia el mensaje no espera una respuesta. Consulte el tema 20.5.4.1, Comunicaciones tipo petición y respuesta para obtener más información. * Notificación de aplicación -- La notificación es parecida a la señalización en que se envían datos de un iniciador sin que espere una respuesta. Sin embargo, normalmente las notificaciones contienen datos sobre los sucesos comerciales que han tenido lugar. 20.5.4.2, Publicación y suscripción constituye una forma más avanzada de notificación. El siguiente escenario amplía el escenario sencillo descrito anteriormente para incorporar la gestión remota de mensajes. Es decir, se envía un mensaje entre la Máquina A y la Máquina B. La secuencia de pasos es la siguiente: 1. El Cliente DB2 ejecuta una llamada a MQSEND, especificando un servicio de destino que se ha definido para representar una cola remota en la Máquina B. 2. MQSeries DB2 Functions realizan el trabajo real de MQSeries para enviar el mensaje. El servidor de MQSeries de la Máquina A acepta el mensaje y garantiza que lo distribuirá en su destino, definido por la definición del punto de servicio y por la configuración actual de MQSeries en la Máquina A. El servidor determina que se trata de una cola de la Máquina B. Luego intenta distribuir el mensaje al servidor de MQSeries de la Máquina B, reintentándolo de forma transparente tantas veces como son necesarias. 3. El servidor de MQSeries de la Máquina B acepta el mensaje procedente del servidor de la Máquina A y lo coloca en la cola de destino de la Máquina B. 4. Un cliente de MQSeries de la Máquina B solicita el mensaje que hay al principio de la cola. 20.5.2 Envío de mensajes Mediante MQSEND, un programador o usuario de DB2 elige los datos que desea enviar y dónde los desea enviar y se enviarán. En la industria esto se suele denominar "Enviar y olvidarse", que significa que el remitente se limita a enviar un mensaje, confiando en los protocolos de distribución garantizados de MQSeries para asegurar que el mensaje alcanza su destino. Los siguientes ejemplos lo ilustran. Ejemplo 4: Para enviar una serie definida por el usuario al punto de servicio myPlace con la política highPriority: VALUES DB2MQ.MQSEND('myplace','highPriority','test') Aquí, la política highPriority hace referencia a una política definida en el Repositorio de AMI que establece la prioridad de MQSeries como la de más alto nivel y quizás ajuste otras calidades de servicio, como permanencia. El contenido del mensaje puede estar compuesto por cualquier combinación válida de datos específicos de usuario y SQL. Esto incluye funciones anidadas, operadores y conversiones. Por ejemplo, dada una tabla EMPLOYEE, con las columnas VARCHAR LASTNAME, FIRSTNAME y DEPARTMENT, para enviar un mensaje que contenga esta información a cada empleado de DEPARTMENT 5LGA debería hacer lo siguiente: Ejemplo 5: SELECT DB2MQ.MQSEND(LASTNAME || ' ' || FIRSTNAME || ' ' || DEPARTMENT) FROM EMPLOYEE WHERE DEPARTMENT = '5LGA' Si esta tabla también tuviera una columna AGE de enteros, se incluiría del siguiente modo: Ejemplo 6: SELECT DB2MQ.MQSEND (LASTNAME || ' ' || FIRSTNAME || ' ' || DEPARTMENT|| ' ' || char(AGE)) FROM EMPLOYEE WHERE DEPARTMENT = '5LGA' Si la tabla EMPLOYEE tuviera una columna RESUME de tipo CLOB en lugar de una columna AGE, se podría enviar un mensaje que contuviera la información correspondiente a cada empleado del DEPARTMENT 5LGA, del modo siguiente: Ejemplo 7: SELECT DB2MQ.MQSEND (clob(LASTNAME) || ' ' || clob(FIRSTNAME) || ' ' || clob(DEPARTMENT) || ' ' || RESUME)) FROM EMPLOYEE WHERE DEPARTMENT = '5LGA' Ejemplo 8: Finalmente, el siguiente ejemplo muestra cómo el contenido del mensaje se puede obtener mediante cualquier expresión de SQL válida. Dada una segunda tabla, DEPT, que contiene las columnas VARCHAR DEPT_NO y DEPT_NAME, se pueden enviar mensajes que contengan LASTNAME y DEPT_NAME de los empleados: Ejemplo 8: SELECT DB2MQ.MQSEND(e.LASTNAME || ' ' || d.DEPTNAME) FROM EMPLOYEE e, DEPT d WHERE e.DEPARTMENT = d.DEPTNAME 20.5.3 Recuperación de mensajes MQSeries DB2 Functions permite recibir o leer mensajes. La diferencia entre leer y recibir es que al leer se devuelve el mensaje al principio de una cola sin eliminarlo de la misma, mientras que la operación de recibirlo hace que el mensaje se elimine de la cola. Un mensaje recuperado mediante una operación de recepción sólo se puede recuperar una vez, mientras que un mensaje recuperado mediante una operación de lectura permite recuperar el mismo mensaje varias veces. Los siguientes ejemplos lo demuestran: Ejemplo 8: VALUES DB2MQ.MQREAD() Este ejemplo devuelve una serie VARCHAR que contiene el mensaje que hay al principio de la cola definida por el servicio por omisión utilizando la política de calidad de servicio por omisión. Es importante observar que si no hay ningún mensaje disponible para su lectura, se devuelve un valor nulo. Esta operación no modifica la cola. Ejemplo 9: VALUES DB2MQ.MQRECEIVE('Employee_Changes') El ejemplo anterior muestra cómo se puede eliminar un mensaje del principio de la cola definida por el servicio Employee_Changes utilizando la política por omisión. Una característica muy potente de DB2 es la posibilidad de generar una tabla a partir de una función definida por el usuario (o suministrada por DB2). Puede aprovechar esta característica de función de tablas para permitir que el contenido de una cola se materialice como una tabla de DB2. El ejemplo siguiente muestra la forma más sencilla de esta función: Ejemplo 10: SELECT t.* FROM table ( DB2MQ.MQREADALL()) t Esa consulta devuelve una tabla que consta de todos los mensajes de la cola definida por el servicio por omisión y los metadatos sobre estos mensajes. Aunque la definición completa de la estructura de la tabla devuelta se define en el Apéndice, la primera columna refleja el contenido del mensaje y las demás columnas contienen los metadatos. Para devolver únicamente los mensajes, se podría reescribir el ejemplo: Ejemplo 11: SELECT t.MSG FROM table (DB2MQ.MQREADALL()) t La tabla que devuelve una función de tabla no difiere de una tabla recuperada directamente de la base de datos. Esto significa que puede utilizar esta tabla de varias formas. Por ejemplo, puede unir el contenido de la tabla con otra tabla o contar el número de mensajes de una cola: Ejemplo 12: SELECT t.MSG, e.LASTNAME FROM table (DB2MQ.MQREADALL() ) t, EMPLOYEE e WHERE t.MSG = e.LASTNAME Ejemplo 13: SELECT COUNT(*) FROM table (DB2MQ.MQREADALL()) t También puede ocultar el hecho de que la fuente de la tabla es una consulta, creando una vista sobre una función de tabla. Por ejemplo, el siguiente ejemplo crea una vista denominada NEW_EMP sobre la cola a la que hace referencia el servicio denominado NEW_EMPLOYEES: Ejemplo 14: CREATE VIEW NEW_EMP (msg) AS SELECT t.msg FROM table (DB2MQ.MQREADALL()) t En este caso, la vista se define con una sola columna que contiene un mensaje entero. Si los mensajes tienen una estructura simple, por ejemplo contienen dos campos de longitud fija, es más sencillo utilizar las funciones incorporadas de DB2 para analizar el mensaje en las dos columnas. Por ejemplo, si sabe que los mensajes que se envían a una determinada cola siempre contienen un apellido de 18 caracteres seguido de un nombre de 18 caracteres, puede definir una vista que contenga cada campo como una columna separada, del siguiente modo: Ejemplo 15: CREATE VIEW NEW_EMP2 AS SELECT left(t.msg,18) AS LNAME, right(t.msg,18) AS FNAME FROM table(DB2MQ.MQREADALL()) t Una nueva característica de DB2 Stored Procedure Builder, MQSeries Assist Wizard, permite crear nuevas funciones y vistas de tablas de DB2 que correlacionarán estructuras delimitadas de mensajes con columnas. Finalmente, suele resultar útil almacenar el contenido de uno o más mensajes en la base de datos. Esto se puede conseguir utilizando toda la potencia de SQL para manipular y almacenar contenido de mensajes. Quizás el ejemplo más sencillo es el siguiente: Ejemplo 16: INSERT INTO MESSAGES SELECT t.msg FROM table (DB2MQ.MQRECEIVEALL()) t Dada una tabla MESSAGES, con una sola columna de VARCHAR(2000), la sentencia anterior insertará los mensajes de la cola del servicio por omisión en la tabla. Esta técnica se puede mejorar para cubrir una amplia variedad de circunstancias. 20.5.4 Conectividad de aplicación a aplicación La integración de aplicaciones es un elemento común de muchas soluciones. Tanto si se integra una aplicación adquirida en una infraestructura existente como si se integra una aplicación recientemente desarrollada en un entorno existente, generalmente nos enfrentamos a la tarea de combinar un grupo heterogéneo de subsistemas para que funcionen conjuntamente. MQSeries se suele considerar la herramienta esencial para integrar aplicaciones. MQSeries, al que se puede acceder desde la mayoría de entornos de hardware, software y lenguajes, ofrece los métodos para interconectar un grupo muy heterogéneo de aplicaciones. Esta sección trata algunos escenarios de integración de aplicaciones y cómo se pueden utilizar con DB2. Puesto que el tema es muy amplio, el tratamiento de la integración de aplicaciones queda fuera del ámbito de este manual. Por lo tanto, nos centraremos en dos temas sencillos: las comunicaciones tipo petición y respuesta y MQSeries Integrator y publicación y suscripción. 20.5.4.1 Comunicaciones tipo petición y respuesta El método de comunicaciones de petición y respuesta (R/R) es una técnica muy común para que una aplicación solicite los servicios de otra. Un modo de hacerlo es que el peticionario envíe un mensaje al proveedor de servicio solicitando que realice un trabajo. Una vez realizado el trabajo, el proveedor puede decidir enviar los resultados (o simplemente una confirmación de que se ha realizado el trabajo) al peticionario. Pero utilizando las técnicas básicas de gestión de mensajes descritas anteriormente, no hay nada que conecte la petición del remitente con la respuesta del proveedor de servicio. A no ser que el peticionario espere una respuesta antes de continuar, se deben utilizar algunos mecanismos para asociar cada respuesta con su petición. En lugar de imponer que el programador cree dicho mecanismo, MQSeries ofrece un identificador de correlación que permite la correlación de mensajes en un intercambio. Aunque este mecanismo se puede utilizar de varias formas, el modo más sencillo consiste en que el peticionario marque un mensaje con un identificador de correlación conocido utilizando, por ejemplo, la siguiente sentencia: Ejemplo 17: DB2MQ.MQSEND ('myRequester','myPolicy','SendStatus:cust1','Req1') Esta sentencia añade un parámetro final, Req1, a la anterior sentencia MQSEND para indicar el identificador de correlación correspondiente a la petición. Para recibir una respuesta a esta petición específica, utilice la sentencia MQRECREIVE correspondiente para recuperar de forma selectiva el primer mensaje definido por el servicio indicado que coincida con este identificador de correlación, del modo siguiente: Ejemplo 18: DB2MQ.MQRECEIVE('myReceiver','myPolicy','Req1') Si la aplicación que da servicio a la petición está ocupada y el peticionario emite el mandato MQRECEIVE anterior antes de que se envíe la respuesta, no se encontrará ningún mensaje que coincida con este identificador de correlación. Para recibir la petición de servicio y el identificador de correlación, se utiliza una sentencia como la siguiente: Ejemplo 19: SELECT msg, correlid FROM table (DB2MQ.MQRECEIVEALL('aServiceProvider','myPolicy',1)) t Esto devuelve el mensaje y el identificador de correlación de la primera petición del servicio aServiceProvider. Una vez realizado el servicio, envía el mensaje de respuesta a la cola descrita por aRequester. Mientras tanto, el peticionario del servicio puede estar realizando otro trabajo. De hecho, no hay garantía de que la petición inicial de servicio se responda dentro de un periodo de tiempo definido. El programador debe gestionar los tiempos de espera a nivel de aplicación como este; el peticionario debe sondear para detectar la presencia de la respuesta. La ventaja de este proceso asíncrono que no depende del tiempo es que el peticionario y el proveedor de servicio se ejecutan de forma completamente independiente. Esto se puede utilizar para adaptar entornos en los que las aplicaciones sólo se conectan de forma intermitente y entornos con procesos por lotes en los que se agregan varias peticiones o respuestas antes del proceso. Este tipo de agregación se suele utilizar en entornos de almacén de datos para actualizar periódicamente un almacén de datos o almacén de datos operativos. 20.5.4.2 Publicación y suscripción Publicación de datos sencillos Otro escenario común en la integración de aplicaciones es que una aplicación notifique a otras aplicaciones sobre sucesos de interés. Esto se puede realizar fácilmente enviando un mensaje a una cola supervisada por otra aplicación. El contenido del mensaje puede ser una serie definida por el usuario o puede estar compuesto a partir de columnas de bases de datos. Normalmente, con la función MQSEND se envían mensajes sencillos. Cuando estos mensajes se tienen que enviar simultáneamente a varios receptores, se puede utilizar el recurso de Lista de distribución de la AMI de MQSeries. Una lista de distribución se define mediante la herramienta de administración de AMI. Una lista de distribución comprende una lista de servicios individuales. Se envía un mensaje enviado a una lista de distribución a cada uno de los servicios definidos dentro de la lista. Esto resulta especialmente útil cuando se sabe que unos cuantos servicios están siempre interesados en cada mensaje. El ejemplo siguiente muestra el envío de un mensaje a la lista de distribución interestedParties: Ejemplo 20: DB2MQ.MQSEND('interestedParties','información de interés general'); Cuando se necesita más control sobre los mensajes que deben recibir determinados servicios, se necesita la función de publicación y suscripción. Los sistemas de publicación y suscripción normalmente ofrecen un entorno seguro y escalable en el que varios suscriptores se pueden registrar para recibir mensajes procedentes de varios publicadores. Para dar soporte a esta función se puede utilizar la interfaz MQPublish junto con MQSeries Integrator o el recurso de publicación y suscripción de MQSeries. MQPublish permite a los usuarios especificar opcionalmente un tema que se asociará con un mensaje. Los temas permiten a un suscriptor especificar de forma más clara los mensajes que desea aceptar. La secuencia de pasos es la siguiente: 1. Un administrador de MQSeries configura las funciones de publicación y suscripción de MQSeries Integrator. 2. Las aplicaciones interesadas se suscriben a los puntos de suscripción definidos por la configuración de MQSI y pueden especificar si lo desean temas en los que están interesadas. Cada suscriptor selecciona temas relevantes y también puede utilizar las técnicas de suscripción basadas en contenido de MQSeries Integrator V2. Es importante observar que estas colas, tal como están representadas por nombres de servicios, definen al suscriptor. 3. Una aplicación de DB2 publica un mensaje en el punto de servicio Meteorología. El mensaje indica que el tiempo es Aguanieve con el tema Austin, con lo que notifica a los suscriptores interesados que el tiempo en Austin es Aguanieve. 4. Los mecanismos para publicar realmente el mensaje se manejan mediante las funciones de MQSeries que ofrece DB2. El mensaje se envía a MQSeries Integrator utilizando el servicio denominado Meteorología. 5. MQSI acepta el mensaje procedente del servicio Meteorología, realiza los procesos definidos por la configuración de MQSI y determina a qué suscripciones notifica. Luego MQSI envía el mensaje a las colas de suscriptores con cuyos criterios coincide. 6. Las aplicaciones suscritas al servicio Meteorología que han registrado un interés en Austin recibirán el mensaje Aguanieve en su servicio de recepción. Para publicar estos datos utilizando todos los valores por omisión y tema nulo, utilizaría la siguiente sentencia: Ejemplo 21: SELECT DB2MQ.MQPUBLISH (LASTNAME || ' ' || FIRSTNAME || ' ' || DEPARTMENT|| ' ' ||char(AGE)) FROM EMPLOYEE WHERE DEPARTMENT = '5LGA' Si se especifican por completo todos los parámetros y se simplifica el mensaje para que sólo contenga LASTNAME, la sentencia sería la siguiente: Ejemplo 22: SELECT DB2MQ.MQPUBLISH('HR_INFO_PUB', 'SPECIAL_POLICY', LASTNAME, 'ALL_EMP:5LGA', 'MANAGER') FROM EMPLOYEE WHERE DEPARTMENT = '5LGA' Esta sentencia publica mensajes en el servicio de publicación HR_INFO_PUB utilizando el servicio SPECIAL_POLICY. Los mensajes indican que el remitente es el tema MANAGER. La serie del tema muestra que se pueden especificar varios temas, concatenados mediante el signo ':'. En este ejemplo, el hecho de utilizar dos temas permite a los suscriptores registrarse para ALL_EMP o sólo 5LGA para recibir estos mensajes. Para recibir mensajes publicados, primero debe registrar su interés en los mensajes que contienen un determinado tema e indicar el nombre del servicio de suscriptor al que se deben enviar los mensajes. Es importante observar que un servicio de suscriptor AMI define un servicio intermediario y un servicio de recepción. El servicio intermediario es el modo en que el suscriptor se comunica con el intermediario de publicación y suscripción y el servicio de recepción es el lugar en el que se envían los mensajes que coinciden con la petición de suscripción. La siguiente sentencia registra un interés en el tema ALL_EMP. Ejemplo 23: DB2MQ.MQSUBSCRIBE('aSubscriber', 'ALL_EMP') Una vez suscrita una aplicación, los mensajes publicados con el tema ALL_EMP se enviarán al servicio de recepción definido por el servicio de suscripción. Una aplicación puede tener varias suscripciones simultáneas. Para obtener los mensajes que coinciden con su suscripción, puede utilizar cualquiera de las funciones estándares de recuperación de mensajes. Por ejemplo, si el servicio de suscripción aSubscriber define que el servicio de recepción sea aSubscriberReceiver, la siguiente sentencia leerá de forma no destructiva el primer mensaje: Ejemplo 24: DB2MQ.MQREAD('aSubscriberReceiver') Para determinar los mensajes y los temas bajo los que se han publicado, debe utilizar una de las funciones de tabla. La sentencia siguiente recibe los cinco primeros mensajes de aSubscriberReceiver y muestran el mensaje y el tema: Ejemplo 25: SELECT t.msg, t.topic FROM table (DB2MQ.MQRECEIVEALL('aSubscriberReceiver',5)) t Para leer todos los mensajes con el tema ALL_EMP, puede aprovechar la potencia de SQL para emitir: Ejemplo 26: SELECT t.msg FROM table (DB2MQ.MQREADALL('aSubscriberReceiver')) t WHERE t.topic = 'ALL_EMP' Nota: Es importante observar que, si se utiliza MQRECEIVEALL con una restricción, se consume toda la cola, no solo los mensajes publicados con el tema ALL_EMP. Esto se debe a que la función de tabla se realiza antes de que se aplique la restricción. Cuando deja de estar interesado en suscribirse a un determinado tema, debe anular de forma explícita la suscripción mediante una sentencia como la siguiente: Ejemplo 27: DB2MQ.MQUNSUBSCRIBE('aSubscriber', 'ALL_EMP') Una vez emitida esta sentencia, el intermediario de publicación y suscripción dejará de distribuir mensajes que coincidan con esta suscripción. Publicación automática Otra técnica importante en la gestión de mensajes de bases de datos es la publicación automática. Utilizando un recurso de desencadenante de DB2, puede publicar mensajes automáticamente como parte de una invocación del desencadenante. Aunque existen otras técnicas para la publicación automática de datos, el enfoque basado en desencadenantes ofrece a los administradores o programadores una gran libertad para construir contenido de mensajes y flexibilidad para definir las acciones desencadenadoras. Al igual que en cualquier uso que se haga de los desencadenantes, se debe prestar atención a la frecuencia y coste de la ejecución. Los siguientes ejemplos muestran cómo se pueden utilizar desencadenantes con MQSeries DB2 Functions. El ejemplo siguiente muestra lo fácil que resulta publicar un mensaje cada vez que se contrata un nuevo empleado. Cualquier usuario o aplicación suscritos al servicio HR_INFO_PUB con interés registrado en NEW_EMP recibirán un mensaje con la fecha, nombre y departamento de cada nuevo empleado. Ejemplo 28: CREATE TRIGGER new_employee AFTER INSERT ON employee REFERENCING NEW AS n FOR EACH ROW MODE DB2SQL VALUES DB2MQ.MQPUBLISH('HR_INFO_PUB&', 'NEW_EMP', current date || ' ' || LASTNAME || ' ' || DEPARTMENT) ------------------------------------------------------------------------ 20.6 enable_MQFunctions enable_MQFunctions Habilita DB2 MQSeries Functions para la base de datos especificada y valida que DB2 MQSeries Functions se puede ejecutar correctamente. El mandato fallará si no se han instalado y configurado MQSeries y AMI de MQSeries. Autorización Una de las siguientes: * sysadm * dbadm * IMPLICIT_SCHEMA sobre la base de datos, si no existe el nombre de esquema implícito o explícito de la función * Privilegio CREATEIN sobre el esquema, si existe el nombre de esquema, DB2MQ Sintaxis del mandato >>-enable_MQFunctions---n--basedatos---u--idusuario-------------> >---p--contraseña--+-------+--+------------+------------------->< '-force-' '-noValidate-' Parámetros del mandato -n basedatos Especifica el nombre de la base de datos que se va a habilitar. -u idusuario Especifica el ID de usuario que se va a conectar a la base de datos. -p contraseña Especifica la contraseña del ID de usuario. -force Especifica que los avisos encontrados durante una reinstalación se deben pasar por alto. -noValidate Especifica que no se llevará a cabo la validación de DB2 MQSeries Functions. Ejemplos En el siguiente ejemplo, se crean funciones DB2MQ. El usuario se conecta a la base de datos SAMPLE. Se utiliza el esquema por omisión DB2MQ. enable_MQFunctions -n sample -u user1 -p password1 Notas de utilización DB2 MQ Functions se ejecuta bajo el esquema DB2MQ, que se crea automáticamente mediante este mandato. Antes de ejecutar este mandato: * Asegúrese de que MQ y AMI están instalados y de que la versión de MQSeries es la 5.1 o posterior. * Asegúrese de que la variable de entorno $AMT_DATA_PATH está definida. * Cambie el directorio al subdirectorio cfg de DB2PATH En UNIX: * Utilice db2set para añadir AMT_DATA_PATH a DB2ENVLIST. * Asegúrese de que la cuenta de usuario asociada con la ejecución de UDF es miembro del grupo mqm. * Asegúrese de que el usuario que va a llamar a este mandato es miembro del grupo mqm. Nota: AIX 4.2 no recibe soporte de MQSeries 5.2. ------------------------------------------------------------------------ 20.7 disable_MQFunctions disable_MQFunctions Inhabilita el uso de DB2 MQSeries Functions para la base de datos especificada. Autorización Una de las siguientes: * sysadm * dbadm * IMPLICIT_SCHEMA sobre la base de datos, si no existe el nombre de esquema implícito o explícito de la función * Privilegio CREATEIN sobre el esquema, si existe el nombre de esquema, DB2MQ Sintaxis del mandato >>-disable_MQFunctions---n--basedatos---u--idusuario------------> >---p--contraseña---------------------------------------------->< Parámetros del mandato -n basedatos Especifica el nombre de la base de datos. -u idusuario Especifica el ID de usuario utilizado para conectar con la base de datos. -p contraseña Especifica la contraseña del ID de usuario. Ejemplos En el siguiente ejemplo se inhabilitan las funciones DB2MQ para la base de datos SAMPLE. disable_MQFunctions -n sample -u user1 -p password1 ------------------------------------------------------------------------ Herramientas administrativas Tabla de contenido parcial * Configuración adicional anterior a la ejecución de herramientas o 21.1 Inhabilitación de la pila de coma flotante en Linux o 21.2 Nivel de Java específico necesario en un entorno Linux japonés * Centro de control o 22.1 Posibilidad de administrar DB2 Server para servidores VSE y VM o 22.2 Soporte de Java 1.2 para el Centro de control o 22.3 Error "Atajo no válido" al utilizar la ayuda en línea en el sistema operativo Windows o 22.4 Los atajos del teclado no funcionan o 22.5 Centro de control Java en OS/2 o 22.6 Error "Acceso a archivo denegado" al intentar visualizar un trabajo completado en el Diario del sistema operativo Windows o 22.7 Multisite Update Test Connect o 22.8 Centro de control de DB2 para OS/390 o 22.9 Arreglo necesario del Centro de control para OS/390 o 22.10 Cambio en el diálogo Create Spatial Layer o 22.11 Información sobre resolución de problemas para el Centro de control de DB2 o 22.12 Resolución de problemas del Centro de control en sistemas basados en UNIX o 22.13 Posible problema de Infopops en OS/2 o 22.14 Ayuda para el parámetro de configuración jdk11_path o 22.15 Error del sistema Solaris (SQL10012N) al utilizar el Centro de Scripts o el Diario o 22.16 Ayuda para el archivo DPREPL.DFT o 22.17 Lanzamiento de más de un applet del Centro de control o 22.18 Ayuda en línea para el Centro de control al ejecutarlo como applet o 22.19 Ejecución del Centro de control en modalidad de applet (Windows 95) o 22.20 Cómo trabajar con resultados de consultas muy largos * Centro de mandatos o 23.1 Ahora la página Interactivo del Centro de mandatos reconoce el terminador de sentencia * Centro de información o 24.1 Correcciones en el documento de Ejemplos de Java o 24.2 Error "Atajo no válido" en el sistema operativo Windows o 24.3 Apertura de enlaces externos de Web en Netscape Navigator cuando Netscape ya está abierto (sistemas basados en UNIX) o 24.4 Problemas al iniciar el Centro de información * Asistentes o 25.1 Establecimiento del tamaño de extensión en el Asistente para crear bases de datos o 25.2 Asistente MQSeries Assist o 25.3 Asistente OLE DB Assist o 25.4 Creación de procedimientos almacenados de Java para OS/390 utilizando Stored Procedure Builder ------------------------------------------------------------------------ Configuración adicional anterior a la ejecución de herramientas ------------------------------------------------------------------------ 21.1 Inhabilitación de la pila de coma flotante en Linux En un entorno Linux con glibc 2.2.x, es necesario inhabilitar la pila de coma flotante antes de ejecutar las herramientas de GUI de Java de DB2, como, por ejemplo, el Centro de control. Para inhabilitar la pila de coma flotante, establezca la variable de entorno LD_ASSUME_KERNEL en 2.2.5 del modo siguiente: bash$ export LD_ASSUME_KERNEL=2.2.5 ------------------------------------------------------------------------ 21.2 Nivel de Java específico necesario en un entorno Linux japonés Los usuarios de Linux necesitan un nivel de JDK específico cuando ejecutan las herramientas de GUI de Java de DB2, por ejemplo el Centro de control, en un entorno japonés. Por ejemplo, los usuarios de Red Hat Linux 6.2J/7J/7.1/7.2 deben utilizar el nivel IBMJava118-SDK-1.1.8-2.0.i386.rpm. ------------------------------------------------------------------------ Centro de control ------------------------------------------------------------------------ 22.1 Posibilidad de administrar DB2 Server para servidores VSE y VM Se ha mejorado el soporte de DB2 Server para bases de datos VSE y VM por parte del Centro de control de DB2 Universal Database Versión 7. El Centro de control puede visualizar todos los objetos de DB2 Server para bases de datos VSE y VM. También existe soporte para las sentencias CREATE INDEX, REORGANIZE INDEX y UPDATE STATISTICS, así como para el mandato REBIND. REORGANIZE INDEX y REBIND requieren que se ejecute un procedimiento almacenado en DB2 Server para sistemas principales VSE y VM. Este procedimiento almacenado lo suministra la característica Centro de control para VSE y VM de DB2 Server para VSE y VM. El Centro de control completamente integrado permite al usuario gestionar DB2, independientemente de la plataforma en la que se ejecute el servidor DB2. Los objetos de DB2 Server para VSE y VM se visualizan en la ventana principal del Centro de control, junto con los objetos de DB2 Universal Database. Las acciones y los programas de utilidad correspondientes para gestionar estos objetos se invocan seleccionando el objeto. Por ejemplo, un usuario puede listar los índices de una base de datos determinada, seleccionar uno de los índices y reorganizarla. También puede listar las tablas de una base de datos y ejecutar estadísticas de actualización, o bien definir una tabla como fuente de duplicación. Para obtener información sobre cómo configurar el Centro de control para que realice tareas administrativas sobre objetos de DB2 Server para VSE y VM, consulte las publicaciones DB2 Connect User's Guide o Suplemento de instalación y configuración. ------------------------------------------------------------------------ 22.2 Soporte de Java 1.2 para el Centro de control El Centro de control soporta idiomas bidireccionales, tales como el árabe y el hebreo, utilizando el soporte bi-di en Java 1.2. Sólo se proporciona este soporte para la plataforma Windows NT. Java 1.2 debe estar instalado para que el Centro de control lo reconozca y utilice: 1. JDK 1.2.2 está disponible en el CD de DB2 UDB bajo el directorio DB2\bidi\NT. ibm-inst-n122p-win32-x86.exe es el programa instalador e ibm-jdk-n122p-win32-x86.exe es la distribución de JDK. Copie ambos archivos a un directorio temporal de la unidad de disco duro y, a continuación, ejecute el programa instalador desde éste. 2. Instálelo bajo \java\Java12, donde es la vía de acceso de instalación de DB2. 3. No seleccione JDK/JRE como System VM cuando lo solicite la instalación de JDK/JRE. Una vez que se haya instalado Java 1.2 satisfactoriamente, al iniciar el Centro de control de forma normal se utilizará Java 1.2. Para detener la utilización de Java 1.2, puede desinstalar JDK/JRE de \java\Java12 o, simplemente, cambiar el nombre del subdirectorio \java\Java12 por algún otro. Nota: No confunda \java\Java12 con \Java12.\Java12 forma parte de la instalación de DB2 e incluye soporte de JDBC para Java 1.2. ------------------------------------------------------------------------ 22.3 Error "Atajo no válido" al utilizar la ayuda en línea en el sistema operativo Windows Cuando utilice la ayuda en línea del Centro de control, es posible que se encuentre con un error tal como: "Atajo no válido". Si recientemente ha instalado un nuevo navegador Web o una nueva versión de un navegador Web, asegúrese de que los documentos HTML y HTM estén asociados al navegador correcto. Vea el tema de Ayuda de Windows "Cambiar el programa que se inicia al abrir un archivo". ------------------------------------------------------------------------ 22.4 Los atajos del teclado no funcionan En algunos idiomas, para el Centro de control en sistemas basados en UNIX y en OS/2, algunos atajos (teclas de cambio de modalidad) del teclado no funcionan. Utilice el ratón para seleccionar opciones. ------------------------------------------------------------------------ 22.5 Centro de control Java en OS/2 El Centro de control debe instalarse en una unidad formateada HPFS. ------------------------------------------------------------------------ 22.6 Error "Acceso a archivo denegado" al intentar visualizar un trabajo completado en el Diario del sistema operativo Windows En DB2 Universal Database para Windows NT, se produce un error de "Acceso a archivo denegado" cuando se intenta abrir el Diario para ver los detalles de un trabajo creado en el Centro de scripts. El estado del trabajo indica que se ha completado. Se da este comportamiento cuando un trabajo creado en el Centro de scripts contiene el mandato START. Para evitar que así sea, utilice START/WAIT en lugar de START, tanto en el archivo de proceso por lotes como en el propio trabajo. ------------------------------------------------------------------------ 22.7 Multisite Update Test Connect El funcionamiento de Multisite Update Test Connect en el Centro de control Versión 7 está limitado por la versión de la instancia de destino. La instancia de destino debe ser, como mínimo, de Versión 7 para que el funcionamiento de la conexión de prueba "remota" sea correcto. Para ejecutar Multisite Update Test Connect en la Versión 6, debe activar el Centro de control localmente en la instancia de destino y ejecutarlo desde ésta. ------------------------------------------------------------------------ 22.8 Centro de control de DB2 para OS/390 El Centro de control de DB2 UDB para OS/390 le permite gestionar el uso de los programas bajo licencia de IBM DB2. Las funciones de los programas de utilidad que constituyen elementos de características de DB2 UDB para OS/390 que se solicitan por separado deben disponer de licencia y se tienen que instalar en el entorno antes de que el Centro de control de DB2 las gestione. La base de datos "CC390", definida con el Centro de control al configurar un subsistema DB2 para OS/390, se utiliza para soporte interno del Centro de control. No modifique esta base de datos. Aunque DB2 para OS/390 Versión 7.1 no se menciona específicamente en la tabla de contenido del Centro de control, o en la información de Tareas del Centro de información, la documentación soporta las funciones de DB2 para OS/390 Versión 7.1. Muchas de las funciones específicas de DB2 para OS/390 Versión 6 también están relacionadas con DB2 para OS/390 Versión 7.1, y algunas funciones que son específicas de DB2 para OS/390 Versión 7.1 de la tabla de contenido no tienen designación de versión. Si ha configurado un subsistema DB2 para OS/390 Versión 7.1 en el Centro de control, tiene acceso a toda la documentación correspondiente a dicha versión. Para acceder a la función Generate DDL y utilizarla desde el Centro de control de DB2 para OS/390, debe tener instalado la función Generate DDL: * Para la Versión 5, instale DB2Admin 2.0 con DB2 para OS/390 Versión 5. * Para la Versión 6, instale la pequeña mejora de programación que estará disponible como PTF para la característica DB2 Admin de DB2 para OS/390 Versión 6. * Para la Versión 7.1, la función Generate DDL forma parte de la característica DB2 Admin de DB2 para OS/390 Versión 7.1, que se vende por separado. Puede acceder al Stored Procedure Builder desde el Centro de control, pero en el momento en que inicie el Centro de control de DB2 UDB ya lo tiene que haber instalado. Forma parte de DB2 Application Development Client. Para catalogar un subsistema DB2 para OS/390 directamente en la estación de trabajo, seleccione la utilización de la herramienta Client Configuration Assistant. 1. En la página Fuente, especifique el botón de selección Configurar manualmente una conexión con una base de datos. 2. En la página Protocolo, cumplimente la información apropiada sobre comunicaciones. 3. En la página Base de datos, especifique el nombre del subsistema en el campo Nombre de base de datos. 4. En la página Opciones del nodo, seleccione el recuadro de selección Configurar opciones de nodo (Opcional). 5. Seleccione MVS/ESA, OS/390 en la lista del campo Sistema operativo. 6. Pulse el botón Finalizar para completar la configuración. Para catalogar un subsistema DB2 para OS/390 a través de una máquina pasarela, lleve a cabo los pasos 1-6 anteriores sobre la máquina pasarela y, a continuación: 1. En la máquina cliente, inicie el Centro de control. 2. Pulse el botón derecho del ratón en la carpeta Sistemas y seleccione Añadir. 3. En el diálogo Añadir sistema, escriba el nombre de la máquina pasarela en el campo Nombre de sistema. 4. Escriba DB2DAS00 en el campo Instancia remota. 5. Para el protocolo TCP/IP, en Parámetros de protocolo, especifique el nombre de sistema principal de la máquina pasarela en el campo Nombre de sistema principal. 6. Escriba 523 en el campo Nombre de servicio. 7. Pulse Bien para añadir el sistema. Ahora verá la máquina pasarela añadida a la carpeta Sistemas. 8. Expanda el nombre de la máquina pasarela. 9. Pulse el botón derecho del ratón en la carpeta Instancias y seleccione Añadir. 10. En el diálogo Añadir instancia, pulse Renovar para listar las instancias disponibles en la máquina pasarela. Si la máquina pasarela es un sistema Windows NT, probablemente el subsistema DB2 para OS/390 se habrá catalogado bajo la instancia de DB2. 11. Seleccione la instancia. Automáticamente se cumplimentarán los parámetros de protocolo para esta instancia. 12. Pulse Bien para añadir la instancia. 13. Abra la carpeta Instancias para ver la instancia que acaba de añadir. 14. Expanda la instancia. 15. Pulse el botón derecho del ratón en la carpeta Bases de datos y seleccione Añadir. 16. Pulse en Renovar para visualizar las bases de datos locales de la máquina pasarela. Si está añadiendo un subsistema DB2 en el diálogo Añadir base de datos, escriba el nombre del subsistema en el campo Nombre de base de datos. Opción: Escriba un nombre de alias local para el subsistema (o la base de datos). 17. Pulse en Bien. Ya ha añadido satisfactoriamente el subsistema al Centro de control. Cuando abra la base de datos, debe visualizar el subsistema DB2 para OS/390. En el primer párrafo del apartado "Centro de control 390" puede leerse: El Centro de control de DB2 UDB para OS/390 le permite gestionar el uso de los programas bajo licencia de IBM DB2. Las funciones de los programas de utilidad que constituyen elementos de características de DB2 UDB para OS/390 que se solicitan por separado deben disponer de licencia y se tienen que instalar en el entorno antes de que el Centro de control de DB2 las gestione. Ahora, este apartado debería decir: El Centro de control de DB2 para OS/390 le permite gestionar la utilización de los programas de utilidad bajo licencia de IBM DB2. Las funciones de los programas de utilidad que son elementos de productos que se pueden solicitar por separado deben tener licencia y deben instalarse en el entorno para que el Centro de control de DB2 los gestione. ------------------------------------------------------------------------ 22.9 Arreglo necesario del Centro de control para OS/390 Debe aplicar el APAR PQ36382 a la característica 390 Enablement de DB2 para OS/390 Versión 5 y de DB2 para OS/390 Versión 6 a fin de poder gestionar estos subsistemas utilizando el Centro de control de DB2 UDB para la Versión 7. Sin este arreglo, no podrá utilizar el Centro de control de DB2 UDB para la Versión 7 para ejecutar programas de utilidad destinados a estos subsistemas. Se debe aplicar el APAR a los FMID siguientes: DB2 para OS/390 Versión 5 390 Enablement: FMID JDB551D DB2 para OS/390 Versión 6 390 Enablement: FMID JDB661D ------------------------------------------------------------------------ 22.10 Cambio en el diálogo Create Spatial Layer Se han eliminado los botones "<<" y ">>" del diálogo Create Spatial Layer. ------------------------------------------------------------------------ 22.11 Información sobre resolución de problemas para el Centro de control de DB2 En el capítulo "Instalación y configuración del Centro de control" del manual Guía rápida de iniciación, el apartado titulado "Información sobre resolución de problemas" indica que debe desestablecer CLASSPATH del navegador de cliente desde una ventana de mandatos si experimenta problemas al ejecutar el Centro de control como applet. Este apartado también le indica que inicie el navegador desde la misma ventana de mandatos. Sin embargo, no se proporciona el mandato para iniciar el navegador. Para ejecutar Internet Explorer, escriba start iexplore y pulse Intro. Para ejecutar Netscape, escriba start netscape y pulse Intro. Estos mandatos asumen que el navegador está en el PATH (vía de acceso). Si no está, añádalo a su PATH (vía de acceso) o cambie al directorio de instalación del navegador y vuelva a emitir el mandato start. ------------------------------------------------------------------------ 22.12 Resolución de problemas del Centro de control en sistemas basados en UNIX Si no puede iniciar el Centro de control en un sistema basado en UNIX, establezca la variable de entorno JAVA_HOME de forma que apunte a la distribución Java: * Si se ha instalado java bajo /usr/jdk118, establezca JAVA_HOME en /usr/jdk118. * Para los shells sh, ksh o bash: export JAVA_HOME=/usr/jdk118. * Para los shells csh o tcsh: setenv JAVA_HOME /usr/jdk118 ------------------------------------------------------------------------ 22.13 Posible problema de Infopops en OS/2 Si está ejecutando del Centro de control en OS/2, utilizando un tamaño de pantalla de 1024x768 con 256 colores, y tiene habilitado Shell Palette Awareness, es posible que los infopops que sobrepasan el borde de la ventana actual se visualicen con texto en negro sobre un fondo negro. Para corregir este problema, cambie el valor de pantalla de forma que disponga de más de 256 colores o inhabilite Workplace Shell Palette Awareness. ------------------------------------------------------------------------ 22.14 Ayuda para el parámetro de configuración jdk11_path En la ayuda del Centro de control, a la descripción del parámetro de configuración de Java Development Kit 1.1 Installation Path (jdk11_path) le falta una línea bajo la subcabecera Se aplica a. La lista completa bajo Se aplica a es: * Servidor de bases de datos con clientes locales y remotos * Cliente * Servidor de bases de datos con clientes locales * Servidor de bases de datos particionadas con clientes locales y remotos * Servidor de bases de datos satélite con clientes locales ------------------------------------------------------------------------ 22.15 Error del sistema Solaris (SQL10012N) al utilizar el Centro de Scripts o el Diario Al seleccionar un sistema Solaris en el Centro de scripts o el Diario, puede producirse el error siguiente: SQL10012N - Se ha recibido un error inesperado del sistema operativo al cargar la biblioteca especificada "/udbprod/db2as/sqllib/function/unfenced/ db2scdar!ScheduleInfoOpenScan". SQLSTATE=42724. Esto es debido a un problema con el enlazador de ejecución de Solaris. Para corregir este problema, aplique el parche siguiente: 105490-06 (107733 deja 105490 obsoleto) para Solaris 2.6 ------------------------------------------------------------------------ 22.16 Ayuda para el archivo DPREPL.DFT En el Centro de control, en la ayuda para la página Duplicación del cuaderno Valores de herramienta, el paso 5d dice: Guarde el archivo en el directorio de trabajo del Centro de control (por ejemplo, SQLLIB\BIN) para que el sistema pueda utilizarlo como archivo por omisión. El Paso 5d debería decir: Guarde el archivo en el directorio de trabajo del Centro de control (SQLLIB\CC) para que el sistema pueda utilizarlo como archivo por omisión. ------------------------------------------------------------------------ 22.17 Lanzamiento de más de un applet del Centro de control No se puede lanzar más de un applet del Centro de control simultáneamente en la misma máquina. Esta restricción se aplica a los applets del Centro de control que se ejecutan en todos los navegadores soportados. ------------------------------------------------------------------------ 22.18 Ayuda en línea para el Centro de control al ejecutarlo como applet Cuando el Centro de control está ejecutándose como applet, la tecla F1 sólo funciona en ventanas y cuadernos que tienen infopops. Puede pulsar la tecla F1 para ver los infopops en los componentes siguientes: * DB2 Universal Database para OS/390 * Los asistentes En el resto de componentes del Centro de control, F1 no muestra ningún tipo de ayuda. Para visualizar la ayuda para los demás componentes, utilice el pulsador Ayuda o el menú desplegable Ayuda. ------------------------------------------------------------------------ 22.19 Ejecución del Centro de control en modalidad de applet (Windows 95) Puede que se produzca una anomalía al intentar abrir el Centro de scripts si se especifican un ID de usuario y una contraseña no válidos. Asegúrese de entrar un ID de usuario y una contraseña válidos al iniciar una sesión del Centro de control. ------------------------------------------------------------------------ 22.20 Cómo trabajar con resultados de consultas muy largos Para un usuario resulta sencillo generar una consulta que devuelva un gran número de filas. Para el usuario no es tan fácil predecir cuántas filas se devolverán en realidad. Con una consulta que podría devolver miles (o millones) de filas, hay dos problemas: 1. Puede llevar mucho tiempo recuperar el resultado. 2. Es posible que se necesite gran cantidad de memoria del cliente para albergar el resultado. Para facilitar este proceso, DB2 divide los grupos de resultados largos en partes. Recuperará y mostrará los resultados de una consulta por partes. Como resultado: 1. El tiempo de visualización se reducirá puesto que se puede visualizar la primera parte de una consulta mientras se están recuperando el resto. 2. Los requisitos de memoria del cliente se reducen puesto que en cada momento sólo se almacena una parte del resultado de la consulta en el cliente. Para controlar el número de filas del resultado de la consulta en memoria: 1. Abra la página General del cuaderno Valores de herramientas. 2. En la sección Tamaño máximo, seleccione: o Contenido de ejemplo para limitar el número de filas del resultado que se muestran en la ventana Contenido de ejemplo. Especifique el tamaño de las partes del grupo de resultados (número de filas) en el campo de entrada. o Centro de mandatos para limitar el número de filas del resultado que se muestran en la página Resultados de la consulta del Centro de mandatos. Especifique el tamaño de las partes del grupo de resultados (número de filas) en el campo de entrada. Cuando trabaja con los resultados de una consulta en la ventana Contenido de ejemplo o en la página Resultados de la consulta del Centro de mandatos, el campo Filas en memoria indica el número de filas que se mantienen en memoria correspondientes a la consulta. Este número nunca será mayor que el tamaño máximo definido. Pulse Siguiente para recuperar la siguiente parte del grupo de resultados. Cuando Siguiente está inactivo, significa que ha llegado al final del grupo de resultados. ------------------------------------------------------------------------ Centro de mandatos ------------------------------------------------------------------------ 23.1 Ahora la página Interactivo del Centro de mandatos reconoce el terminador de sentencia Ahora la página Interactivo del Centro de mandatos reconoce el carácter de terminación de sentencia especificado en Valores de herramienta. Si no se especifica un carácter de terminación de sentencia, se utiliza por omisión el carácter de nueva línea. ------------------------------------------------------------------------ Centro de información ------------------------------------------------------------------------ 24.1 Correcciones en el documento de Ejemplos de Java El documento de Ejemplos de Java del centro de información está enlazado a la fuente de ejemplos de java. La sección PluginEx.Java de esta fuente no está actualizada. Para obtener información actual sobre cómo ampliar el Centro de control, consulte el archivo README de Ejemplos de Java, el archivo PluginEx.java y 9.3, Ejemplo para ampliación del Centro de control. En las plataformas Windows, los archivos README y PluginEx.java pueden encontrarse en x:\sqllib\samples\java donde x es la unidad en la que está instalado DB2. En UNIX, los archivos README y PluginEx.java pueden encontrarse en /u/db2inst1/sqllib/samples/java donde /u/db2inst1 representa el directorio en el que está instalado DB2. ------------------------------------------------------------------------ 24.2 Error "Atajo no válido" en el sistema operativo Windows Cuando utilice el Centro de información, es posible que se encuentre con un error tal como: "Atajo no válido". Si recientemente ha instalado un nuevo navegador Web o una nueva versión de un navegador Web, asegúrese de que los documentos HTML y HTM estén asociados al navegador correcto. Vea el tema de Ayuda de Windows "Cambiar el programa que se inicia al abrir un archivo". ------------------------------------------------------------------------ 24.3 Apertura de enlaces externos de Web en Netscape Navigator cuando Netscape ya está abierto (sistemas basados en UNIX) Si Netscape Navigator ya está abierto y muestra un documento HTML de DB2 local o un sitio Web externo, un intento de abrir un sitio Web externo desde el Centro de información dará como resultado un error de Netscape. El error indicará que "Netscape no puede encontrar el archivo o directorio llamado ." Para eludir este problema, cierre el navegador de Netscape antes de abrir el sitio externo de la Web. Netscape se reiniciará y aportará el sitio externo de la Web. Observe que no se produce este error cuando se intenta abrir un documento HTML de DB2 local teniendo Netscape ya abierto. ------------------------------------------------------------------------ 24.4 Problemas al iniciar el Centro de información En algunos sistemas, el inicio del Centro de información puede ser lento si se le invoca utilizando el menú Inicio, Primeros pasos o el mandato db2ic. Si experimenta este problema, inicie el Centro de control y, a continuación, seleccione Ayuda --> Centro de información. ------------------------------------------------------------------------ Asistentes ------------------------------------------------------------------------ 25.1 Establecimiento del tamaño de extensión en el Asistente para crear bases de datos Utilizando el Asistente para crear bases de datos, se puede establecer los parámetros Tamaño de extensión y el Tamaño de captación previa para el Espacio de tablas del usuario (pero no así los correspondientes a las Tablas de catálogos o Temporales) de la nueva base de datos. Esta característica sólo se habilitará si se especifica, por lo menos, un contenedor para el Espacio de tablas del usuario en la página "Tablas del usuario" del Asistente. ------------------------------------------------------------------------ 25.2 Asistente MQSeries Assist DB2 Versión 7.2 proporciona un nuevo asistente MQSeries Assist. Este asistente crea una función de tabla que lee una cola de MQSeries utilizando DB2 MQSeries Functions, que también constituye una novedad de la Versión 7.2. El asistente puede tratar cada mensaje de MQSeries como una serie delimitada o una serie de columna de longitud fija, en función de lo que especifique el usuario. La función de tabla creada analiza la serie según las especificaciones del usuario y devuelve cada mensaje de MQSeries como una fila de la función de tabla. El asistente también le permite crear una vista sobre la función de tabla y realizar una vista previa de un mensaje de MQSeries y del resultado de la función de tabla. Este asistente se puede ejecutar desde Stored Procedure Builder o desde Data Warehouse Center. Los requisitos para este asistente son: * MQSeries versión 5.2 * Interfaz de gestión de mensajes de aplicaciones (AMI) de MQSeries * DB2 MQSeries Functions Para obtener más información sobre estos requisitos, consulte MQSeries. Para ver ejemplos y guías de aprendizaje sobre el asistente MQSeries Assist, consulte la sección de guías de aprendizaje del sitio http://www.ibm.com/software/data/db2/udb/ide ------------------------------------------------------------------------ 25.3 Asistente OLE DB Assist Este asistente le ayuda a crear una función de tabla que lee datos de otro proveedor de datos que dé soporte al estándar Microsoft OLE DB. Puede crear si lo desea una tabla de DB2 con los datos que lee la función de tabla OLE DB y puede crear una vista para la función de tabla OLE DB. Este asistente se puede ejecutar desde Stored Procedure Builder o desde Data Warehouse Center. Los requisitos para este asistente son: * Un proveedor OLE DB (como Oracle, Microsoft SQL Server) * Funciones de soporte de OLE DB Para ver ejemplos y guías de aprendizaje sobre el asistente OLE DB Assist, consulte la sección de guías de aprendizaje del sitio http://www.ibm.com/software/data/db2/udb/ide ------------------------------------------------------------------------ 25.4 Creación de procedimientos almacenados de Java para OS/390 utilizando Stored Procedure Builder Ahora DB2 Stored Procedure Builder soporta la creación de procedimientos almacenados de Java para DB2 para OS/390 Versión 6 y Versión 7. Requisitos: * Antes de empezar, tiene que realizar una serie de tareas de configuración en DB2 para OS/390. Vaya a http://www.ibm.com/software/data/db2/os390/sqlproc para obtener información. * Si piensa utilizar el depurador distribuido, el espacio de direcciones de WLM de OS/390 debe especificar RUNOPTS para TEST y la dirección TCP/IP. * El ID de grupo debe coincidir con el utilizado al vincular el controlador JDBC en OS/390. * Modifique el archivo DB2SPB.ini de forma que incluya las entradas siguientes: SPOPTION_WLM_JAVA_ENVIRONMENT = WLMENVJ SPOPTION_JAVAPROC_BUILDER = SYSPROC.DSNTJSPP SPOPTION_BIND_OPTIONS_JAVA = ACT(REP) SPOPTION_COLLIDJ = DSNJDBC SPOPTION_HPJ_COMPILE_OPTIONS_DEBUG = -g SPOPTION_HPJ_COMPILE_OPTIONS = -nog -O * Para obtener información sobre los privilegios necesarios, consulte 40.6.6.1, Privilegios para crear y depurar procedimientos SQL y Java almacenados. A la hora de crear un procedimiento almacenado de Java para OS/390 utilizando Stored Procedure Builder: 1. Abra el asistente Inserción de procedimiento almacenado de Java: a. Bajo una conexión de base de datos de OS/390 del árbol de proyectos, pulse el botón derecho del ratón en la carpeta de procedimientos almacenados. b. Seleccione Insertar -> Procedimiento almacenado de Java utilizando el Asistente. Se abrirá el asistente. 2. Complete el asistente especificando las opciones de OS/390: o El ID de grupo debe coincidir con el especificado en BIND PACKAGE(IDgrupo) cuando se han vinculado los controladores JDBC en OS/390. o El Paquete de Java debe ser exclusivo. El valor por omisión para el Paquete de Java es el nombre de procedimiento, pero puede modificarlo utilizando un nombre exclusivo para cada procedimiento almacenado de Java creado en el servidor. 3. Pulse en Bien. Se creará el procedimiento almacenado y aparecerá listado en el árbol de proyectos. 4. Pulse el botón derecho del ratón en el procedimiento almacenado y seleccione Construir. ------------------------------------------------------------------------ Business Intelligence Tabla de contenido parcial * Guía de aprendizaje de Business Intelligence o 26.1 Guía de aprendizaje de Business Intelligence revisada * DB2 Universal Database Visión general rápida * Data Warehouse Center Administration Guide o 28.1 Actualización disponible o 28.2 Mejoras en el servidor de depósito o 28.3 Utilización del agente de OS/390 para la ejecución de un JCL de Trillium Batch System o 28.4 Dos nuevos programas de ejemplo en el Centro de depósito de datos o 28.5 Managing ETI.Extract(R) Conversion Programs con DB2 Warehouse Manager actualizados o 28.6 Importación y exportación de metadatos utilizando el intercambio de metadatos de depósito común (CWMI) + 28.6.1 Introducción + 28.6.2 Importación de metadatos + 28.6.3 Actualización de los metadatos después de ejecutar el programa de utilidad de importación + 28.6.4 Exportación de metadatos o 28.7 Programa de utilidad de importación/exportación de metadatos de lenguaje de códigos + 28.7.1 Definiciones de claves + 28.7.2 Planificaciones de pasos y procesos o 28.8 Información sobre pasos de SAP + 28.8.1 Es posible crear una tabla lógicamente incoherente o 28.9 Información sobre SAP Connector + 28.9.1 Restricciones en la instalación de SAP Connector + 28.9.2 Rendimiento de GetDetail BAPI * Kit de iniciación de DB2 OLAP o 29.1 Sitio Web de OLAP Server o 29.2 Niveles de servicio de sistemas operativos soportados o 29.3 Realización de la configuración del Kit de iniciación de DB2 OLAP en UNIX o 29.4 Configuración adicional para el Entorno operativo Solaris o 29.5 Configuración adicional para todos los sistemas operativos o 29.6 Configuración de ODBC para el Kit de iniciación de OLAP + 29.6.1 Configuración de fuentes de datos en sistemas UNIX + 29.6.1.1 Configuración de variables de entorno de ODBC + 29.6.1.2 Edición del archivo odbc.ini + 29.6.1.3 Adición de una fuente de datos a un archivo odbc.ini + 29.6.1.4 Ejemplo de valores de ODBC para DB2 + 29.6.1.5 Ejemplo de valores de ODBC para Oracle + 29.6.2 Configuración del Catálogo de metadatos de OLAP en sistemas UNIX + 29.6.3 Configuración de fuentes de datos en sistemas Windows + 29.6.4 Configuración del Catálogo de metadatos de OLAP en sistemas Windows + 29.6.5 Después de configurar una fuente de datos o 29.7 Inicio de una sesión desde el escritorio del Kit de iniciación de OLAP + 29.7.1 Ejemplo de inicio de sesión del Kit de iniciación o 29.8 Creación y configuración manual de las bases de datos de ejemplo para el Kit de iniciación de OLAP o 29.9 Migración de aplicaciones al Kit de iniciación de OLAP Versión 7.2 o 29.10 Problemas y limitaciones conocidos o 29.11 Falta de archivos EQD del Complemento de hoja de cálculo de OLAP * Information Catalog Manager Administration Guide o 30.1 Programa de utilidad Inicialización del Gestor de catálogos de información + 30.1.1 + 30.1.2 Temas sobre licencia + 30.1.3 Temas sobre la instalación o 30.2 Mejoras en el Gestor de catálogos de información o 30.3 Incompatibilidad entre Information Catalog Manager y Sybase en el entorno Windows o 30.4 Acceso a catálogos de información de DB2 Versión 5 con el Gestor de catálogos de información de DB2 Versión 7 o 30.5 Configuración de un Catálogo de información o 30.6 Intercambio de metadatos con otros productos o 30.7 Intercambio de metadatos utilizando el mandato flgnxoln o 30.8 Intercambio de metadatos utilizando el mandato MDISDGC o 30.9 Invocación de programas * Information Catalog Manager Programming Guide and Reference o 31.1 Códigos de razón del Gestor de catálogos de información * Information Catalog Manager User's Guide * Gestor de catálogos de información: Mensajes en línea o 33.1 Correcciones en los mensajes FLG + 33.1.1 Mensaje FLG0260E + 33.1.2 Mensaje FLG0051E + 33.1.3 Mensaje FLG0003E + 33.1.4 Mensaje FLG0372E + 33.1.5 Mensaje FLG0615E * Gestor de catálogos de información: Ayuda en línea o 34.1 Gestor de catálogos de información para la Web * DB2 Warehouse Manager Installation Guide o 35.1 Actualización disponible del manual DB2 Warehouse Manager Installation Guide o 35.2 Requisitos de software para transformadores de almacén de datos o 35.3 Consideraciones posteriores a la instalación para el agente iSeries o 35.4 Antes de utilizar transformadores con el agente de almacén de datos de iSeries * Query Patroller Administration Guide o 36.1 El cliente de DB2 Query Patroller es un componente separado o 36.2 Cambio del estado del nodo o 36.3 Migración desde la Versión 6 de DB2 Query Patroller utilizando dqpmigrate o 36.4 Habilitación de la Gestión de consultas o 36.5 Ubicación del espacio de tabla para tablas de control o 36.6 Nuevos parámetros para el mandato dqpstart o 36.7 Nuevo parámetro para el mandato iwm_cmd o 36.8 Nueva variable de registro: DQP_RECOVERY_INTERVAL o 36.9 Inicio del Administrador de consultas o 36.10 Administración de usuarios o 36.11 Administración de fuente de datos o 36.12 Creación de una cola de trabajos o 36.13 Tabla de contabilidad de trabajos o 36.14 Utilización de la interfaz de línea de mandatos o 36.15 Notas sobre Query Enabler o 36.16 DB2 Query Patroller Tracker puede devolver una página de columnas en blanco o 36.17 Información adicional para la herramienta de GUI de DB2 Query Patroller Tracker o 36.18 Query Patroller y Herramientas de duplicación o 36.19 Mejora del rendimiento de Query Patroller o 36.20 Privilegio EXECUTE perdido para los usuarios de Query Patroller creados con la versión 6 o 36.21 Restricciones de Query Patroller o 36.22 Apéndice B. Resolución de problemas de clientes de DB2 Query Patroller ------------------------------------------------------------------------ Guía de aprendizaje de Business Intelligence ------------------------------------------------------------------------ 26.1 Guía de aprendizaje de Business Intelligence revisada El FixPak 2 incluye una base de datos de Ejemplo (Sample) del Centro de depósito de datos y una Guía de aprendizaje de Business Intelligence revisada que corrige diversos problemas que existían en la Versión 7.1. Para aplicar la base de datos de Ejemplo (Sample) del Centro de depósito de datos revisada, debe hacer lo siguiente: Si todavía no ha instalado las bases de datos de ejemplo, cree bases de datos de ejemplo nuevas utilizando la plataforma de lanzamiento de Primeros pasos. Pulse Inicio y seleccione Programas --> IBM DB2 --> Primeros pasos. Si, con anterioridad, ha instalado las bases de datos de ejemplo, elimine las bases de datos de ejemplo DWCTBC, TBC_MD y TBC. Si ha añadido datos que desee conservar en las bases de datos de ejemplo, haga copia de seguridad de los mismos antes de eliminarlas. Para eliminar las tres bases de datos de ejemplo: 1. Para abrir la ventana de mandatos de DB2, pulse en Inicio y seleccione Programas --> IBM DB2 --> Ventana de mandatos. 2. En la Ventana de mandatos de DB2, escriba cada uno de los tres mandatos siguientes, pulsando Intro después de escribir cada uno de ellos: db2 drop database dwctbc db2 drop database tbc_md db2 drop database tbc 3. Cierre la Ventana de mandatos de DB2. 4. Cree bases de datos de ejemplo nuevas utilizando la plataforma de lanzamiento de Primeros pasos. Pulse en Inicio y seleccione Programas --> IBM DB2 --> Primeros pasos. ------------------------------------------------------------------------ DB2 Universal Database Visión general rápida Visión general rápida no está disponible en DB2 para Linux o Linux/390. Visión general rápida está optimizada para ejecutarse con fonts de sistema pequeños. Es posible que tenga que ajustar el tamaño de font del navegador de Web para poder visualizar correctamente Visión general rápida en OS/2. Consulte la información para ello en la ayuda del navegador de Web. Para visualizar Visión general rápida correctamente (sólo SBCS), es aconsejable utilizar un font en Helvética de 8 puntos. Para clientes japoneses y coreanos, es aconsejable utilizar un font Mincho de 8 puntos. Cuando establezca sus preferencias de fonts, asegúrese de seleccionar la opción "Utilizar mis fonts por omisión, alterando temporalmente los fonts especificados por el documento" en la página Fonts de la ventana Preferencias. En algunos casos, se puede visualizar Visión general rápida detrás de una ventana secundaria del navegador. Para corregir este problema, cierre Visión general rápida y realice los pasos indicados en el apartado 3.4, Mensajes de error cuando se intenta ejecutar Netscape. Cuando lance Visión general rápida, es posible que reciba un error de JavaScript parecido al siguiente: archivo:/C/Archivos de programa/SQLLIB/doc/html/db2qt/index4e.htm, línea 65: La ventana no está definida. Este error de JavaScript impide que la página de lanzamiento de Visión general rápida, index4e.htm, se cierre automáticamente después de lanzar Visión general rápida. Puede cerrar dicha página cerrando la ventana del navegador en la que se visualiza index4e.htm. En el apartado "Novedades", bajo el tema Gestión de datos, se indica que la versión 7.1 da soporte al "soporte de archivador de anotaciones cronológicas bajo petición". Este no es el caso. También se afirma que: El tamaño de los archivos de anotaciones cronológicas se ha aumentado de 4GB a 32GB. Esta frase debería decir: El espacio total de anotaciones cronológicas activo se ha aumentado de 4GB a 32GB. La sección que describe DB2 Data Links Manager contiene una frase que dice: Además, ahora se da soporte a la utilización de la interfaz Veritas XBSA para realizar copias de seguridad y restauraciones utilizando NetBackup. Esta frase debería decir: Además, ahora se da soporte a la interfaz XBSA para el archivado y la restauración de archivos. Entre los gestores de almacenamiento que dan soporte a la interfaz XBSA se incluyen Legato NetWorker y Veritas NetBackup. ------------------------------------------------------------------------ Data Warehouse Center Administration Guide ------------------------------------------------------------------------ 28.1 Actualización disponible El manual Data Warehouse Center Administration Guide se ha actualizado como parte del FixPak 4. El último PDF está disponible para bajarlo en línea desde http://www.ibm.com/software/data/db2/udb/winos2unix/support. La información contenida en estas notas es adicional a la consulta actualizada. Toda la documentación actualizada también está disponible en CD. Se puede solicitar dicho CD a través del servicio de DB2 y utilizando el número de PTF U478862. Puede encontrar información sobre cómo entrar en contacto con el Servicio de DB2 en http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/help.d2w/report . ------------------------------------------------------------------------ 28.2 Mejoras en el servidor de depósito Para el FixPak 5, se han efectuado las mejoras siguientes en el servidor de depósito: Actualización de parámetros de configuración El servidor ya no actualizará parámetros de configuración críticos, como los nombres de servicio, con una serie vacía. Actualización del mensaje DWC7906 Ahora el mensaje DWC7906 contiene pasos con nombres de predecesor al notificar problemas de dependencia. Para el FixPak 4, se han efectuado las mejoras siguientes en el servidor de depósito: Error al cerrar el agente (cr = 7170), cr secundario = 6106. Se ha producido este error cuando se cerraba el agente antes de que el servidor enviara una petición de cierre. Se ha informado innecesariamente de este error y se dejará de informar del mismo. Mensaje del sistema y Comentario grabados en el archivo de anotaciones cronológicas Una vez terminada la ejecución de un programa definido por el usuario, se grabará el Mensaje del sistema y el Comentario en el archivo de anotaciones cronológicas del depósito. Estos mensajes son ahora visibles desde la ventana Trabajo en proceso. Ahora la confirmación de incremento funciona correctamente Si se produce un error cuando un paso está llenando una base de datos de destino y el valor de Confirmación de incremento es superior a 0, todos los resultados confirmados antes del error aparecerán en la base de datos de destino. Antes del FixPak 4, se suprimían los resultados parciales. No se puede ejecutar el servidor de depósito después de cambiar el error a nivel de rastreo corregido El servidor de depósito recupera el nombre del directorio de inicios de sesión de la variable de entorno del sistema VWS_LOGGING. Si falta VWS_LOGGING, o si ésta apunta a un nombre de directorio que no es válido, en su lugar se utiliza la variable de entorno del sistema TEMP. Si falta TEMP, o si ésta apunta a un nombre de directorio que no es válido, los archivos de rastreo del iniciador de sesiones se graban en c:\. Así se corrige un error que se producía en versiones anteriores al FixPak 4 y que era debido a la recuperación, desde el registro, de un nombre de directorio de inicios de sesión no válido. Soporte adicional para mandatos de confirmación en los procedimientos almacenados El servidor de depósito envía un mandato de confirmación al agente una vez que se han ejecutado los procedimientos almacenados definidos por el usuario. Contenido de ejemplo mejorado El servidor de depósito ya no tiene que esperar el mensaje de cierre de un agente, por lo que el Contenido de ejemplo se ejecuta de forma más eficaz. Ahora se puede controlar el tamaño de los archivos de anotaciones cronológicas de rastreo Ahora se puede controlar el tamaño de un archivo de anotaciones cronológicas de rastreo mediante la nueva variable de entorno del sistema VWS_SERVER_LOG_MAX. Si se establece el valor de VWS_SERVER_LOG_MAX mayor que 0, el servidor de depósito dejará de aumentar el archivo de anotaciones cronológicas cuando éste alcance un tamaño aproximadamente igual al número de bytes indicado por el valor de VWS_SERVER_LOG_MAX. Cuando el archivo de anotaciones cronológicas alcance el tamaño máximo, se conservarán las entradas de anotaciones cronológicas de rastreo más nuevas y se sobregrabarán las más antiguas. Si se realiza un rastreo general, VWS_SERVER_LOG_MAX=150000000 (150M) es un tamaño razonable. ------------------------------------------------------------------------ 28.3 Utilización del agente de OS/390 para la ejecución de un JCL de Trillium Batch System Ahora el agente de OS/390 da soporte al programa definido por el usuario de Trillium Batch System que se crea desde el cuaderno del Depósito de datos Importar metadatos. Anteriormente, para ejecutar un archivo JCL de Trillium Batch System, se tenía que utilizar el agente de Windows, de AIX o del Entorno operativo Solaris a fin de ejecutar el JCL de manera remota. Con esta actualización, puede iniciar el JCL mediante el agente de OS/390. Cuando se crea el paso del programa definido por el usuario de Trillium Batch System mediante el cuaderno Importar metadatos correspondiente a Trillium Batch System, se debe seleccionar el sistema principal remoto como conexión para el agente de OS/390 aunque el JCL esté en el mismo sistema que el agente. Hay que entrar todos los parámetros de la conexión del sistema principal remoto. Una vez creado el paso del programa definido por el usuario de Trillium Batch System, utilice el cuaderno Propiedades del paso de Trillium Batch System para cambiar el sitio del agente por el sitio del agente de OS/390 que desea utilizar. Si el nombre del JCL o del archivo de errores de salida contiene algún espacio en blanco o paréntesis, debe encerrarlos entre comillas dobles cuando los entre en los camposScript o JCL o en el campo del archivo de errores de Salida. ------------------------------------------------------------------------ 28.4 Dos nuevos programas de ejemplo en el Centro de depósito de datos Se incluyen dos nuevos programas de ejemplo con el Centro de depósito de datos: EEE_Load y File_Wait. Puede utilizar el programa EEE_Load para crear los pasos de ejecución del programa cargador automático EEE de DB2 UDB dentro de los procesos de depósito de datos. Utilice el programa File_Wait para crear pasos en espera de un archivo y luego ejecute el paso siguiente del proceso cuando el archivo esté disponible. Si desea más información sobre estos programas, consulte el archivo README.UDP ubicado en el directorio ..\SQLLIB\TEMPLATES\SAMPLES del sistema en el que está instalado el servidor del Centro de depósito de datos. ------------------------------------------------------------------------ 28.5 Managing ETI.Extract(R) Conversion Programs con DB2 Warehouse Manager actualizados Managing ETI.Extract(R) Conversion Programs con DB2 Warehouse Manager se ha actualizado y se puede bajar en línea desde http://www.ibm.com/software/data/db2/udb/winos2unix/support. ------------------------------------------------------------------------ 28.6 Importación y exportación de metadatos utilizando el intercambio de metadatos de depósito común (CWMI) 28.6.1 Introducción Además del soporte existente para los archivos de lenguaje de código, el Centro de depósito de datos puede ahora importar y exportar metadatos a y desde archivos XML que se adapten al Metamodelo de depósito común (CWM) estándar. Se hace referencia a la importación y exportación de estos archivos XML que se adaptan al CWM como Intercambio de metadatos de depósito común (CWMI). Puede importar y exportar metadatos desde los siguientes objetos del Centro de depósito de datos: * Orígenes de depósito * Destinos de depósito * Áreas del tema, incluyendo procesos, orígenes, destinos, pasos y relaciones en cascada. * Programas definidos por el usuario El programa de utilidad de importación y exportación de CWMI no da soporte en la actualidad a determinados tipos de metadatos, que incluyen: planificaciones, esquemas de depósito, usuarios y grupos. El Centro de depósito de datos crea un archivo de anotaciones cronológicas que contiene el resultado de los procesos de importación y exportación. Normalmente, el archivo de anotaciones cronológicas se crea en el directorio x:\Archivos de programa\sqllib\logging (donde x: es la unidad en que ha instalado DB2), o el directorio que hubiera especificado como variable de entorno VWS_LOGGING. El archivo de anotaciones cronológicas es un texto plano; puede verlo con cualquier editor de texto. 28.6.2 Importación de metadatos Puede importar metadatos desde el Centro de depósito de datos o desde la línea de mandatos. Los objetos nuevos que se crean por medio del proceso de importación se asignan al grupo de seguridad del Centro de depósito de datos por omisión. Para obtener más información, consulte "Actualización de la seguridad después de la importación" en estas Notas del release. Si está importando metadatos sobre un paso, pueden asociarse varios archivos con el paso. Los metadatos acerca del paso se almacenan en un archivo XML, pero a veces un paso tiene datos asociados almacenados como BLOB. Los metadatos BLOB tienen el mismo nombre de archivo que el archivo XML, pero están en archivos independientes que tienen extensiones numeradas. Todos los archivos de paso relacionado deben estar en el mismo directorio al efectuar la importación. Actualización de pasos cuando están en modalidad de prueba o de producción Un paso debe estar en modalidad de desarrollo antes de que el Centro de depósito de datos pueda actualizar los metadatos del paso. Si el paso está en modalidad de prueba o de producción, baje de categoría el paso a la modalidad de desarrollo antes de importar los metadatos: 1. Inicie una sesión en el Centro de depósito de datos. 2. Pulse el botón derecho del ratón sobre el paso que desee bajar de categoría y pulse en Modalidad. 3. Pulse Desarrollo. El paso está ahora en modalidad de desarrollo. Vuelva a cambiar el paso a la modalidad de prueba o de producción después de importar los metadatos. Importación de datos desde el Centro de depósito de datos Puede importar metadatos del Centro de depósito de datos: 1. Inicie una sesión en el Centro de depósito de datos. 2. En el panel izquierdo, pulse en Depósito. 3. Pulse Seleccionado --> Importar metadatos --> Archivo de intercambio... 4. En la ventana Importar metadatos, especifique el nombre de archivo que contiene los metadatos que desea importar. Puede escribir el nombre de archivo o buscarlo. o Si conoce la ubicación, escriba la vía de acceso completamente calificada y el nombre de archivo que desea importar. Asegúrese de incluir la extensión de archivo .xml para especificar que desea importar metadatos en el formato XML, o no se procesará correctamente el archivo. o Para buscar los archivos: a. Pulse sobre el pulsador de puntos suspensivos (...). b. En la ventana Archivo, cambie Archivos de tipo por XML. c. Vaya al directorio correcto y seleccione el archivo que desea importar. Nota: El archivo debe tener una extensión .xml. d. Pulse en Bien. 5. En la ventana Importar metadatos, pulse Bien para finalizar. Se visualiza la ventana Progreso al tiempo que el Centro de depósito de datos importa el archivo. Utilización de la línea de mandatos para importar metadatos También puede utilizar la línea de mandatos para importar metadatos. Aquí mostramos la sintaxis del mandato de importación: CWMImport XML_file dwcControlDB dwcUserId dwcPW [PREFIX = DWCtbschema] XML_file La vía de acceso completamente calificada y el nombre de archivo (incluyendo la unidad y directorio) del archivo XML que desea importar. Este parámetro es obligatorio. dwcControlDB El nombre de la base de datos de control de depósito en la que desea importar los metadatos. Este parámetro es obligatorio. dwcUserId El ID de usuario que se utiliza para conectar con la base de datos de control de depósito. Este parámetro es obligatorio. dwcPW La contraseña que se utiliza para conectar con la base de datos de control de depósito. Este parámetro es obligatorio. [PREFIX=DWCtbschema] El nombre de esquema de base de datos para las tablas de sistema del Centro de depósito de datos. Si no se especifica ningún valor para PREFIX=, el nombre de esquema por omisión es IWH. Este parámetro es opcional. 28.6.3 Actualización de los metadatos después de ejecutar el programa de utilidad de importación Actualización de la seguridad después de la importación Como medida de seguridad, el Centro de depósito de datos no importa ni exporta contraseñas. Ha de actualizar las contraseñas sobre los objetos nuevos a medida que las necesite. Para obtener más detalles sobre las consideraciones de importación, consulte el manual Data Warehouse Center Administration Guide, Capítulo 12, "Exporting and importing Data Warehouse Center metadata." Al importar metadatos, todos los objetos se asignan al grupo de seguridad por omisión. Puede cambiar los grupos que tienen acceso al objeto: 1. Inicie una sesión en el Centro de depósito de datos. 2. Pulse el botón derecho del ratón sobre la carpeta que contiene el objeto que desee cambiar. 3. Pulse en Propiedades y, después pulse la pestaña Seguridad. 4. Elimine grupos de la lista Grupos de depósito seleccionados o añada grupos en la lista Grupos de depósito disponibles. 5. Pulse en Bien. 28.6.4 Exportación de metadatos Puede exportar metadatos desde el Centro de depósito de datos o desde la línea de mandatos. Algunos pasos tienen metadatos almacenados como BLOB. Los metadatos BLOB se exportan como archivo independiente que tiene el mismo nombre de archivo que el archivo XML del paso, pero con una extensión con número (.1, .2 etc.). Exportación de datos desde el Centro de depósito de datos Puede exportar metadatos del Centro de depósito de datos: 1. Inicie una sesión en el Centro de depósito de datos. 2. En el panel izquierdo, pulse en Depósito. 3. Pulse Seleccionado --> Exportar metadatos--> Archivo de intercambio. 4. En la ventana Exportar metadatos, especifique el nombre de archivo que contendrá los metadatos exportados. Puede escribir el nombre de archivo o buscarlo: o Si conoce la vía de acceso completamente calificada y el nombre de archivo que desea utilizar, escríbalo en el campo de entrada Nombre de archivo. Asegúrese de incluir la extensión de archivo .xml para especificar que desea exportar metadatos en el formato XML. o Para buscar los archivos: a. Pulse sobre el pulsador de puntos suspensivos (...). b. En la ventana Archivo, cambie Archivos de tipo por XML. c. Vaya al directorio correcto y seleccione el archivo que desea que contenga los metadatos exportados. Nota: Los metadatos exportados sobregrabarán cualquier archivo existente que seleccione. d. Pulse en Bien. 5. Cuando la ventana Exportar metadatos visualiza el nombre de archivo correcto, pulse sobre el objeto de la lista Objetos disponibles cuyos metadatos desee exportar. 6. Pulse sobre el signo > para desplazar el objeto seleccionado de la lista de Objetos disponibles a la lista de Objetos seleccionados. Repita la acción hasta que todos los objetos que desee exportar se listen en la lista Objetos seleccionados. 7. Pulse en Bien. El Centro de depósito de datos crea un archivo de entrada, que contiene información sobre los objetos del Centro de depósito de datos que se han seleccionado para la exportación y, después exporta los metadatos sobre esos objetos. Mientras el Centro de depósito de datos está exportando los metadatos se visualiza la ventana de progreso. Utilización de la línea de mandatos para exportar metadatos Antes de que pueda exportar metadatos de la línea de mandatos, debe crear en primer lugar un archivo de entrada. El archivo de entrada es un archivo de texto con una extensión .INP y lista todos los objetos por tipo de objeto que desea exportar. Cuando se efectúa la exportación desde el Centro de depósito de datos, el archivo de entrada se crea automáticamente, pero para efectuar la exportación desde la línea de mandatos en primer lugar debe crear el archivo de entrada. Puede crear el archivo de entrada con cualquier editor de texto. Escriba todos los nombres de objeto tal y como aparecen en el Centro de depósito de datos. Asegúrese de crear el archivo en un directorio de lectura/grabación. Cuando se ejecuta el programa de utilidad de exportación, el Centro de depósito de datos graba los archivos de XML en el mismo directorio en el que está el archivo de entrada. Aquí mostramos un archivo de entrada de ejemplo: Proceso de la tabla de hechos de la guía de aprendizaje Fuente de archivo de la guía de aprendizaje Destino de la guía de aprendizaje Grupo de programas nuevos En la sección (procesos), liste todos los procesos que desea exportar. En la sección (recursos de información), liste todos los orígenes y destinos de depósito que desea exportar. El Centro de depósito de datos incluye automáticamente las tablas y columnas que están asociadas con estos orígenes y destinos. En la sección (programas definidos por el usuario), liste todos los grupos de programas que desee exportar. Para exportar metadatos, entre el mandato siguiente en un indicador de mandatos de DOS: CWMExport INPcontrol_file dwcControlDB dwcUserID dwcPW [PREFIX=DWCtbschema] INPcontrol_file La vía de acceso completamente calificada y el nombre de archivo (incluyendo la unidad y directorio) del archivo .INP que contiene los objetos que desee exportar. Este parámetro es obligatorio. dwcControlDB El nombre de la base de datos de control de depósito desde la que desea efectuar la exportación. Este parámetro es obligatorio. dwcUserID El ID de usuario que se utiliza para conectar con la base de datos de control de depósito. Este parámetro es obligatorio. dwcPW La contraseña que se utiliza para conectar con la base de datos de control de depósito. Este parámetro es obligatorio. [PREFIX=DWCtbschema] El nombre de esquema de base de datos para las tablas de sistema del Centro de depósito de datos. Si no se especifica ningún valor para PREFIX=, el valor por omisión es IWH. Este parámetro es opcional. ------------------------------------------------------------------------ 28.7 Programa de utilidad de importación/exportación de metadatos de lenguaje de códigos 28.7.1 Definiciones de claves Las claves primaria y foránea definidas en archivos de lenguaje de códigos se ignoran si son iguales a las que ya están definidas en la base de datos de control. Se produce un error si las claves son distintas de las ya definidas. 28.7.2 Planificaciones de pasos y procesos El programa de utilidad de importación ya no suprime las planificaciones de pasos y procesos. Actualmente, las planificaciones definidas en un archivo de códigos se añaden a la lista actual de planificaciones. Esto puede ocasionar que aparezcan planificaciones duplicadas. El usuario debe suprimir las planificaciones duplicadas antes de que los pasos pasen a modalidad de producción. ------------------------------------------------------------------------ 28.8 Información sobre pasos de SAP 28.8.1 Es posible crear una tabla lógicamente incoherente Si se cumplen todas las condiciones siguientes, la tabla de destino resultante puede no ser lógicamente coherente. 1. BO tiene los parámetros de exportación GetList y GetDetail y se han correlacionado todos los campos de clave. 2. En la página Parámetros de salida del cuaderno Propiedades para el paso de SAP, se selecciona un parámetro de exportación GetList cuyo nombre de parámetro de SAP difiere del que se ha utilizado para la correlación de parámetros. Nota: El nombre de parámetro de SAP hace referencia a la parte del parámetro que aparece antes del punto en el nombre totalmente calificado. Por ejemplo, para el parámetro, DocList.DOCNUMBER, "DocList" es el nombre de parámetro de SAP. 3. En la página Parámetros de salida del cuaderno Propiedades para el paso de SAP, se selecciona el parámetro de exportación GetDetail. Ejemplo: DocumentNumber es un campo de clave. DocList.DOCNUMBER y DocNumberSelection.OPTION son parámetros de exportación de GetList. DocData.USERNAME es un parámetro de exportación de GetDetail. Se correlaciona DocumentNumber con DocList.DOCNUMBER. (Condición 1) Se selecciona DocNumberSelection.OPTION como parámetro de salida. (Condición 2, dado que DocNumberSelection y DocList son nombres de parámetros de SAP diferentes.) Se selecciona DocData.USERNAME como parámetro de salida. (Condición 3, puesto que es un parámetro de exportación de GetDetail.) Estas condiciones producen una tabla de destino cuyas fuente de columna son los parámetros GetList y GetDetail. Sin embargo, la coherencia lógica de la relación entre las columnas no está asegurada. ------------------------------------------------------------------------ 28.9 Información sobre SAP Connector 28.9.1 Restricciones en la instalación de SAP Connector SAP Connector sólo soporta instalaciones en idioma inglés del sistema SAP R/3. 28.9.2 Rendimiento de GetDetail BAPI Si GetDetail tiene un gran número de parámetros de entrada, el rendimiento de GetDetail BAPI es lento. ------------------------------------------------------------------------ Kit de iniciación de DB2 OLAP El Kit de iniciación de DB2 OLAP de IBM 7.2 añade soporte para los sistemas de gestión de bases de datos relacionales (RDBMS) Oracle, MS-SQL, Sybase e Informix en determinadas plataformas de sistemas operativos. La Versión 7.2 contiene scripts y herramientas para todos los RDBMS soportados, incluido DB2. Hay algunas restricciones; consulte 29.10, Problemas y limitaciones conocidos para obtener más información. El nivel de servicio del Kit de iniciación de DB2 OLAP para DB2 Universal Database Versión 7.2 es el equivalente del parche 2 para Hyperion Essbase 6.1 más el parche 2 para Hyperion Integration Server 2.0. ------------------------------------------------------------------------ 29.1 Sitio Web de OLAP Server Para las últimas indicaciones de instalación y utilización para el Kit de iniciación de DB2 OLAP, compruebe la página de Biblioteca del sitio Web de DB2 OLAP Server: http://www.ibm.com/software/data/db2/db2olap/library.html ------------------------------------------------------------------------ 29.2 Niveles de servicio de sistemas operativos soportados Los componentes del servidor del Kit de iniciación de OLAP para Versión 7.2 dan soporte a los siguientes sistemas operativos y niveles de servicio: * Servidores Windows NT 4.0 con SP 5 y Windows 2000 * AIX versión 4.3.3 o superior * Sistema operativo Solaris versión 2.6, 7 y 8 (Sun OS 5.6, 5.7 ó 5.8) Los componentes del cliente se ejecutan en Windows 95, Windows 98, Windows NT 4.0 SP5 y Windows 2000. ------------------------------------------------------------------------ 29.3 Realización de la configuración del Kit de iniciación de DB2 OLAP en UNIX La instalación del Kit de iniciación de DB2 OLAP sigue los procedimientos básicos de la instalación de DB2 Universal Database para UNIX. El programa de instalación sitúa los archivos del producto en un directorio del sistema: (para AIX: /usr/lpp/db2_07_01; para Solaris: /opt/IBMdb2/V7.1). Luego, durante la fase de creación de la instancia, se crean dos directorios de DB2 OLAP (essbase e is) dentro del directorio inicial del usuario de la instancia bajo sqllib. Sólo puede ejecutarse una instancia del servidor OLAP en una máquina al mismo tiempo. Para completar la configuración, el usuario debe definir manualmente el directorio is/bin de modo que no sea un enlace con el directorio is/bin del sistema. Debe enlazar con un directorio en el que se pueda escribir, dentro del directorio inicial de la instancia. Para completar la configuración para Solaris, inicie una sesión utilizando el ID de instancia, cambie al directorio sqllib/is y luego entre lo siguiente: rm bin mkdir bin cd bin ln -s /opt/IBMdb2/V7.1/is/bin/ismesg.mdb ismesg.mdb ln -s /opt/IBMdb2/V7.1/is/bin/olapicmd olapicmd ln -s /opt/IBMdb2/V7.1/is/bin/olapisvr olapisvr ln -s /opt/IBMdb2/V7.1/is/bin/essbase.mdb essbase.mdb ln -s /opt/IBMdb2/V7.1/is/bin/libolapams.so libolapams.so ------------------------------------------------------------------------ 29.4 Configuración adicional para el Entorno operativo Solaris En el Entorno operativo Solaris, es posible que se encuentre errores si el Kit de iniciación de OLAP no está enlazado al controlador ODBC adecuado. Para evitar estos errores, ejecute el mandato siguiente, el cual creará en $ARBORPATH/bin un enlace que apunte al controlador de OLAP sqllib/lib/libdb2.so: ln -s $HOME/sqllib/lib/libdb2.so libodbcinst.so ------------------------------------------------------------------------ 29.5 Configuración adicional para todos los sistemas operativos A partir del FixPak 3 de DB2 Universal Database Versión 7, el Kit de iniciación de OLAP de DB2 incluye funciones que requieren Java. Después de instalar el FixPak 3 o posteriores, es posible que vea el mensaje de error siguiente en la consola de OLAP Server: No se puede encontrar [el directorio] [/export/home/arbor7sk/sqllib/essbase/java/], necesario para cargar JVM. Para corregir este error, lleve a cabo los pasos siguientes: 1. Inicie una sesión como propietario de la instancia de DB2. 2. Busque el directorio en que ha instalado el Kit de iniciación de OLAP de DB2. El nombre por omisión para este directorio es essbase. 3. En el directorio essbase, cree un subdirectorio llamado java. 4. En el subdirectorio java, cree los archivos vacíos siguientes: o essbase.jar o essdefs.dtd o jaxp.jar o parser.jar o udf.policy ------------------------------------------------------------------------ 29.6 Configuración de ODBC para el Kit de iniciación de OLAP El Kit de iniciación de DB2 OLAP de IBM 7.2 necesita un archivo ODBC.ini para el funcionamiento de conexiones ODBC (Open Database Connectivity) procedentes del Servidor de integración de OLAP con la fuente de datos relacionales y con el Catálogo de metadatos de OLAP. * En sistemas Windows, este archivo se encuentra en el Registro bajo HKEY_LOCAL_MACHINE/SOFTWARE/ODBC. Utilice el Administrador de fuentes de datos de ODBC para almacenar información sobre cómo establecer conexión con una fuente de datos relacionales. * En sistemas UNIX, el programa de instalación crea un archivo odbc.ini modelo. Para almacenar información sobre cómo establecer conexión con una fuente de datos relacionales, edite el archivo utilizando el editor que prefiera. El archivo ODBC.ini está disponible en paquetes de software de ODBC y se incluye con el software de Microsoft Office. Dispone de información adicional sobre las aplicaciones que instalan controladores ODBC o el Administrador de ODBC en el sitio Web siguiente: http://support.microsoft.com/. Para usuarios de Oracle en máquinas AIX: para configurar ODBC para Oracle, debe actualizar el archivo ODBC.ini para que apunte a los controladores MERANT 3.6. En la Versión 7.2, el Kit de iniciación de OLAP gestiona conexiones ODBC con la fuente de datos relacionales y con el Catálogo de metadatos de OLAP. Para acomodar estas conexiones ODBC, el Kit de iniciación de OLAP utiliza controladores ODBC en Windows NT 4.0, Windows 2000, AIX y Solaris. * Cliente de bases de datos DB2 Universal Database Versión 6: controladores ODBC de DB2 Versión 6 en Windows NT 4.0 SP5 o Windows 2000, AIX 4.3.3 y sistema operativo Solaris 2.6, 7 u 8 (Sun OS 5.6, 5.7 ó 5.8). * Cliente de bases de datos DB2 Universal Database Versión 7.1: controladores ODBC de DB2 Versión 7 en Windows NT 4.0 SP5 o Windows 2000, AIX 4.3.3 y sistema operativo Solaris 2.6, 7 u 8 (Sun OS 5.6, 5.7 ó 5.8). * Cliente de bases de datos Oracle 8.04 y 8i SQL*Net 8.0: controladores ODBC de MERANT 3.6 en Windows NT 4.0 SP5 o Windows 2000, AIX 4.3.3, sistema operativo Solaris 2.6, 7 u 8 (Sun OS 5.6, 5.7 ó 5.8). * MS SQL Server 6.5.201 (no se necesita cliente de bases de datos): controladores ODBC de MS SQL Server 6.5 en Windows NT 4.0 SP5 o Windows 2000. * MS SQL Server 7.0 (no se necesita cliente de bases de datos): controladores ODBC de MS SQL Server 7.0 en Windows NT 4.0 SP5 o Windows 2000. 29.6.1 Configuración de fuentes de datos en sistemas UNIX En AIX y Solaris, debe definir de forma manual variables de entorno para ODBC y editar el archivo odbc.ini para configurar la fuente de datos relacionales y el Catálogo de metadatos de OLAP. Asegúrese de editar el archivo odbc.ini y de añadir un nuevo controlador o fuente de datos si cambia el controlador o fuente de datos. Si va a utilizar el Kit de iniciación de OLAP de DB2 en AIX o Solaris para acceder a fuentes Merant ODBC y bases de datos DB2, cambie el valor del atributo "Driver=" en la sección fuente de DB2 del archivo .odbc.ini del modo siguiente: AIX: El nombre de controlador es /usr/lpp/db2_07_01/lib/db2_36.o Entrada fuente ODBC para AIX: [SAMPLE] Driver=/usr/lpp/db2_07_01/lib/db2_36.o Description=DB2 ODBC Database Database=SAMPLE Entorno operativo Solaris: El nombre de controlador es /opt/IBMdb2/V7.1/lib/libdb2_36.so Ejemplo de entrada fuente ODBC para Solaris: [SAMPLE] Driver=/opt/IBMdb2/V7.1/lib/libdb2_36.so Description=DB2 ODBC Database Database=SAMPLE 29.6.1.1 Configuración de variables de entorno de ODBC En sistemas UNIX, debe definir variables de entorno para permitir el acceso a los componentes básicos de ODBC. Los scripts de shell is.sh e is.csh que definen las variables necesarias se suministran en el directorio inicial del Kit de iniciación. Debe ejecutar uno de estos scripts antes de utilizar ODBC para conectar con fuentes de datos. Debe incluir estos scripts en el script de inicio de sesión correspondiente al nombre de usuario que utilice para ejecutar el Kit de iniciación de OLAP. 29.6.1.2 Edición del archivo odbc.ini Para configurar una fuente de datos en un archivo odbc.ini, debe añadir un nombre y descripción correspondientes a la fuente de datos ODBC y suministrar una vía de acceso y nombre de archivo del controlador ODBC y otros valores de controlador en una sección separada que cree para el nombre de la fuente de datos. El programa de instalación instala un archivo odbc.ini de ejemplo en el directorio ISHOME. El archivo contiene información genérica de configuración y conexión de ODBC para los controladores ODBC soportados. Utilice el archivo como punto de inicio para correlacionar los controladores ODBC que utilice con la fuente de datos relacionales y el Catálogo de metadatos de OLAP. Si utiliza un archivo que no sea odbc.ini, asegúrese de definir la variable de entorno ODBCINI con el nombre del archivo que utilice. 29.6.1.3 Adición de una fuente de datos a un archivo odbc.ini 1. En el sistema que ejecuta los servidores del Kit de iniciación de OLAP, abra el archivo odbc.ini utilizando un editor de texto como vi. 2. Busque la sección que comienza con [ODBC Data Sources] y añada una nueva línea con el nombre y la descripción de la fuente de datos, como por ejemplo mydata=fuente de datos para análisis. Para evitar confusiones, el nombre de la fuente de datos debe coincidir con el nombre de la base de datos en el RDBMS. 3. Añada una nueva sección al archivo creando una nueva línea con el nombre de la nueva fuente de datos entre corchetes, como por ejemplo: [mydata]. 4. En las líneas que siguen al nombre de la fuente de datos, añada la vía de acceso completa y el nombre de archivo del controlador ODBC necesario para esta fuente de datos y otra información necesaria sobre el controlador ODBC. Utilice los ejemplos que se muestran en las siguientes secciones como guía para correlacionar con la fuente de datos de su RDBMS. Asegúrese de que el archivo de controlador ODBC existe en la ubicación especificada para el valor Driver=. 5. Cuando termine de editar odbc.ini, guarde el archivo y salga del editor de texto. 29.6.1.4 Ejemplo de valores de ODBC para DB2 El siguiente ejemplo muestra cómo puede editar odbc.ini para conectar con una fuente de datos relacionales, db2data, en DB2 Universal Database Versión 6.1 en AIX, utilizando un controlador ODBC nativo de IBM DB2. En el editor vi editor, utilice el mandato $ODBCINI para editar el archivo odbc.ini e insertar las siguientes sentencias: [ODBC Data Sources] db2data=DB2 Source Data on AIX ... [db2data] Driver=/home/db2inst1/sqllib/lib/db2.o Description=Fuente de datos DB2 - AIX, nativo 29.6.1.5 Ejemplo de valores de ODBC para Oracle A continuación se muestra un ejemplo de cómo puede editar odbc.ini para conectar con una fuente de datos relacionales, oradata, en Oracle Versión 8 (en Solaris), utilizando un controlador ODBC de MERANT Versión 3.6. En este ejemplo, LogonID y Password se alteran temporalmente con los valores reales utilizados en el nombre de usuario y contraseña del Kit de iniciación de OLAP. [ODBC Data Sources] oradata=Oracle8 Source Data on Solaris ... [myoracle] Driver= /export/home/users/dkendric/is200/odbclib/ARor815.so Description=mi fuente oracle 29.6.2 Configuración del Catálogo de metadatos de OLAP en sistemas UNIX La configuración de un Catálogo de metadatos de OLAP en AIX y Solaris es parecido a configurar una fuente de datos. Para la base de datos del Catálogo de metadatos de OLAP, añada un nombre de fuente de datos y sección al archivo odbc.ini, tal como se describe en 29.6.1.2, Edición del archivo odbc.ini. No hace falta realizar ningún otro cambio. Debe crear una base de datos de Catálogo de metadatos de OLAP en un RDBMS soportado antes de configurarlo como una fuente de datos ODBC. A continuación se muestra un ejemplo de cómo puede editar odbc.ini para conectar con el Catálogo de metadatos de OLAP , TBC_MD, en DB2 Versión 6.1 (en Solaris), utilizando un controlador ODBC nativo: [ODBC Data Sources] ocd6a5a=db2 v6 ... [ocd6a5a] Driver=/home/db2instl/sqllib/lib/db2.0 Description=db2 29.6.3 Configuración de fuentes de datos en sistemas Windows Para configurar una fuente de datos relacionales en sistemas Windows NT o Windows 2000, debe iniciar el Administrador de ODBC y luego crear una conexión con la fuente de datos que vaya a utilizar para crear modelos y metaperfiles de OLAP. Ejecute el programa de utilidad Administrador de ODBC desde el Panel de control de Windows. El siguiente ejemplo crea una fuente de datos DB2; los recuadros de diálogo correspondientes a otros RDBMS diferirán. Para configurar una fuente de datos relacionales con el Administrador de ODBC, lleve a cabo los pasos siguientes: 1. En el escritorio de Windows, abra la ventana Panel de control. 2. En la ventana Panel de control, lleve a cabo uno de los pasos siguientes: a. En Windows NT, efectúe una doble pulsación en el icono ODBC para abrir el recuadro de diálogo Administrador de fuentes de datos ODBC. b. En Windows 2000, efectúe una doble pulsación en el icono Herramientas administrativas y luego efectúe una doble pulsación en el icono Fuentes de datos (ODBC) para abrir el recuadro de diálogo Administrador de fuentes de datos ODBC. 3. En el recuadro de diálogo Administrador de fuentes de datos ODBC, pulse la pestaña DSN del sistema. 4. Pulse Añadir para abrir el recuadro de diálogo Crear nueva fuente de datos. 5. En el recuadro de lista de controladores del recuadro de diálogo Crear nueva fuente de datos del Administrador de ODBC, seleccione un controlador adecuado, como Controlador ODBC de IBM DB2 y pulse Finalizar para abrir el recuadro de diálogo Controlador ODBC de IBM DB2 - Añadir. 6. En el recuadro de diálogo Controlador ODBC de IBM DB2 - Añadir, en la lista desplegable Alias de base de datos, seleccione el nombre de la base de datos correspondiente a su fuente de datos relacionales (por ejemplo, TBC en la aplicación de ejemplo). 7. En el recuadro de texto Descripción, escriba una descripción opcional que indique cómo utilizar este controlador y pulse Añadir. Por ejemplo, escriba lo siguiente para describir la base de datos My Business: Clientes, productos, mercados Puede escribir lo siguiente para describir la base de datos de aplicación de ejemplo: Fuente de datos relacionales de ejemplo La descripción ayuda a identificar las fuentes de datos disponibles para s selección cuando se conecta desde el escritorio del Kit de iniciación de OLAP. 8. Pulse Bien para volver al recuadro de diálogo Administrador de fuentes de datos ODBC. El nombre que ha especificado y el controlador que ha correlacionado se muestran en el recuadro de lista Fuentes de datos del sistema de la pestaña DSN del sistema. Para editar información de configuración correspondiente a una fuente de datos: 1. Seleccione el nombre de la fuente de datos y pulse Configurar para abrir el recuadro de diálogo ODBC IBM DB2 - Añadir. 2. Corrija la información que desee modificar. 3. Pulse Bien dos veces para salir. 29.6.4 Configuración del Catálogo de metadatos de OLAP en sistemas Windows Para configurar un Catálogo de metadatos de OLAP en Windows NT o Windows 2000, inicie el Administrador de ODBC y luego cree una conexión con la fuente de datos que contiene la base de datos del Catálogo de metadatos de OLAP. El siguiente ejemplo crea una fuente de datos de DB2; los recuadros de diálogo correspondientes a otros RDBMS diferirán. Para crear una fuente de datos para el Catálogo de metadatos de OLAP, siga estos pasos: 1. En el escritorio, abra la ventana Panel de control. 2. En la ventana Panel de control, lleve a cabo uno de los pasos siguientes: a. En Windows NT, efectúe una doble pulsación en el icono ODBC para abrir el recuadro de diálogo Administrador de fuentes de datos ODBC. b. En Windows 2000, efectúe una doble pulsación en el icono Herramientas administrativas y luego efectúe una doble pulsación en el icono Fuentes de datos (ODBC) para abrir el recuadro de diálogo Administrador de fuentes de datos ODBC. 3. En el recuadro de diálogo Administrador de fuentes de datos ODBC, pulse la pestaña DSN del sistema. 4. Pulse Añadir para abrir el recuadro de diálogo Crear nueva fuente de datos. 5. En el recuadro de lista de controladores del recuadro de diálogo Crear nueva fuente de datos del Administrador de ODBC, seleccione un controlador adecuado, como Controlador ODBC de IBM DB2 y pulse Finalizar para abrir el recuadro de diálogo Controlador ODBC de IBM DB2 - Añadir. 6. En el recuadro de diálogo Controlador ODBC de IBM DB2 - Añadir, en la lista desplegable Alias de base de datos, seleccione el nombre de la base de datos correspondiente a su Catálogo de metadatos de OLAP (por ejemplo, TBC_MD en la aplicación de ejemplo). El nombre de la base de datos seleccionada se muestra automáticamente en el recuadro de texto Nombre de fuente de datos. 7. Si desea cambiar el nombre de la fuente de datos, seleccione el nombre que aparece en el recuadro de texto Nombre de fuente de datos, escriba un nuevo nombre para indicar cómo utilizar este controlador y pulse Añadir. Por ejemplo, puede escribir el siguiente nombre para indicar que está utilizando el controlador para conectar con el primer Catálogo de metadatos de OLAP: Primer catálogo de OLAP Escribiría el siguiente nombre para indicar que está conectando con la base de datos del Catálogo de metadatos de OLAP de la aplicación de ejemplo: TBC_MD 8. En el recuadro de texto Descripción, entre una descripción que indique cómo utiliza este controlador. Por ejemplo, puede escribir lo siguiente para describir el Catálogo de metadatos de OLAP: Mis primeros modelos y metaperfiles Puede escribir lo siguiente para describir la base de datos del Catálogo de metadatos de OLAP de la aplicación de ejemplo: Modelos y metaperfiles de ejemplo Las descripciones le ayudan a identificar el catálogo que desea seleccionar cuando se conecta al Catálogo de metadatos de OLAP desde el escritorio del Kit de iniciación de OLAP. 9. Pulse Bien para volver al recuadro de diálogo Administrador de fuentes de datos ODBC. El nombre que ha especificado y el controlador que ha correlacionado se muestran en el recuadro de lista Fuentes de datos del sistema de la pestaña DSN del sistema. Para editar información de configuración correspondiente a una fuente de datos: 1. Seleccione el nombre de la fuente de datos y pulse Configurar para abrir el recuadro de diálogo ODBC IBM DB2 - Añadir. 2. Corrija la información que desee modificar. 3. Pulse Bien dos veces para salir. 29.6.5 Después de configurar una fuente de datos Después de configurar la fuente de datos relacionales y el Catálogo de metadatos de OLAP, puede conectarse a los mismos desde el Kit de iniciación de OLAP. Luego puede crear, modificar y guardar modelos y metaperfiles de OLAP. Es posible que se exceda el tiempo de espera del controlador ODBC de SQL Server durante una llamada a una base de datos de SQL Server. Vuelva a intentarlo cuando la base de datos no esté ocupada. Puede evitar este problema aumentando el periodo de tiempo de espera excedido del controlador. Para obtener más información, consulte la documentación de ODBC correspondiente al controlador que esté utilizando. Para obtener más información sobre problemas de conexión a ODBC y soluciones, consulte el manual OLAP Integration Server System Administrator's Guide. ------------------------------------------------------------------------ 29.7 Inicio de una sesión desde el escritorio del Kit de iniciación de OLAP Para utilizar el escritorio del Kit de iniciación de OLAP para crear modelos y metaperfiles de OLAP, debe conectar el software del cliente a dos componentes del servidor: DB2 OLAP Integration Server y DB2 OLAP Server. El diálogo de inicio de sesión le solicitará la información necesaria para que el Escritorio conecte con estos dos servidores. En la parte izquierda del diálogo, entre información sobre el Servidor de integración DB2 OLAP. En la parte derecha, entre información sobre DB2 OLAP Server. Para conectar con el Servidor de integración DB2 OLAP: * Servidor: Entre el nombre de sistema principal o la dirección IP del Servidor de integración Si ha instalado el Servidor de integración en la misma estación de trabajo que el escritorio, los valores típicos son "localhost" o "127.0.0.1". * Catálogo de metadatos de OLAP: Cuando conecte con el Servidor de integración OLAP, también debe especificar un Catálogo de metadatos. El Servidor de integración OLAP almacena información sobre los modelos y metaperfiles de OLAP que se crean en una base de datos relacional conocida como Catálogo de metadatos. Esta base de datos relacional se debe registrar para ODBC. La base de datos de catálogos contiene un conjunto especial de tablas relacionales que el Servidor de integración OLAP reconoce. En el diálogo de inicio de sesión, se puede especificar un Servidor de integración y luego expandir el menú desplegable para el campo Catálogo de metadatos OLAP para ver una lista de los nombres de fuentes de datos ODBC conocidas para el Servidor de integración OLAP. Elija una base de datos ODBC que contenga las tablas de catálogos de metadatos. * Nombre de usuario y Contraseña: OLAP Integration Server conectará con el Catálogo de metadatos utilizando el Nombre de usuario y la contraseña que especifique en este panel. Ésta es una cuenta de inicio de sesión que existe en el servidor (y no en el cliente, a no ser que el servidor y el cliente se ejecuten en la misma máquina). El nombre de usuario debe ser el correspondiente al usuario que ha creado el Catálogo de metadatos de OLAP. De lo contrario, OLAP Integration Server no encontrará las tablas relacionales en la base de datos de catálogos porque los nombres de esquema de las tablas son distintos. La información de DB2 OLAP Server es opcional, por lo que los campos de entrada que se encuentran en la parte derecha del diálogo Inicio de sesión se pueden dejar en blanco. Sin embargo, algunas operaciones del Escritorio y del Gestor de administración requieren que se realice una conexión con un DB2 OLAP Server. Si deja estos campos en blanco, el Escritorio visualizará el diálogo Inicio de sesión de nuevo si el Integration Server necesita conectar con DB2 OLAP Server para poder completar una operación que se le ha solicitado. Es recomendable cumplimentar siempre los campos de DB2 OLAP Server en el diálogo Inicio de sesión. Para conectar con DB2 OLAP Server: * Servidor: Entre el nombre de sistema principal o la dirección IP de DB2 OLAP Server. Si está ejecutando el Kit de iniciación de OLAP, el OLAP Server y el Integration Server son el mismo. Si el Servidor de integración y el OLAP Server están instalados en sistemas principales distintos, entre el nombre de sistema principal o la dirección IP definidos en el Servidor de integración OLAP. * Nombre de usuario y Contraseña: el Servidor de integración OLAP conectará con DB2 OLAP Server utilizando el Nombre de usuario y la contraseña que especifique en este panel. Este nombre de usuario y esta contraseña tienen que estar definidos para DB2 OLAP Server. OLAP Server gestiona sus propios nombres de usuario y contraseñas de forma independiente del sistema operativo principal. 29.7.1 Ejemplo de inicio de sesión del Kit de iniciación En el ejemplo siguiente se supone que se ha creado el Ejemplo de OLAP y se ha seleccionado db2admin como ID de usuario de administrador, y contraseña como contraseña de administrador durante la instalación del Kit de iniciación de OLAP. * Para OLAP Integration Server: El servidor es localhost, el Catálogo de metadatos de OLAP es TBC_MD, el Nombre de usuario es db2admin, la Contraseña es contraseña * Para DB2 OLAP Server: El servidor es localhost, el Nombre de usuario es db2admin ------------------------------------------------------------------------ 29.8 Creación y configuración manual de las bases de datos de ejemplo para el Kit de iniciación de OLAP Las bases de datos de ejemplo se crean automáticamente al instalar el Kit de iniciación de OLAP. En las instrucciones siguientes se explica cómo configurar manualmente las bases de datos de Catálogos y Ejemplos, en caso de que sea necesario. 1. En Windows, abra la ventana Centro de mandatos pulsando Inicio -->Programas-->DB2 para Windows NT--> Ventana Mandato. 2. Cree la base de datos de catálogos de producción: a. Escriba db2 create db OLAP_CAT b. Escriba db2 connect to OLAP_CAT 3. Cree tablas en la base de datos: a. Navegue a \SQLLIB\IS\ocscript\ocdb2.sql b. Escriba db2 -tf ocdb2.sql 4. Cree la base de datos fuente de ejemplo: a. Escriba db2 connect reset b. Escriba db2 create db TBC c. Escriba db2 connect to TBC 5. Cree tablas en la base de datos: a. Navegue a \SQLLIB\IS\samples\ b. Copie tbcdb2.sql a \SQLLIB\samples\db2sampl\tbc c. Copie lddb2.sql a \SQLLIB\samples\db2sampl\tbc d. Navegue a \SQLLIB\samples\db2sampl\tbc e. Escriba db2 -tf tbcdb2.sql f. Escriba db2 - vf lddb2.sql para cargar datos fuente de ejemplo en las tablas. 6. Cree la base de datos de catálogos de ejemplo: a. Escriba db2 connect reset b. Escriba db2 create db TBC_MD c. Escriba db2 connect to TBC_MD 7. Cree tablas en la base de datos: a. Navegue a \SQLLIB\IS\samples\tbc_md b. Copie ocdb2.sql a \SQLLIB\samples\db2sampl\tbcmd c. Copie lcdb2.sql a \SQLLIB\samples\db2sampl\tbcmd d. Navegue a \SQLLIB\samples\db2sampl\tbcmd e. Escriba db2 -tf ocdb2.sql f. Escriba db2 -vf lcdb2.sql para cargar metadatos de ejemplo en las tablas. 8. Configure ODBC para TBC_MD, TBC, AND OLAP_CAT: a. Abra el panel de control de NT pulsando Inicio-->Configuración-->Panel de control b. Seleccione ODBC (o fuentes de datos ODBC) en la lista. c. Seleccione la pestaña System DSM. d. Pulse Añadir. Se abrirá la ventana Crear nueva fuente de datos. e. Seleccione IBM DB2 ODBC DRIVER en la lista. f. Pulse Finalizar. Se abrirá la ventana ODBC IBM D2 Driver - Añadir. g. Escriba el nombre de la fuente de datos (OLAP_CAT) en el campo Nombre de fuente de datos. h. Escriba el alias en el campo Alias de base de datos, o pulse la flecha abajo y seleccione OLAP_CAT en la lista. i. Pulse Bien. j. Repita estos pasos para las bases de datos TBC_MD y TBC. ------------------------------------------------------------------------ 29.9 Migración de aplicaciones al Kit de iniciación de OLAP Versión 7.2 El programa de instalación no instala las aplicaciones, bases de datos y archivos de datos de ejemplo del Kit de iniciación de OLAP. Las aplicaciones y bases de datos existentes no se ven afectadas. Sin embargo, siempre resulta recomendable realizar una copia de seguridad de las aplicaciones y las bases de datos antes de realizar una instalación. Las aplicaciones se migran automáticamente a la Versión 7.2 cuando las abre. ------------------------------------------------------------------------ 29.10 Problemas y limitaciones conocidos Esta sección contiene las limitaciones conocidas del Kit de iniciación de DB2 OLAP. Compatibilidad de RDBMS de Informix con controladores Merant para plataformas Windows Para que los controladores Merant para plataformas Windows funcionen con el RDBMS Informix, se deben añadir las dos entradas siguientes a la sentencia PATH: o C:\Informix o C:\Informix\bin Ambas entradas deben estar al principio de la sentencia PATH. Posible incoherencia entre dimensiones en modelos OLAP y metaperfiles asociados Bajo determinadas circunstancias, puede crear una dimensión en un metaperfil que no tenga una dimensión correspondiente en el modelo OLAP. Esto puede suceder si: 1. Crea un nuevo modelo OLAP y lo guarda. 2. Crea un metaperfil basado en el modelo, pero no lo guarda. 3. Vuelve al modelo OLAP y suprime una dimensión en la que se basa una de las dimensiones del metaperfil. 4. Vuelve al metaperfil, lo guarda, lo cierra y lo vuelve a abrir. El metaperfil contendrá una dimensión que no tiene una dimensión correspondiente en el modelo OLAP. El Kit de iniciación de OLAP no puede distinguir entre una dimensión incoherente creada de esta forma y una dimensión definida por el usuario en un metaperfil. Por lo tanto, la dimensión incoherente se mostrará en el metaperfil, pero el metaperfil la tratará como una dimensión definida por el usuario, puesto que no existe ninguna dimensión correspondiente en el modelo OLAP. En plataformas Windows 2000, el valor de variable de entorno correspondiente a TMP hace que fallen cargas de datos y de miembros Debido a una diferencia en los valores de variables de entorno del usuario y del sistema por omisión para TMP entre Windows 2000 y Windows NT, las cargas de miembros y de datos fallan cuando el Kit de iniciación de OLAP se está ejecutando en plataformas Windows 2000. El mensaje de error resultante indica a los usuarios que no se ha podido crear el archivo temporal. Puede solucionar esta limitación en Windows 2000 siguiendo estos pasos: 1. Cree un directorio denominado C:\TEMP 2. Establezca la variable de entorno TMP para el sistema y para el usuario en TMP=C:\TEMP La instalación de ODBC no sustituye el controlador Merant existente Los controladores ODBC 3.6 Merant existentes no se actualizan con esta instalación. Si está actualizando desde el Kit de iniciación de OLAP Versión 7.1, fixpack 2 o anterior, debe continuar utilizando los controladores ODBC instalados anteriormente Utilización de controladores ODBC Informix Merant en plataformas UNIX Para utilizar controladores ODBC Informix Merant en plataformas UNIX, debe hacer una de las siguientes cosas: o Antes de iniciar el Kit de iniciación, establezca la variable de entorno LANG en "en_US". Por ejemplo, para el shell korn, escriba: export LANG='en_US' Establezca esta variable cada vez que inicie el Kit de iniciación de OLAP. o Si la variable de entorno LANG ya está establecida con un valor diferente, realice el siguiente enlace simbólico después de la instalación: ln -s $ISHOME/locale/en_US $ISHOME/locale/$LANG Combinación de niveles de servicio de clientes y servidores OLAP IBM recomienda mantener los componentes cliente y servidor del Kit de iniciación de DB2 OLAP con la misma versión y nivel de fixpack. Pero, en algunas situaciones, es posible que pueda combinar diferentes niveles de servicio de los componentes cliente y servidor: Utilizando clientes y servidores con distintos niveles de servicio dentro de una versión IBM no da soporte, y recomienda que no se haga, a la utilización de clientes más actualizados que los servidores. Sin embargo, es posible que pueda utilizar clientes antiguos con servidores más modernos, aunque IBM no le dé soporte. Es posible que se produzcan problemas. Por ejemplo: + Los mensajes procedentes del servidor pueden no ser correctos. Puede solucionar este problema actualizando el archivo message.MDB en el cliente para que coincida con el nivel del servidor. + Las características nuevas del servidor no funcionan. El cliente, servidor o ambos pueden fallar cuando intente utilizar una característica nueva. + Es posible que el cliente no se conecte correctamente con el servidor. Utilizando varios servidores con un solo cliente dentro de una versión Si tiene que conectar un cliente a varios servidores OLAP en distintas máquinas o sistemas operativos, IBM recomienda que los coloque a la misma versión y nivel de servicio. El cliente debe estar al menos al mismo nivel que el servidor con el nivel inferior. Si tiene problemas, es posible que tenga que utilizar distintas máquinas cliente para que coincidan con el sistema principal adecuado o actualizar todos los clientes y servidores al mismo nivel de servicio. Combinando clientes y servidores de distintas versiones IBM no da soporte a la utilización de clientes y servidores del Kit de iniciación de OLAP de la Versión 7.1 con clientes y servidores de la Versión 7.2. Cuando se actualizan productos IBM OLAP a un nuevo nivel de versión, suele haber actualizaciones de red y cambios de formato de datos que necesitan que el cliente y el servidor estén al mismo nivel de versión. Combinando productos de IBM (Kit de iniciación de DB2 OLAP) con productos de Hyperion (Hyperion Essbase e Hyperion Integration Server) IBM no da soporte a la combinación de clientes y servidores de OLAP de IBM con clientes y servidores de OLAP de Hyperion Solutions. Hay algunas diferencias en características que pueden causar problemas, aunque la combinación de estos componentes puede funcionar en algunas situaciones. ------------------------------------------------------------------------ 29.11 Falta de archivos EQD del Complemento de hoja de cálculo de OLAP En el Kit de iniciación de DB2 OLAP, el Complemento de hoja de cálculo tiene un componente llamado Query Designer (EQD). El menú de la ayuda en línea para EQD incluye un botón llamado Guía de aprendizaje que no muestra nada. El material que debería visualizarse en las guías de aprendizaje de EQD es un subconjunto del capítulo dos de los manuales OLAP Spreadsheet Add-in Guía del usuario para Excel y OLAP Spreadsheet Add-in Guía del usuario para 1-2-3. Toda la información de la guía de aprendizaje de EQD está disponible en las versiones HTML de estos manuales en el Centro de información y en las versiones PDF. ------------------------------------------------------------------------ Information Catalog Manager Administration Guide ------------------------------------------------------------------------ 30.1 Programa de utilidad Inicialización del Gestor de catálogos de información 30.1.1 Con el programa de utilidad ICM (Inicializar el Gestor de catálogos de información), ahora se puede añadir una sentencia de SQL al final de la sentencia CREATE TABLE utilizando el mandato siguiente: CREATEIC \DBTYPE tipobd \DGNAME dgname \USERID idusuario \PASSWORD contraseña \KA1 idusuario \TABOPT "directorio:\archivo.tabopt" Se puede especificar la palabra clave TABOPT en el programa de utilidad CREATEIC desde el directorio donde está instalado DB2. El valor que sigue a la palabra clave TABOPT es el nombre de archivo del archivo.tabopt con la vía de acceso completa. Si el nombre del directorio contiene espacios en blanco, encierre el nombre entre comillas. El contenido del archivo.tabopt debe contener información para añadir a la sentencia CREATE TABLE. Puede utilizar cualquiera de las siguientes sentencias de SQL para grabar en este archivo archivo.tabopt. El programa de utilidad ICM leerá este archivo y luego lo añadirá a la sentencia CREATE TABLE. Tabla 8. Sentencias de SQL IN MYTABLESPACE Crea una tabla con sus datos en MYTABLESPACE DATA CAPTURE CHANGES Crea una tabla y anota cronológicamente los cambios de SQL en un formato ampliado IN ACCOUNTING INDEX IN Crea una tabla con sus datos en ACCOUNTING y ACCOUNT_IDX su índice en ACCOUNT_IDX El tamaño máximo del archivo de contenido es 1000 caracteres de un único byte. Esta nueva capacidad está disponible sólo en sistemas Windows y UNIX. 30.1.2 Temas sobre licencia Si obtiene el mensaje siguiente: FLG0083E: No tiene una licencia válida para el programa de utilidad Inicialización del Gestor de catálogos de información de IBM. Póngase en contacto con el comerciante de software local o con un representante de marketing de IBM. Debe adquirir DB2 Warehouse Manager o IBM DB2 OLAP Server e instalar el componente Gestor de catálogos de información, que incluye el programa de utilidad Inicialización de catálogos de información. 30.1.3 Temas sobre la instalación Si ha instalado DB2 Warehouse Manager o IBM DB2 OLAP Server y luego ha instalado otro componente Administrador del Gestor de catálogos de información (utilizando el CD-ROM de DB2 Universal Database) en la misma estación de trabajo, puede que haya sobregrabado el programa de utilidad de Inicialización de catálogos de información. En este caso, desde el directorio \sqllib\bin, busque los archivos createic.bak y flgnmwcr.bak y renómbrelos como createic.exe y flgnmwcr.exe respectivamente. Si instala componentes del Gestor de catálogos de información desde DB2 Universal Database, los componentes deben estar en otra estación de trabajo que no sea donde ha instalado el Data Warehouse Manager. Para más información, consulte el Capítulo 3, Instalación de componentes del Gestor de catálogos de información, en el manual DB2 Warehouse Manager Installation Guide. ------------------------------------------------------------------------ 30.2 Mejoras en el Gestor de catálogos de información El Gestor de catálogos de información incluye las mejoras siguientes: Actualmente, el ICM soporta la importación de información de filtro ETI para la base de datos, tabla o columna de origen o destino. En Registrar en el almacén, se utiliza un nuevo objeto ICM de Datos de conversión tipo ETI para almacenar la información de filtro. Luego, estos objetos se enlazan a la base de datos, tabla o columna de origen o destino para las que han sido definidos. El ICM tiene la capacidad de enlazar una base de datos, tabla o columna de origen o destino determinada con varios objetos de Datos de conversión ETI, como consecuencia de registrar distintas Conversiones ETI con el mismo catálogo de ICM. Se aplica la misma posibilidad a las Transformaciones, en el aspecto en que una columna de destino determinada puede, ahora, contener varias Transformaciones como consecuencia de registrar distintas Conversiones ETI con el mismo catálogo de ICM. Para ello, el ICM ha efectuado cambios en la clave de Transformación al importar una correlación ETI*Extract. Para habilitar estas características, utilice ETI*Extract 4.2.1 con MetaScheduler 4.1.0 para realizar registros con el Data Warehouse Manager. Se dispone de más información sobre estas características en el apartado Consejos y pistas de DB2 Warehouse Manager, en la dirección http://www.ibm.com/software/data/db2/datawarehouse/support.html. Busque las palabras clave "ETI" o "Application Data". ------------------------------------------------------------------------ 30.3 Incompatibilidad entre Information Catalog Manager y Sybase en el entorno Windows La instalación de Information Catalog Manager (ICM) Versión 7 en la misma máquina Windows NT o Windows 2000 con Sybase Open Client da como resultado un error y Sybase Utilities deja de funcionar. Se produce un mensaje de error parecido al siguiente: No se ha podido inicializar LIBTCL.DLL. Por favor, asegúrese de que la variable de entorno SYBASE se haya establecido correctamente. Evite esta situación eliminando el parámetro de entorno LC_ALL a partir de los parámetros del entorno de Windows. LC_ALL es un parámetro de categoría de entorno nacional. Las categorías de entorno nacional son constantes evidentes que utilizan las rutinas de localización para especificar la parte de la información de entorno nacional que ha de utilizar un programa. El entorno nacional hace referencia a la localidad (país/región) para la que pueden personalizarse determinados aspectos del programa. Las áreas que dependen del entorno nacional incluyen, por ejemplo, el formato de las fechas o el formato de presentación de los valores monetarios. LC_ALL afecta a todo comportamiento específico de entorno nacional (todas las categorías). Si elimina el parámetro de entorno LC_ALL para que ICM pueda coexistir con Sybase en la plataforma de Windows NT, dejarán de funcionar los recursos siguientes: * Usuario de catálogos de información * Administrador de catálogos de información * Gestor de catálogos de información La eliminación del parámetro LC_ALL no afectará a ningún otro elemento aparte de ICM. ------------------------------------------------------------------------ 30.4 Acceso a catálogos de información de DB2 Versión 5 con el Gestor de catálogos de información de DB2 Versión 7 Los subcomponentes del Gestor de catálogos de información de DB2 Versión 7, configurados por el proceso de instalación de DB2 Versión 7, soportan el acceso a catálogos de información almacenados en bases de datos de DB2 Versión 6 y DB2 Versión 7. Puede modificar la configuración de los subcomponentes para acceder a catálogos de información almacenados en bases de datos de DB2 Versión 5. Los subcomponentes del Gestor de catálogos de información de DB2 Versión 7 no soportan el acceso a datos de DB2 Versión 2 ni de otras versiones anteriores. Para configurar el Administrador de catálogos de información, el Usuario de catálogos de información y el Programa de utilidad de inicialización de catálogos de información para acceder a catálogos de información almacenados en bases de datos de DB2 Versión 5, haga lo siguiente: 1. Instale DB2 Connect Enterprise Edition Versión 6 en una estación de trabajo distinta de aquélla en la que se ha instalado el Gestor de catálogos de información de DB2 Versión 7. DB2 Connect Enterprise Edition se incluye formando parte de DB2 Universal Database Enterprise Edition y de DB2 Universal Database Enterprise - Extended Edition. Si se ha instalado la Versión 6 de cualquiera de estos productos de DB2, no es necesario instalar DB2 Connect por separado. Restricción: no se pueden instalar varias versiones de DB2 en la misma estación de trabajo Windows NT u OS/2. Puede instalar DB2 Connect en otra estación de trabajo Windows NT o en una estación de trabajo OS/2 o UNIX. 2. Configure al Gestor de catálogos de información y DB2 Connect Versión 6 para acceder a los datos de DB2 Versión 5. Para obtener más información, consulte la publicación DB2 Connect User's Guide. Los pasos siguientes constituyen una visión general de los pasos necesarios: a. En el sistema DB2 Versión 5, utilice el Procesador de línea de mandatos de DB2 para catalogar la base de datos de Versión 5 a la que va a acceder el Gestor de catálogos de información. b. En el sistema DB2 Connect, utilice el Procesador de línea de mandatos de DB2 para catalogar: + El nodo TCP/IP para el sistema DB2 Versión 5 + La base de datos para el sistema DB2 Versión 5 + La entrada DCS para el sistema DB2 Versión 5 c. En la estación de trabajo que contiene el Gestor de catálogos de información, utilice el Procesador de línea de mandatos de DB2 para catalogar: + El nodo TCP/IP para el sistema DB2 Connect + La base de datos para el sistema DB2 Connect Para obtener información sobre cómo catalogar bases de datos, consulte la publicación DB2 Universal Database Suplemento de instalación y configuración. 3. En el depósito que contiene el Gestor de catálogos de información, vincule el paquete de la CLI de DB2 con cada una de las bases de datos a las que se vaya a acceder a través de DB2 Connect. Los mandatos siguientes de DB2 proporcionan un ejemplo de vinculación con v5database, base de datos hipotética de DB2 versión 5. Utilice el Procesador de línea de mandatos de DB2 para emitir los mandatos siguientes. db2cli.lst y db2ajgrt están ubicados en el directorio \sqllib\bnd. db2 connect to v5database user idusuario using contraseña db2 bind db2ajgrt.bnd db2 bind @db2cli.lst blocking all grant public donde idusuario es el ID de usuario para v5database y contraseña es la contraseña para el ID de usuario. Se produce un error cuando se vincula db2cli.list a la base de datos de DB2 Versión 5. Sucede este error porque en esta configuración no se soportan objetos grandes (LOB). Este error no afectará al acceso por parte del agente de depósito a la base de datos de DB2 Versión 5. Para acceder a datos de DB2 Versión 5 a través de DB2 Connect, se requiere el FixPak 14 para DB2 Universal Database Versión 5, que estará disponible en junio de 2000. Consulte el número de APAR JR14507 en dicho FixPak. ------------------------------------------------------------------------ 30.5 Configuración de un Catálogo de información El paso 2 del primer apartado del capítulo 1, "configuración de un catálogo de información", dice: Al instalar DB2 Warehouse Manager o DB2 OLAP Server, se crea un catálogo de información por omisión en DB2 Universal Database para Windows NT. Esta declaración es incorrecta. Se debe definir un nuevo catálogo de información. Para obtener más información, consulte el apartado "Creación del catálogo de información". ------------------------------------------------------------------------ 30.6 Intercambio de metadatos con otros productos En el capítulo 6, "Intercambio de metadatos con otros productos", del apartado "Identificación de objetos OLAP que se publicarán", hay una frase en el segundo párrafo que dice: Al publicar metadatos de DB2 OLAP Integration Server, se crea una relación enlazada entre un tipo de objeto "dimensiones dentro de una base de datos multidimensional" de un catálogo de información y un objeto de tabla en el OLAP Integration Server. La frase debe decir: Al publicar metadatos de DB2 OLAP Integration Server, se crea una relación enlazada entre un tipo de objeto "dimensiones dentro de una base de multidimensional y un objeto de tabla" de un catálogo de información. Esta frase aparece también en el apéndice C, "Correlaciones de metadatos", en el apartado "Correlaciones de metadatos entre el Gestor de catálogos de información y el OLAP Server. ------------------------------------------------------------------------ 30.7 Intercambio de metadatos utilizando el mandato flgnxoln En el capítulo 6, "Intercambio de metadatos", hay el apartado "Identificación de objetos OLAP que se publicarán". Al final de este apartado, se muestra un ejemplo de utilización del mandato flgnxoln para publicar metadatos del servidor OLAP en un catálogo de información. El ejemplo muestra, incorrectamente, como directorio para los archivos db2olap.ctl y db2olap.ff x:\Archivos de programa\sqllib\logging. El nombre de directorio debe ser x:\Archivos de programa\sqllib\exchange, tal como se describe en la página 87. ------------------------------------------------------------------------ 30.8 Intercambio de metadatos utilizando el mandato MDISDGC En el Capítulo 6. Intercambio de metadatos con otros productos: "Conversión de metadatos conformes con MDIS a un archivo de lenguaje de códigos", página 97: No se puede emitir el mandato MDISDGC desde el indicador de mandatos de MS-DOS. Debe emitir el mandato MDISDGC desde una ventana de mandatos de DB2. La primera frase de la sección, "Conversión de un archivo de lenguaje de códigos a metadatos conformes con MDIS," también dice que debe emitir el mandato DGMDISC desde el indicador de mandatos de MS-DOS. Debe emitir el mandato DGMDISC desde una ventana de mandatos de DB2. ------------------------------------------------------------------------ 30.9 Invocación de programas Algunos ejemplos de la publicación Information Catalog Administration Guide muestran mandatos que contiene el nombre de directorio Archivos de programa. Cuando invoque a un programa que contenga Archivos de programa como parte del nombre de vía de acceso, debe incluir la invocación del programa entre comillas. Por ejemplo, el apéndice B, "Tipos de objetos del gestor de catálogos de información predefinidos", contiene un ejemplo en el apartado "Inicialización del catálogo de información con los tipos de objetos predefinidos". Si utiliza el ejemplo de este apartado, obtendrá un error al ejecutarlo desde la solicitud de DOS. El ejemplo siguiente es correcto: "X:Archivos de programa\SQLLIB\SAMPLES\SAMPDATA\DGWDEMO" /T IDusuario contraseña dgname ------------------------------------------------------------------------ Information Catalog Manager Programming Guide and Reference ------------------------------------------------------------------------ 31.1 Códigos de razón del Gestor de catálogos de información En el Apéndice D: Códigos de razón del Gestor de catálogos de información, puede estar truncado por la columna de la derecha parte del texto para los códigos de razón siguientes: 31014, 32727, 32728, 32729, 32730, 32735, 32736, 32737, 33000, 37507, 37511 y 39206. Si el texto aparece truncado, vea la columna completa en la versión de HTML de esta publicación. ------------------------------------------------------------------------ Information Catalog Manager User's Guide En el capítulo 2, hay un apartado que se llama "Registro de un nodo de servidor y del catálogo de información remota." Este apartado enumera los pasos que puede realizar desde el Centro de control de DB2 antes de registrar un catálogo de información remota utilizando el gestor de catálogos de información. El último párrafo de este apartado dice que después de realizar una serie de pasos desde el Centro de control de DB2 (añadir un sistema, añadir una instancia y añadir una base de datos), debe concluir el Centro de control antes de abrir el Gestor de catálogos de información. Esta información es incorrecta. No es necesario cerrar el Centro de control antes de abrir el gestor de catálogos de información. La misma corrección también es aplicable a función de la ayuda en línea "Registro de un nodo del servidor y de un catálogo de información remota" y a la ayuda en línea para Registrar nodo del servidor y Ventana del catálogo de información. ------------------------------------------------------------------------ Gestor de catálogos de información: Mensajes en línea ------------------------------------------------------------------------ 33.1 Correcciones en los mensajes FLG 33.1.1 Mensaje FLG0260E En la segunda frase de la explicación de este mensaje debe decir: El error ha ocasionado una retrotracción del catálogo de información, que ha fallado. El catálogo de información no está en una condición estable, pero no se han efectuado cambios. 33.1.2 Mensaje FLG0051E En el segundo apartado de la explicación de este mensaje debe decir: El catálogo de información contiene demasiados objetos o tipos de objeto. En la respuesta del administrador debe decir: Suprima algunos objetos o tipos de objeto del catálogo de información actual utilizando la función de importación. 33.1.3 Mensaje FLG0003E En la explicación de este mensaje debe decir: Para poder utilizar el catálogo de información, antes se debe registrar. Es posible que no se haya registrado correctamente el catálogo de información. 33.1.4 Mensaje FLG0372E En la primera frase de la explicación de este mensaje debe decir: Se ha ignorado el valor ATTACHMENT-IND para un objeto porque dicho objeto es un objeto de Conexión. 33.1.5 Mensaje FLG0615E La segunda frase del mensaje debe decir: El gestor de catálogos de información ha hallado un error de base de datos inesperado o no puede encontrar el archivo de vinculación en el directorio o vía de acceso actuales. ------------------------------------------------------------------------ Gestor de catálogos de información: Ayuda en línea Ventana Catálogo de información: La ayuda en línea para el elemento Abrir del menú Seleccionado dice, incorrectamente, "Abre el objeto seleccionado". Debe decir "Abre la ventana Definir búsqueda". ------------------------------------------------------------------------ 34.1 Gestor de catálogos de información para la Web Cuando se utiliza un catálogo de información que está ubicado en un sistema DB2 UDB para OS/390, no se dispone de búsqueda sensible a las mayúsculas/minúsculas. Esto es así tanto para una búsqueda simple como para una búsqueda avanzada. La ayuda en línea no explica que todas las búsquedas realizadas sobre un catálogo de información de DB2 UDB para OS/390 son sensible a las mayúsculas y minúsculas para una búsqueda simple. Por otra parte, todos los objetos de la categoría de agrupamiento son ampliables, aunque no sean objetos fundamentales. ------------------------------------------------------------------------ DB2 Warehouse Manager Installation Guide ------------------------------------------------------------------------ 35.1 Actualización disponible del manual DB2 Warehouse Manager Installation Guide Se ha actualizado el manual DB2 Warehouse Manager Installation Guide y el último .pdf está disponible para bajarlo en línea desde http://www.ibm.com/software/data/db2/udb/winos2unix/support. Toda la documentación actualizada también está disponible en CD. Se puede solicitar dicho CD a través del servicio, utilizando el número de PTF U478862. La información contenida en estas notas es adicional al material de consulta actualizado. ------------------------------------------------------------------------ 35.2 Requisitos de software para transformadores de almacén de datos Debe estar instalado Java Developer's Kit (JDK) Versión 1.1.8 o posterior en la base de datos en la que tiene intención de utilizar los transformadores de almacén de datos. ------------------------------------------------------------------------ 35.3 Consideraciones posteriores a la instalación para el agente iSeries En el Capítulo 4, bajo la sección "Instalación del agente de almacén de datos de AS/400 (iSeries)", bajo la subsección "Consideraciones posteriores a la instalación", cambie el primer párrafo por: El agente de almacén de datos realiza todas las funciones de pasos en una sola unidad de trabajo. Antes de la V4R5, DB2 Universal Database para iSeries limitaba el número de filas que se pueden insertar en un solo ámbito de confirmación a 4 millones. Esta limitación se ha incrementado a 500 millones de filas en la V4R5. Si está utilizando un sistema de la V4R4 (o inferior) y tiene consultas que exceden este tamaño, subdivida las consultas o utilice los programas FTP proporcionados por el almacén de datos para mover los datos. ------------------------------------------------------------------------ 35.4 Antes de utilizar transformadores con el agente de almacén de datos de iSeries En el Capítulo 4, elimine la sección "Antes de utilizar transformadores con el agente de iSeries" y todas las subsecciones. ------------------------------------------------------------------------ Query Patroller Administration Guide ------------------------------------------------------------------------ 36.1 El cliente de DB2 Query Patroller es un componente separado El cliente de DB2 Query Patroller es un componente separado que no forma parte de DB2 Administration Client. Esto significa que no se instala durante la instalación de DB2 Administration Client, tal como se indica en la publicación Query Patroller Installation Guide. En lugar de esto, el cliente de Query Patroller se debe instalar por separado. La versión y nivel del cliente Query Patroller y del servidor Query Patroller deben coincidir. ------------------------------------------------------------------------ 36.2 Cambio del estado del nodo Seguidamente, se describe una actualización de la sección sobre cómo administrar un nodo incluida en el manual Query Patroller Administration Guide. Utilice el procedimiento siguiente para cambiar el estado del nodo: 1. En la página Administración de nodos, seleccione un nodo. 2. Pulse en Ver / Editar. Se abrirá la ventana Información detallada para el nodo. 3. Seleccione el nuevo estado en el campo Estado solicitado. Nota: Estado solicitado es el único campo que puede cambiarse dentro de la ventana Información detallada para el nodo; en el resto de los campos se visualizan valores suministrados por DB2 Query Patroller. 4. Pulse en Bien. La lista siguiente proporciona información relativa a cada parámetro de nodo: ID de nodo Proporciona el ID para el nodo. Estado del nodo Contiene el estado actual del nodo: o Activo indica que el nodo puede ejecutar trabajos. o Inactivo indica que se ha cerrado el componente DB2 Query Patroller del nodo. El nodo no está disponible para DB2 Query Patroller. Para reactivar el nodo, utilice la cuenta de usuario administrativo iwm para emitir el mandato dqpstart. o Inmovilizando indica que el nodo se halla en transición al estado de inmovilización. Los trabajos en ejecución se completarán, pero no se planificarán nuevos trabajos en el nodo. o Inmovilizado indica que el nodo se encuentra en el estado de inmovilización. El nodo está disponible para DB2 Query Patroller, pero no se planifican nuevos trabajos para ese nodo. Estado solicitado Indica cómo cambiará el estado del nodo: o Activo indica que el nodo se activará. o Inactivo indica que el nodo quedará inactivo. Los trabajos en ejecución se completarán, pero no se planificarán nuevos trabajos. o Forzar indica que el nodo quedará inactivo inmediatamente. Los trabajos en ejecución se interrumpen inmediatamente y no se planificarán nuevos trabajos. o Inmovilizado indica que el nodo se inmovilizará. Los trabajos en ejecución se completarán. Fecha/hora del último estado Indica la fecha y la hora en que el estado del nodo se ha cambiado por última vez. Trabajos planificados Facilita el número de trabajos planificados para ejecutarse más el número de trabajos que se están ejecutando en este nodo. Utilización de la CPU Proporciona la utilización de la CPU por parte del nodo, como porcentaje (0 - 100). Si no se recopila información sobre la utilización de la CPU, el valor es -1. Disponibilidad de disco Indica los bytes disponibles en el sistema de archivos donde se crean los resultados. Si no se supervisa la utilización de disco, el valor es -1. PID del gestor de nodos Indica el ID de proceso del proceso del gestor de nodos. ------------------------------------------------------------------------ 36.3 Migración desde la Versión 6 de DB2 Query Patroller utilizando dqpmigrate El mandato dqpmigrate debe utilizarse en el caso de que se hubiera instalado la Versión 7 de Query Patroller Server sobre la Versión 6 de Query Patroller Server. Para el FixPak 2 o posterior, no ha de ejecutar dqpmigrate manualmente ya que la instalación del FixPak ejecuta este mandato en su lugar. Si no se utiliza este mandato, los usuarios existentes definidos en la v6 no tendrían privilegios de EXECUTE sobre diversos procedimientos almacenados nuevos que se han añadido en la Versión 7. Nota: dqpmigrate.bnd se halla en el directorio sqllib/bnd y dqpmigrate.exe se halla en el directorio sqllib/bin. Para utilizar dqpmigrate manualmente para otorgar privilegios de EXECUTE, haga lo siguiente después de instalar el FixPak: 1. Vincule el archivo de paquete /sqllib/bnd/dqpmigrate.bnd con la base de datos en la que se ha instalado el servidor de Query Patroller entrando el mandato siguiente: db2 bind dqpmigrate.bnd 2. Ejecute dqpmigrate entrando lo siguiente: dqpmigrate dbalias userid passwd ------------------------------------------------------------------------ 36.4 Habilitación de la Gestión de consultas En el capítulo "Iniciación", bajo "Habilitación de la Gestión de consultas", el texto debe decir: Para establecer parámetros de configuración de base de datos, debe ser el propietario de la base de datos o tener autorización SYSADM, SYSCTRL o SYSMAINT. ------------------------------------------------------------------------ 36.5 Ubicación del espacio de tabla para tablas de control En el Capítulo 1, Visión general del sistema, bajo tablas de control de DB2 Query Patroller se debe añadir el siguiente texto al final del primer párrafo de la sección: El espacio de tabla correspondiente a las tablas de control de DB2 Query Patroller debe residir en un grupo de nodos de un solo nodo o DB2 Query Patroller no funcionará correctamente. ------------------------------------------------------------------------ 36.6 Nuevos parámetros para el mandato dqpstart En el Capítulo 2, Iniciación, bajo Inicio y detención de DB2 Query Patroller, se debe añadir el siguiente texto al final del último párrafo: Nuevos parámetros para el mandato dqpstart: Parámetro RESTART: Permite al usuario sustituir el nombre del sistema principal y/o el tipo de nodo del nodo especificado en el archivo dqpnodes.cfg. DB2 Query Patroller se iniciará en este nodo. Nota: Antes de ejecutar el mandato DQPSTART con el parámetro RESTART asegúrese de que: 1. DB2 Query Patroller ya está detenido en el sistema principal que se va a sustituir. 2. DB2 Query Patroller aún no se está ejecutando en el nuevo sistema principal. La sintaxis es la siguiente: dqpstart nodenum núm_nodo restart nombre_sistema_principal server | agent | none Parámetro ADDNODE: Permite al usuario añadir un nodo nuevo al archivo dqpnodes.cfg. DB2 Query Patroller se iniciará en este nodo después de que la entrada del nuevo nodo se añada al archivo dqpnodes.cfg. La sintaxis es la siguiente: dqpstart nodenum núm_nodo addnode nombre_sistema_principal server | agent | none Parámetro DROPNODE: Permite al usuario eliminar un nodo del archivo dqnodes.cfg. DB2 Query Patroller se detendrá en este nodo antes de que la entrada del nodo se elimine del archivo dqpnodes.cfg. La sintaxis es la siguiente: dqpstop nodenum núm_nodo dropnode ------------------------------------------------------------------------ 36.7 Nuevo parámetro para el mandato iwm_cmd Se añadido el nuevo parámetro -v al mandato iwm_cmd para permitir al usuario recuperar el estado de los trabajos que se estaban ejecutando en el nodo especificado. Sólo se pueden recuperar los trabajos de un nodo inactivo. Este mandato se debe emitir cuando hay un error en un nodo y hay algunos trabajos ejecutándose en dicho nodo o en proceso de cancelación en ese momento. Los trabajos que estaban en estado "En ejecución" se volverán a someter y volverán al estado "En cola ". Los trabajos que estaban en estado "En cancelación" se colocarán en estado "Cancelado". La sintaxis parcial es la siguiente: >>-iwm_cmd--+------------------------------------+--------------> '--u--id_usuario--+----------------+-' '--p--contraseña-' >---v--id_nodo_a_recuperar------------------------------------->< id_nodo_a_recuperar Especifica el nodo en el que se tienen que recuperar los trabajos. ------------------------------------------------------------------------ 36.8 Nueva variable de registro: DQP_RECOVERY_INTERVAL Hay una nueva variable de registro denominada DQP_RECOVERY_INTERVAL que sirve para definir el intervalo de tiempo en minutos en que iwm_scheduler busca archivos de recuperación. El valor por omisión es 60 minutos. ------------------------------------------------------------------------ 36.9 Inicio del Administrador de consultas En el capítulo "Utilización de QueryAdministrator para administrar DB2 Query Patroller", se proporcionan instrucciones para iniciar QueryAdministrator desde el menú Inicio de Windows. El primer paso contiene el texto siguiente: Si está utilizando Windows, puede seleccionar DB2 Query Patroller --> QueryAdministrator en el grupo de programas IBM DB2. Dicho texto debe decir: DB2 Query Patroller --> QueryAdmin. ------------------------------------------------------------------------ 36.10 Administración de usuarios En el apartado "Administración de usuarios" del capítulo "Utilización de QueryAdministrator para administrar DB2 Query Patroller", la definición del parámetro Tiempo máximo transcurrido indica que, si el valor se establece en 0 o -1, la consulta siempre se ejecutará hasta que termine. Este parámetro no se puede establecer con un valor negativo. El texto debe indicar que, si el valor se establece en 0, la consulta siempre se ejecutará hasta su finalización. El parámetro Número máximo de consultas especifica el número máximo de trabajos que DB2 Query Patroller ejecutará simultáneamente. El Número máximo consultas debe ser un número entero dentro del rango de 0 a 32767. ------------------------------------------------------------------------ 36.11 Administración de fuente de datos En el Capítulo 3, Utilización del Administrador de consultas para administrar DB2 Query Patroller, hay algunas descripciones nuevas y modificadas para los parámetros de fuente de datos. El Coste estático es el coste estimado de DB2 de la consulta en timerons. Este coste se almacena en la entrada de trabajo para cada trabajo. Puede verlo como Coste estimado al utilizar Query Monitor para examinar los detalles de un trabajo. La Consulta de coste cero es la consulta con un coste estático, o coste estimado, de cero. En realidad ninguna consulta tiene un coste estimado de cero (incluso las más simples tienen un coste de 5 aproximadamente). En cambio, esto se produce si se somete un trabajo con la opción de no realizar análisis de coste. Sólo puede elegir esta opción si ha configurado el perfil de usuario para que lo permita. En la mayoría de los casos, no tendrá los perfiles de usuario configurados de este modo. Deberá conservar esta opción para los superusuarios como, por ejemplo, otros administradores, usuarios especiales seleccionados o para usted mismo. Entonces estos usuarios podrá ejecutar cualquier consulta que deseen. El sistema trata las consultas de estos usuarios como consultas de coste cero para que se traten como alta prioridad. Tiempo de coste cero, Tiempo de coste gradual, Intervalo de tiempo de coste y Tiempo de coste mínimo ya no se utilizan. El Factor de coste es el multiplicador para convertir el Coste estático en timerons, no es el coste de la tabla de contabilidad. El coste de la tabla de contabilidad es igual al Coste estático multiplicado por el Factor de coste. ------------------------------------------------------------------------ 36.12 Creación de una cola de trabajos En el apartado "Administración de colas de trabajos" del capítulo "Utilización de QueryAdministrator para administrar DB2 Query Patroller", la captura de pantalla incluida en los pasos para "Crear una cola de trabajos" se debe visualizar después del segundo paso. La ventana Información sobre nuevas Colas de trabajos aparece una vez que se pulsa Nuevo en la página Administración de colas de trabajos de la herramienta QueryAdministrator. Las referencias a la página Colas de trabajos o a la pestaña Colas de trabajos deben decir, respectivamente, página Administración de colas de trabajos y pestaña Administración de colas de trabajos. ------------------------------------------------------------------------ 36.13 Tabla de contabilidad de trabajos En el capítulo 11, Supervisión del sistema DB2 Query Patroller, la sección sobre la Contabilidad de trabajos describe las columnas de la tabla Contabilidad de trabajos. El nombre de la tabla es IWM.IWM003_JOB_ACCT. ------------------------------------------------------------------------ 36.14 Utilización de la interfaz de línea de mandatos Para un usuario que tiene autorización User sobre el sistema DB2 Query Patroller para someter una consulta y que se cree una tabla de resultados, es posible que el usuario necesite autorización CREATETAB sobre la base de datos. El usuario no necesitará dicha autorización sobre la base de datos si la variable de perfil DQP_RES_TBLSPC se deja sin establecer o si la variable de perfil DQP_RES_TBLSPC se establece con el nombre del espacio de tablas por omisión. En este caso, la creación de las tablas de resultados será satisfactoria puesto que los usuarios tienen autorización para crear tablas en el espacio de tablas por omisión. ------------------------------------------------------------------------ 36.15 Notas sobre Query Enabler * Al utilizar herramientas de consulta de terceros que utilicen un cursor de conjunto de claves, no se interceptarán las consultas. Para que Query Enabler intercepte estas consultas, debe modificar el archivo db2cli.ini para que incluya: [common] DisableKeySetCursor=1 * Para clientes AIX, asegúrese de que la variable de entorno LIBPATH no esté establecida. La biblioteca libXext.a, que se suministra con el JDK, no es compatible con la biblioteca del subdirectorio /usr/lib/X11. Esto ocasionará problemas con la GUI de Query Enabler. ------------------------------------------------------------------------ 36.16 DB2 Query Patroller Tracker puede devolver una página de columnas en blanco El FixPak 3 incluye un arreglo para DB2 Query Patroller Tracker. El Tracker ahora informará correctamente acerca de las consultas que no coinciden con ninguna columna. Un ejemplo de este tipo de consulta es "SELECT COUNT(*) FROM ...". Puesto que esta clase de consulta no coincide con ninguna columna de la tabla, el Tracker presentará una página en blanco para la página de columnas. Esta página de columnas en blanco no es ningún defecto. ------------------------------------------------------------------------ 36.17 Información adicional para la herramienta de GUI de DB2 Query Patroller Tracker La herramienta Tracker, cuando se emplea para visualizar o analizar datos de trabajo históricos, utiliza la tabla de contabilidad. Para utilizar Tracker, el administrador debe usar primero el Administrador de consultas para cambiar el Estado de contabilidad en el panel Administrador del sistema a Grabar en tabla. Entonces, cuando un trabajo se complete, se guardará información adicional en una tabla de contabilidad de trabajo. A continuación, el administrador debe conectarse al servidor Query Patroller como el usuario iwm y ejecutar la herramienta iwm_tracker (programa de fondo de Tracker). Esta herramienta debe ejecutarse periódicamente cuando la carga del sistema es baja o justo antes de utilizar la herramienta Tracker. Finalmente, cuando estas dos tareas se han completado, puede ejecutar la herramienta de GUI de Tracker para ver o analizar los datos de trabajo. Si el factor de coste es uno, que es el valor por omisión, el coste visualizado para cada trabajo que utiliza Tracker es el mismo valor que el coste visualizado utilizando Query Monitor. En ambos casos, el tiempo se especifica en timerons. Sin embargo, puede que desee utilizar otras unidades de valor. Suponga que desea facturar a cada usuario por la utilización del sistema. Por ejemplo, si el cargo es de un dólar para 10.000 timerons de trabajo, deberá entrar un factor de coste de 0,0001. Esto hace que Tracker convierta, almacene y visualice el coste de cada trabajo en dólares. La publicación Query Patroller Administration Guide describe dólares por megabyte, lo cual es incorrecto y debe sustituirse por dólares por timeron. ------------------------------------------------------------------------ 36.18 Query Patroller y Herramientas de duplicación Query Patroller Versión 7 interceptará las consultas de las herramientas de duplicación (asnapply, asnccp, djra y analyze) y hará que estas herramientas no funcionen correctamente. Para solucionarlo hay que inhabilitar la gestión de consultas dinámicas cuando se ejecutan estas herramientas. ------------------------------------------------------------------------ 36.19 Mejora del rendimiento de Query Patroller Al final del Capítulo 6, Ajuste del rendimiento, debe aparecer el texto siguiente: Utilización de la opción BIND, INSERT BUF para mejorar el rendimiento de DB2 Query Patroller Por omisión, DB2 Query Patroller crea tablas de resultados para almacenar los resultados de las consultas que gestiona. Para aumentar el rendimiento de las inserciones que se realicen en dichas tablas de resultados, incluya la opción INSERT BUF cuando vincule uno de los archivos de enlace lógico de DB2 Query Patroller. Vincule los archivos de enlace lógico de DB2 Query Patroller a la base de datos del modo siguiente: Desde el directorio DB2_RUNTIME\bnd en Windows, o desde la vía de acceso DB2_RUNTIME/bnd en UNIX, entre los mandatos siguientes: db2 connect to basedatos usuario iwm using password db2 bind @db2qp.lst blocking all grant public db2 bind iwmsx001.bnd insert buf db2 bind @db2qp_sp.lst db2 commit donde basedatos es la base de datos de sustitución que DB2 Query Patroller gestionará y contraseña es la contraseña de la cuenta de usuario administrativo, iwm. ------------------------------------------------------------------------ 36.20 Privilegio EXECUTE perdido para los usuarios de Query Patroller creados con la versión 6 Debido a algunos nuevos procedimientos almacenados (IWM.DQPGROUP, IWM.DQPVALUR, IWM.DQPCALCT e IWM.DQPINJOB) que se han añadido a Query Patroller versión 7, los usuarios existentes creados con Query Patroller versión 6 no conservan el privilegio EXECUTE en estos paquetes. Se ha añadido una aplicación para corregir automáticamente este problema al FixPak 1. Cuando intente utilizar DQP Query Admin para modificar la información de usuario de DQP, no intente eliminar usuarios existentes de la lista de usuarios. ------------------------------------------------------------------------ 36.21 Restricciones de Query Patroller Debido a las restricciones de la plataforma de JVM (Java Virtual Machine), Query Enabler no está soportado en HP-UX y NUMA-Q. Además, Query Patroller Tracker no está soportado en NUMA-Q. Si se necesitan todas las herramientas de cliente de Query Patroller, le recomendamos que utilice una plataforma diferente (por ejemplo Windows NT) para ejecutar estas herramientas frente al servidor de HP-UX o NUMA-Q. ------------------------------------------------------------------------ 36.22 Apéndice B. Resolución de problemas de clientes de DB2 Query Patroller En el Apéndice B, Resolución de problemas de clientes de DB2 Query Patroller, la sección: Problemas comunes de Query Enabler, problema nº 2, el texto del primer punto se sustituye por: Asegúrese de que el valor de la vía de acceso incluya jre. ------------------------------------------------------------------------ Desarrollo de aplicaciones Tabla de contenido parcial * Administrative API Reference o 37.1 db2ArchiveLog (nueva API) + db2ArchiveLog o 37.2 db2ConvMonStream o 37.3 db2DatabasePing (nueva API) + db2DatabasePing - Base de datos Ping o 37.4 db2HistData o 37.5 db2HistoryOpenScan o 37.6 db2XaGetInfo (nueva API) + db2XaGetInfo - Obtener información para el gestor de recursos o 37.7 db2XaListIndTrans (nueva API que reemplaza a sqlxphqr) + db2XaListIndTrans - Listar transacciones dudosas o 37.8 db2GetSnapshot - Obtener instantánea o 37.9 Forget Log Record o 37.10 sqlaintp - Obtener mensaje de error o 37.11 sqlbctcq - Cerrar consulta de contenedor de espacio de tabla o 37.12 sqleseti - Establecer información de cliente o 37.13 sqlubkp - Copia de seguridad de la base de datos o 37.14 sqlureot - Reorganizar tabla o 37.15 sqlurestore - Restaurar base de datos o 37.16 Error de documentación sobre el soporte de memoria compartida ampliada AIX (EXTSHM) o 37.17 SQLFUPD + 37.17.1 locklist o 37.18 SQLEDBDESC * Application Building Guide o 38.1 Actualización disponible o 38.2 Notas adicionales para distribuir procedimientos de SQL compilados * Application Development Guide o 39.1 Actualización disponible o 39.2 Requisitos nuevos para executeQuery y executeUpdate o 39.3 Soporte de controlador JDBC para métodos adicionales o 39.4 o 39.5 IBM OLE DB Provider para DB2 UDB * CLI Guide and Reference o 40.1 Vinculación de programas de utilidad de bases de datos utilizando el Cliente de tiempo de ejecución o 40.2 Utilización de SQL estático en aplicaciones de la CLI o 40.3 Limitaciones de perfil estático JDBC/ODBC/CLI o 40.4 Transformaciones de ADT o 40.5 Capítulo 1. Introducción a la CLI + 40.5.1 Diferencias entre la CLI de DB2 y el SQL incorporado o 40.6 Capítulo 3. Utilización de características avanzadas + 40.6.1 Cómo escribir aplicaciones de varias hebras + 40.6.2 Escritura de una aplicación Unicode de DB2 CLI + 40.6.2.1 Funciones de Unicode + 40.6.2.2 Tipos de datos nuevos y conversiones válidas + 40.6.2.3 Valor de palabra clave/parche obsoleto + 40.6.2.4 Literales en bases de datos Unicode + 40.6.2.5 Nuevas palabras clave de configuración de CLI + 40.6.3 Microsoft Transaction Server (MTS) como Supervisor de transacciones + 40.6.4 Cursores desplazables + 40.6.4.1 Soporte de cursor desplazable para OS/390 en el extremo del servidor + 40.6.5 Utilización de SQL compuesto + 40.6.6 Utilización de procedimientos almacenados + 40.6.6.1 Privilegios para crear y depurar procedimientos SQL y Java almacenados + 40.6.6.2 Escritura de un procedimiento almacenado en CLI + 40.6.6.3 Procedimientos almacenados de CLI y vinculación automática o 40.7 Capítulo 4. Configuración de CLI/ODBC y ejecución de aplicaciones de ejemplo + 40.7.1 Palabras clave de configuración + 40.7.1.1 CURRENTFUNCTIONPATH + 40.7.1.2 SKIPTRACE o 40.8 Capítulo 5. Funciones de CLI de DB2 + 40.8.1 SQLBindFileToParam - Vincular referencia de archivo LOB a parámetro de LOB + 40.8.2 SQLColAttribute -- Devolver un atributo de columna + 40.8.3 SQLGetData - Obtener datos de una columna + 40.8.4 SQLGetInfo - Obtener información general + 40.8.5 SQLGetLength - Recuperar longitud del valor de una serie + 40.8.6 SQLNextResult - Asociar el conjunto de resultados siguiente con otro descriptor de contexto de sentencias + 40.8.6.1 Objetivo + 40.8.6.2 Sintaxis + 40.8.6.3 Argumentos de función + 40.8.6.4 Utilización + 40.8.6.5 Códigos de retorno + 40.8.6.6 Diagnósticos + 40.8.6.7 Restricciones + 40.8.6.8 Referencias + 40.8.7 SQLSetEnvAttr - Establecer un atributo de entorno + 40.8.8 SQLSetStmtAttr -- Establecer opciones relativas a una sentencia o 40.9 Apéndice C. DB2 CLI y ODBC + 40.9.1 Aplicaciones Unicode de ODBC + 40.9.1.1 Aplicaciones Unicode de ODBC frente a aplicaciones no Unicode de ODBC o 40.10 Apéndice D. Funciones escalares ampliadas + 40.10.1 Funciones de fecha y hora o 40.11 Apéndice K. Utilización del recurso de rastreo CLI/ODBC/JDBC de DB2 * Consulta de mensajes o 41.1 Actualización disponible o 41.2 Actualizaciones de mensajes o 41.3 Lectura del texto de mensaje en línea * Consulta de SQL o 42.1 Actualización del manual Consulta de SQL disponible o 42.2 Cómo habilitar las nuevas funciones y procedimientos o 42.3 SET SERVER OPTION - Error de documentación o 42.4 GRANT (Privilegios de tabla, vista o apodo) - Error de documentación o 42.5 Información sobre MQSeries + 42.5.1 Funciones escalares + 42.5.1.1 MQPUBLISH + 42.5.1.2 MQREADCLOB + 42.5.1.3 MQRECEIVECLOB + 42.5.1.4 MQSEND + 42.5.2 Funciones de tabla + 42.5.2.1 MQREADALLCLOB + 42.5.2.2 MQRECEIVEALLCLOB + 42.5.3 Ahora se soportan datos CLOB en funciones de MQSeries o 42.6 Información sobre tipos de datos + 42.6.1 Promoción de tipos de datos + 42.6.2 Difusión entre tipos de datos + 42.6.3 Asignaciones y comparaciones + 42.6.3.1 Asignaciones de serie + 42.6.3.2 Comparaciones de series + 42.6.4 Normas para los tipos de datos de resultado + 42.6.4.1 Series de caracteres y de gráficos en una base de datos Unicode + 42.6.5 Normas para las conversiones de serie + 42.6.6 Expresiones + 42.6.6.1 Con el operador de concatenación + 42.6.7 Predicados o 42.7 Información sobre Unicode + 42.7.1 Funciones escalares y Unicode o 42.8 Compatibilidad del tipo GRAPHIC y DATE/TIME/TIMESTAMP + 42.8.1 Representaciones de serie de los valores de fecha y hora + 42.8.1.1 Series de fecha, series de hora y series de indicación de fecha y hora + 42.8.2 Difusión entre tipos de datos + 42.8.3 Asignaciones y comparaciones + 42.8.4 Asignaciones de fecha y hora + 42.8.5 DATE + 42.8.6 GRAPHIC + 42.8.7 TIME + 42.8.8 TIMESTAMP + 42.8.9 VARGRAPHIC o 42.9 Claves de índice mayores para bases de datos Unicode + 42.9.1 ALTER TABLE + 42.9.2 CREATE INDEX + 42.9.3 CREATE TABLE o 42.10 Sección de notas de la sentencia ALLOCATE CURSOR incorrecta o 42.11 Opciones adicionales de la sentencia GET DIAGNOSTICS + Sentencia GET DIAGNOSTICS o 42.12 ORDER BY en subselecciones + 42.12.1 Selección completa + 42.12.2 Subselección + 42.12.3 Cláusula order by + 42.12.4 Sentencia select + Sentencia SELECT INTO + 42.12.5 Funciones de OLAP (cláusula window order) * Nuevo argumento de entrada para el procedimiento GET_ROUTINE_SAR * Autorización necesaria para la sentencia SET INTEGRITY * Apéndice N. Tablas de excepciones * Actualizaciones de Unicode o 46.1 Introducción + 46.1.1 Bases de datos y aplicaciones Unicode de DB2 + 46.1.2 Actualizaciones de documentación ------------------------------------------------------------------------ Administrative API Reference ------------------------------------------------------------------------ 37.1 db2ArchiveLog (nueva API) db2ArchiveLog Cierra y trunca el archivo de anotaciones cronológicas activo para una base de datos recuperable. Si la salida de usuario está habilitada, emite una petición de archivado. Autorización Uno de los siguientes: * sysadm * sysctrl * sysmaint * dbadm Conexión necesaria Esta API establece automáticamente una conexión con la base de datos especificada. Si ya hay una conexión con la base de datos especificada, la API devolverá un error. Archivo de inclusión de API db2ApiDf.h Sintaxis de API C /* Archivo: db2ApiDf.h */ /* API: Archivar anotación cronológica activa */ SQL_API_RC SQL_API_FN db2ArchiveLog ( db2Uint32 version, void *pDB2ArchiveLogStruct, struct sqlca * pSqlca); typedef struct { char *piDatabaseAlias; char *piUserName; char *piPassword; db2Uint16 iAllNodeFlag; db2Uint16 iNumNodes; SQL_PDB_NODE_TYPE *piNodeList; db2Uint32 iOptions; } db2ArchiveLogStruct Sintaxis de API genérica /* Archivo: db2ApiDf.h */ /* API: Archivar anotación cronológica activa */ SQL_API_RC SQL_API_FN db2gArchiveLog ( db2Uint32 version, void *pDB2ArchiveLogStruct, struct sqlca * pSqlca); typedef struct { db2Uint32 iAliasLen; db2Uint32 iUserNameLen; db2Uint32 iPasswordLen; char *piDatabaseAlias; char *piUserName; char *piPassword; db2Uint16 iAllNodeFlag; db2Uint16 iNumNodes; SQL_PDB_NODE_TYPE *piNodeList; db2Uint32 iOptions; } db2ArchiveLogStruct Parámetros de API version Entrada. Especifica la versión y el nivel de release de la variable que se pasa como segundo parámetro, pDB2ArchiveLogStruct. pDB2ArchiveLogStruct Entrada. Puntero hacia la estructura db2ArchiveLogStruct. pSqlca Salida. Puntero hacia la estructura sqlca. iAliasLen Entrada. Entero no firmado de 4 bytes que representa la longitud en bytes del alias de base de datos. iUserNameLen Entero no firmado de 4 bytes que representa la longitud en bytes del nombre de usuario. Establézcalo en cero si no se utiliza nombre de usuario. iPasswordLen Entrada. Entero no firmado de 4 bytes que representa la longitud en bytes de la contraseña. Establézcalo en cero si no se utiliza contraseña. piDatabaseAlias Entrada. Serie que contiene el alias de base de datos (tal como se ha catalogado en el directorio de bases de datos del sistema) de la base de datos para la que deberá archivarse la anotación cronológica activa. piUserName Entrada. Serie que contiene el nombre de usuario que se utilizará al intentar realizar una conexión. piPassword Entrada. Serie que contiene la contraseña que se utilizará al intentar realizar una conexión. iAllNodeFlag Sólo MPP. Entrada. Distintivo que indica si la operación se debe aplicar a todos los nodos listados en el archivo db2nodes.cfg. Los valores válidos son: DB2ARCHIVELOG_NODE_LIST Aplicar a los nodos de una lista de nodos que se pasa en piNodeList. DB2ARCHIVELOG_ALL_NODES Aplicar a todos los nodos. piNodeList debe ser NULL. Este es el valor por omisión. DB2ARCHIVELOG_ALL_EXCEPT Aplicar a todos los nodos excepto aquellos de la lista de nodos que se ha pasado en piNodeList. iNumNodes Sólo MPP. Entrada. Especifica el número de nodos del conjunto piNodeList. piNodeList Sólo MPP. Entrada. Puntero hacia un conjunto de números de nodo a los que se aplicará la operación archive log. iOptions Entrada. Reservado para su utilización en el futuro. ------------------------------------------------------------------------ 37.2 db2ConvMonStream En las Notas de uso, la estructura del tipo de corriente de datos variable instantánea SQLM_ELM_SUBSECTION debe ser sqlm_subsección. ------------------------------------------------------------------------ 37.3 db2DatabasePing (nueva API) db2DatabasePing - Base de datos Ping Comprueba el tiempo de respuesta en la red de la conectividad subyacente entre un cliente y un servidor de bases de datos. Una aplicación puede utilizar esta API cuando se accede a un servidor de bases de datos principal mediante DB2 Connect directamente o utilizando una pasarela. Autorización Ninguna Conexión necesaria Base de datos Archivo de inclusión de API db2ApiDf.h Sintaxis de API C /* Archivo: db2ApiDf.h */ /* API: Base de datos Ping */ /* ... */ SQL_API_RC SQL_API_FN db2DatabasePing ( db2Uint32 versionNumber, void *pParmStruct, struct sqlca *pSqlca); /* ... */ typedef SQL_STRUCTURE db2DatabasePingStruct { char iDbAlias[SQL_ALIAS_SZ + 1]; db2Uint16 iNumIterations; db2Uint32 *poElapsedTime; } Sintaxis de API genérica /* Archivo: db2ApiDf.h */ /* API: Base de datos Ping */ /* ... */ SQL_API_RC SQL_API_FN db2gDatabasePing ( db2Uint32 versionNumber, void *pParmStruct, struct sqlca *pSqlca); /* ... */ typedef SQL_STRUCTURE db2gDatabasePingStruct { db2Uint16 iDbAliasLength; char iDbAlias[SQL_ALIAS_SZ]; db2Uint16 iNumIterations; db2Uint32 *poElapsedTime; } Parámetros de API versionNumber Entrada. Versión y release del producto DB2 Universal Database o DB2 Connect que utiliza la aplicación. Nota: se debería utilizar la constante db2Version710 o superior para DB2 versión 7.1 o superior. pParmStruct Entrada. Puntero a la estructura db2DatabasePingStruct. iDbAliasLength Entrada. Longitud del nombre de alias de la base de datos. Nota: Este parámetro no se utiliza actualmente. Está reservado para su utilización en el futuro. iDbAlias Entrada. Nombre del alias de la base de datos. Nota: Este parámetro no se utiliza actualmente. Está reservado para su utilización en el futuro. iNumIterations Entrada. Número de iteraciones de peticiones de comprobación. El valor debe estar entre 1 y 32767, ambos inclusive. poElapsedTime Salida. Puntero hacia una matriz de enteros de 32 bits donde el número de elementos es igual a iNumIterations. Todos los elementos de la matriz contendrán el tiempo transcurrido en microsegundos para una iteración de petición de comprobación. Nota: La aplicación es responsable de la asignación de memoria para esta matriz antes de llamar a esta API. pSqlca Salida. Puntero hacia la estructura sqlca. Para obtener más información sobre esta estructura, consulte el manual Administrative API Reference. Notas de utilización Debe existir una conexión a la base de datos antes de llamar a esta API. En caso contrario, se produce un error. También es posible llamar a esta función utilizando el mandato PING. Para obtener una descripción de este mandato, consulte el manual Consulta de mandatos. ------------------------------------------------------------------------ 37.4 db2HistData Deben añadirse las entradas siguientes a la Tabla 11. Campos de la estructura de db2HistData: Nombre de campo Tipo de datos Descripción oOperation char Ver Tabla 12. oOptype char Ver Tabla 13. Se añadirá la tabla siguiente a continuación de la Tabla 11. Tabla 12. Valores de sucesos válidos para oOperation en la estructura de db2HistData Valor Descripción Definición C Definición COBOL/FORTRAN A añadir DB2HISTORY_OP_ADD_TABLESPACE DB2HIST_OP_ADD_TABLESPACE espacio de tabla B copia de DB2HISTORY_OP_BACKUP DB2HIST_OP_BACKUP seguridad C cargar copia DB2HISTORY_OP_LOAD_COPY DB2HIST_OP_LOAD_COPY D tabla DB2HISTORY_OP_DROPPED_TABLE DB2HIST_OP_DROPPED_TABLE descartada F recuperación DB2HISTORY_OP_ROLLFWD DB2HIST_OP_ROLLFWD de avance G reorganizar DB2HISTORY_OP_REORG DB2HIST_OP_REORG tabla L cargar DB2HISTORY_OP_LOAD DB2HIST_OP_LOAD N renombrar DB2HISTORY_OP_REN_TABLESPACE DB2HIST_OP_REN_TABLESPACE espacio de tabla O descartar DB2HISTORY_OP_DROP_TABLESPACE DB2HIST_OP_DROP_TABLESPACE espacio de tabla Q inmovilizar DB2HISTORY_OP_QUIESCE DB2HIST_OP_QUIESCE R restaurar DB2HISTORY_OP_RESTORE DB2HIST_OP_RESTORE S ejecutar DB2HISTORY_OP_RUNSTATS DB2HIST_OP_RUNSTATS estadísticas T modificar DB2HISTORY_OP_ALT_TABLESPACE DB2HIST_OP_ALT_TBS espacio de tabla U descargar DB2HISTORY_OP_UNLOAD DB2HIST_OP_UNLOAD También se añadirá la tabla siguiente: Tabla 13. Valores de oOptype válidos en la estructura db2HistData: oOperation oOptype Descripción Definición C/COBOL/FORTRAN B F Fuera de línea DB2HISTORY_OPTYPE_OFFLINE N En línea DB2HISTORY_OPTYPE_ONLINE I Fuera de línea DB2HISTORY_OPTYPE_INCR_OFFLINE incremental O En línea incremental DB2HISTORY_OPTYPE_INCR_ONLINE D Fuera de línea delta DB2HISTORY_OPTYPE_DELTA_OFFLINE E En línea delta DB2HISTORY_OPTYPE_DELTA_ONLIN F E Fin de anotaciones DB2HISTORY_OPTYPE_EOL cronológicas P Punto en el tiempo DB2HISTORY_OPTYPE_PIT L I Insertar DB2HISTORY_OPTYPE_INSERT R Sustituir DB2HISTORY_OPTYPE_REPLACE Q S Inmovilización DB2HISTORY_OPTYPE_SHARE compartida U Inmovilización DB2HISTORY_OPTYPE_UPDATE actualizada X Inmovilización DB2HISTORY_OPTYPE_EXCL exclusiva Z Restablecer DB2HISTORY_OPTYPE_RESET inmovilización R F Fuera de línea DB2HISTORY_OPTYPE_OFFLINE N En línea DB2HISTORY_OPTYPE_ONLINE I Fuera de línea DB2HISTORY_OPTYPE_INCR_OFFLINE incremental O En línea incremental DB2HISTORY_OPTYPE_INCR_ONLINE T C Añadir contenedores DB2HISTORY_OPTYPE_ADD_CONT R Reequilibrio DB2HISTORY_OPTYPE_REB ------------------------------------------------------------------------ 37.5 db2HistoryOpenScan Se añadirá el valor siguiente al parámetro iCallerAction. DB2HISTORY_LIST_CRT_TABLESPACE Seleccionar sólo los registros CREATE TABLESPACE y DROP TABLESPACE que pasan por los otros filtros. ------------------------------------------------------------------------ 37.6 db2XaGetInfo (nueva API) db2XaGetInfo - Obtener información para el gestor de recursos Extrae información para un gestor de recursos determinado una vez se ha efectuado una llamada xa_open. Autorización Ninguna Conexión necesaria Base de datos Archivo de inclusión de API sqlxa.h Sintaxis de API C /* Archivo: sqlxa.h */ /* API: Obtener información para el gestor de recursos */ /* ... */ SQL_API_RC SQL_API_FN db2XaGetInfo ( db2Uint32 versionNumber, void * pParmStruct, struct sqlca * pSqlca); typedef SQL_STRUCTURE db2XaGetInfoStruct { db2int32 iRmid; struct sqlca oLastSqlca; } db2XaGetInfoStruct; Parámetros de API versionNumber Entrada. Especifica la versión y el nivel de release de la estructura que se pasa como segundo parámetro, pParmStruct. pParmStruct Entrada. Puntero hacia la estructura db2XaGetInfoStruct. pSqlca Salida. Puntero hacia la estructura sqlca. Para obtener más información sobre esta estructura, consulte el manual Administrative API Reference. iRmid Entrada. Especifica el gestor de recursos para el cual se necesita información. oLastSqlca Salida. Contiene la sqlca para la última llamada de API XA. Nota: Sólo se puede recuperar la sqlca que ha resultado de la última API XA que ha fallado. ------------------------------------------------------------------------ 37.7 db2XaListIndTrans (nueva API que reemplaza a sqlxphqr) db2XaListIndTrans - Listar transacciones dudosas Proporciona una lista de todas las transacciones dudosas para la base de datos actualmente conectada. Ámbito Esta API sólo afecta al nodo en el que se emite. Autorización Una de las siguientes: * sysadm * dbadm Conexión necesaria Base de datos Archivo de inclusión de API db2ApiDf.h Sintaxis de API C /* Archivo: db2ApiDf.h */ /* API: Listar transacciones dudosas */ /* ... */ SQL_API_RC SQL_API_FN db2XaListIndTrans ( db2Uint32 versionNumber, void * pParmStruct, struct sqlca * pSqlca); typedef SQL_STRUCTURE db2XaListIndTransStruct { db2XaRecoverStruct * piIndoubtData; db2Uint32 iIndoubtDataLen; db2Uint32 oNumIndoubtsReturned; db2Uint32 oNumIndoubtsTotal; db2Uint32 oReqBufferLen; } db2XaListIndTransStruct; typedef SQL_STRUCTURE db2XaRecoverStruct { sqluint32 timestamp; SQLXA_XID xid; char dbalias[SQLXA_DBNAME_SZ]; char applid[SQLXA_APPLID_SZ]; char sequence_no[SQLXA_SEQ_SZ]; char auth_id[SQL_USERID_SZ]; char log_full; char connected; char indoubt_status; char originator; char reserved[8]; } db2XaRecoverStruct; Parámetros de API versionNumber Entrada. Especifica la versión y el nivel de release de la estructura que se pasa como segundo parámetro, pParmStruct. pParmStruct Entrada. Puntero a la estructura db2XaListIndTransStruct. pSqlca Salida. Puntero hacia la estructura sqlca. Para obtener más información sobre esta estructura, consulte el manual Administrative API Reference. piIndoubtData Entrada. Puntero hacia el almacenamiento intermedio suministrado de la aplicación donde se devolverán datos dudosos. Los datos dudosos están en formato db2XaRecoverStruct. La aplicación puede atravesar la lista de transacciones dudosas utilizando el tamaño de la estructura db2XaRecoverStruct, empezando en la dirección proporcionada por este parámetro. Si el valor es NULL, DB2 calculará el tamaño del almacenamiento intermedio necesario y devolverá este valor en oReqBufferLen. oNumIndoubtsTotal contendrá el número total de transacciones dudosas. La aplicación puede asignar el tamaño de almacenamiento intermedio necesario y volver a emitir la API. oNumIndoubtsReturned Salida. El número de registros de transacciones dudosas que se devuelven en el almacenamiento intermedio especificado por pIndoubtData. oNumIndoubtsTotal Salida. El Número total de registros de transacciones dudosas disponibles en el momento de la invocación de API. Si el almacenamiento intermedio piIndoubtData es demasiado pequeño para contener todos los registros, oNumIndoubtsTotal será mayor que el total para oNumIndoubtsReturned. La aplicación puede volver a emitir la API a fin de obtener todos los registros. Nota: Este número puede cambiar entre invocaciones de la API como resultado de la resincronización automática o heurística de transacciones dudosas o como resultado de otras transacciones que pasan al estado de dudosas. oReqBufferLen Salida. Longitud de almacenamiento intermedio necesario para contener todos los registros de transacciones dudosas en el momento de la invocación de la API. La aplicación puede utilizar este valor para determinar el tamaño de almacenamiento intermedio necesario llamando a la API con pIndoubtData establecido en NULL. A continuación, este valor se puede utilizar para asignar el almacenamiento intermedio necesario y la API se puede emitir con pIndoubtData establecido en la dirección del almacenamiento intermedio asignado. Nota: El tamaño de almacenamiento intermedio necesario puede cambiar entre invocaciones de la API como resultado de la resincronización automática o heurística de transacciones dudosas o como resultado de otras transacciones que pasan al estado de dudosas. La aplicación puede asignar un almacenamiento intermedio más grande para ajustarse a ello. timestamp Salida. Especifica la hora en que la transacción ha pasado al estado de dudoso. xid Salida. Especifica el identificador XA asignado por el gestor de transacciones para identificar exclusivamente una transacción global. dbalias Salida. Especifica el alias de la base de datos en la que se ha encontrado la transacción dudosa. applid Salida. Especifica el identificador de aplicación asignado por el gestor de bases de datos para esta transacción. sequence_no Salida. Especifica el número de secuencia asignado por el gestor de bases de datos como una extensión de applid. auth_id Salida. Especifica el ID de autorización del usuario que ha ejecutado la transacción. log_full Salida. Indica si la transacción ha causado o no una condición de anotación cronológica completa. Los valores válidos son: SQLXA_TRUE Esta transacción dudosa ha causado una condición de anotación cronológica completa. SQLXA_FALSE Esta transacción dudosa no ha causado una condición de anotación cronológica completa. connected Salida. Indica si la aplicación está o no conectada. Los valores válidos son: SQLXA_TRUE La transacción está en un proceso de punto de sincronismo normal y está esperando la segunda fase de la confirmación en dos fases. SQLXA_FALSE La transacción quedó en estado dudoso en una anomalía anterior y ahora espera resincronización desde el gestor de bases de datos. indoubt_status Salida. Indica el estado de esta transacción dudosa. Los valores válidos son: SQLXA_TS_PREP La transacción está preparada. El parámetro conectado se puede utilizar para determinar si la transacción espera la segunda fase de un proceso de confirmación normal o si se ha producido un error y es necesario resincronizar con el gestor de transacciones. SQLXA_TS_HCOM La transacción se ha confirmado heurísticamente. SQLXA_TS_HROL La transacción se ha retrotraído heurísticamente. SQLXA_TS_MACK Falta el reconocimiento de confirmación desde un nodo de una base de datos particionada para la transacción. SQLXA_TS_END La transacción ha finalizado en esta base de datos. Esta transacción se puede reactivar, confirmar o retrotraer más adelante. También es posible que el gestor de transacciones haya encontrado un error y la transacción no se completará. Si éste es el caso, esta transacción necesita acciones heurísticas dado que puede estar reteniendo bloqueos e impedir que otras aplicaciones accedan a los datos. Notas de utilización Una aplicación típica realizará los pasos siguientes después de establecer la conexión actual con la base de datos o con el nodo coordinador de bases de datos particionadas: 1. Llame a db2XaListIndTrans con piIndoubtData establecido en NULL. Esta acción devolverá valores en oReqBufferLen y oNumIndoubtsTotal. 2. Utilice el valor que se devuelve en oReqBufferLen para asignar un almacenamiento intermedio. Es posible que este almacenamiento intermedio no sea suficientemente grande si existen transacciones dudosas adicionales debido a la invocación inicial de esta API para obtener oReqBufferLen. La aplicación puede proporcionar un almacenamiento intermedio más grande que oReqBufferLen. 3. Determine si se han obtenido todos los registros de transacciones dudosas. Puede llevarlo a cabo comparando oNumIndoubtsReturned con oNumIndoubtTotal. Si oNumIndoubtsTotal es mayor que oNumIndoubtsReturned, la aplicación puede repetir los pasos anteriores. Consulte también "sqlxhfrg - Olvidar estado de transacción", "sqlxphcm - Confirmar una transacción dudosa" y "sqlxphrl - Retrotraer una transacción dudosa" en el manual Administrative API Reference. ------------------------------------------------------------------------ 37.8 db2GetSnapshot - Obtener instantánea La sintaxis para la API db2GetSnapshot debe ser la siguiente: int db2GetSnapshot( unsigned char version; db2GetSnapshotData *data, struct sqlca *sqlca); Los parámetros descritos en los datos son: typedef struct db2GetSnapshotData{ sqlma *piSqlmaData; sqlm_collected *poCollectedData void *poBuffer; db2uint32 iVersion; db2int32 iBufferSize; db2uint8 iStoreResult; db2uint16 iNodeNumber; db2uint32 *poOutputFormat; }db2GetSnapshotData; ------------------------------------------------------------------------ 37.9 Forget Log Record La siguiente información se añadirá al Apéndice F después de la sección de preparación de subordinado MPP. Este registro de anotación cronológica se graba después de una retrotracción de transacciones dudosas o tras una confirmación de una confirmación en dos fases. El registro de anotación cronológica se graba para marcar el final de la transacción y libera los recursos de anotación cronológica mantenidos. Para que se olvide la transacción, debe estar en estado completado heurísticamente. Tabla 9. Estructura de Forget Log Record Descripción Tipo Offset (Bytes) Log header LogManagerLogRecordHeader 0(20) time sqluint64 20(8) Longitud total: 28 bytes ------------------------------------------------------------------------ 37.10 sqlaintp - Obtener mensaje de error La nota de uso siguiente debe añadirse a la descripción de esta API: En una aplicación de múltiples hebras, se debe conectar sqlaintp a un contexto válido; de lo contrario, el texto del mensaje para SQLCODE -1445 no se podrá obtener. ------------------------------------------------------------------------ 37.11 sqlbctcq - Cerrar consulta de contenedor de espacio de tabla La carga no es un nivel de autorización válido para esta API. ------------------------------------------------------------------------ 37.12 sqleseti - Establecer información de cliente Los registros especiales de SQL también puede acceder a los valores de datos proporcionados con la API. Los valores contenidos en estos registros se almacenan en la página de códigos de la base de datos. Los valores de datos proporcionados con esta API se convierten a la página de códigos de la base de datos antes de almacenarlos en los registros especiales. Cualquier valor de datos que supere el tamaño máximo soportado después de su conversión a la página de códigos de la base de datos, se truncará antes de almacenarlo en el servidor. Los registros especiales devolverán estos valores truncados. Los valores de datos originales también se almacenarán en el servidor y no se convertirán a la página de códigos de la base de datos. Se pueden devolver los valores no convertidos invocando a la API sqleqryi. ------------------------------------------------------------------------ 37.13 sqlubkp - Copia de seguridad de la base de datos Para el parámetro BackupType, el valor SQLUB_FULL se sustituirá por SQLUB_DB. Se realizará una copia de seguridad de todos los espacios de tabla de la base de datos. Para dar soporte a la nueva funcionalidad de copia de seguridad incremental, también se añadirán los parámetros SQLUB_INCREMENTAL y SQLUB_DELTA. Una imagen de copia de seguridad incremental es una copia de todos los datos de base de datos que han cambiado desde la copia de seguridad completa más reciente que ha sido satisfactoria. Una imagen de copia de seguridad delta es una copia de todos los datos de base de datos que han cambiado desde la copia de seguridad más reciente de cualquier tipo que ha sido satisfactoria. ------------------------------------------------------------------------ 37.14 sqlureot - Reorganizar tabla Se añadirá la frase siguiente a las Notas sobre el uso: REORGANIZE TABLE no puede utilizar un índice que está basado en una extensión de índice. ------------------------------------------------------------------------ 37.15 sqlurestore - Restaurar base de datos Para el parámetro RestoreType, el valor SQLUD_FULL se sustituirá por SQLUD_DB. Se realizará una restauración de todos los espacios de tabla de la base de datos. Esto se ejecutará fuera de línea. Para dar soporte a la nueva funcionalidad de restauración incremental, también se añadirá el parámetro SQLUD_INCREMENTAL. Una imagen de copia de seguridad incremental es una copia de todos los datos de base de datos que han cambiado desde la copia de seguridad completa más reciente que ha sido satisfactoria. ------------------------------------------------------------------------ 37.16 Error de documentación sobre el soporte de memoria compartida ampliada AIX (EXTSHM) En el "Apéndice E. Aplicaciones enhebradas con acceso simultáneo", la Nota 2 debería expresar en este momento: 2. Por omisión, AIX no permite que las aplicaciones de 32 bits conecten más de 11 segmentos de memoria compartida, de los que se puede utilizar un máximo de 10 para conexiones DB2 locales. Para utilizar EXTSHM con DB2, haga lo siguiente: En sesiones cliente: export EXTSHM=ON Cuando inicie el servidor DB2: export EXTSHM=ON db2set DB2ENVLIST=EXTSHM db2start En EEE, añada también las siguientes líneas a sqllib/db2profile: EXTSHM=ON export EXTSHM ------------------------------------------------------------------------ 37.17 SQLFUPD 37.17.1 locklist El nombre del símbolo ha cambiado de SQLF_DBTN_LOCKLIST a SQLF_DBTN_LOCK_LIST. El parámetro locklist ha cambiado de SMALLINT a un INTEGER (entero) no firmado de 64 bits. Debe realizarse la suma siguiente en la tabla de Parámetros de configuración de base de datos actualizables. Nombre de Símbolo Valor del símbolo Tipo de datos parámetro locklist SQLF_DBTN_LOCK 704 Uint64 _LIST El nuevo valor máximo para este parámetro es 524 288. Adicionalmente, en el "Capítulo 3. Estructuras de datos", la Tabla 53. Parámetros de configuración de la base de datos actualizable lista incorrectamente el valor de señal para dbheap como 701. El valor correcto es 58. ------------------------------------------------------------------------ 37.18 SQLEDBDESC Se añadirán dos valores a la lista de valores válidos para SQLDBCSS (se definen en sqlenv). Son: SQL_CS_SYSTEM_NLSCHAR Orden de clasificación del sistema que utiliza la versión NLS de rutinas de comparación para tipos de caracteres. SQL_CS_USER_NLSCHAR Orden de clasificación del usuario que utiliza la versión NLS de rutinas de comparación para tipos de caracteres. ------------------------------------------------------------------------ Application Building Guide ------------------------------------------------------------------------ 38.1 Actualización disponible El manual Application Building Guide se ha actualizado como parte del FixPak 4. El último PDF está disponible para bajarlo en línea desde http://www.ibm.com/software/data/db2/udb/winos2unix/support. Toda la documentación actualizada también está disponible en CD. Se puede solicitar dicho CD a través del servicio de DB2 y utilizando el número de PTF U478862. Puede encontrar información sobre cómo entrar en contacto con el Servicio de DB2 en http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/help.d2w/report . ------------------------------------------------------------------------ 38.2 Notas adicionales para distribuir procedimientos de SQL compilados En sistemas UNIX, asegúrese de que el propietario de instancia (es decir, el usuario bajo el que se ejecuta el motor de DB2) y el propietario del archivo $DB2PATH/adm/.fenced pertenecen al mismo grupo primario. Alternativamente, cada uno de estos dos usuarios debe pertenecer al grupo primario del otro. Si no se puede ejecutar satisfactoriamente una operación GET ROUTINE o PUT ROUTINE (o su procedimiento correspondiente), ésta devolverá siempre un error (SQLSTATE 38000), junto con texto de diagnóstico que proporciona información acerca de la causa de la anomalía. Por ejemplo, si el nombre de procedimiento proporcionado a GET ROUTINE no identifica un procedimiento de SQL, se devolverá el texto de diagnóstico "100, 02000", donde "100" y "02000" son el SQLCODE y SQLSTATE, respectivamente, que identifican la causa del problema. En este ejemplo SQLCODE y SQLSTATE indican que la fila especificada para el nombre de procedimiento proporcionado no se ha encontrado en las tablas de catálogo. ------------------------------------------------------------------------ Application Development Guide ------------------------------------------------------------------------ 39.1 Actualización disponible El manual Application Development Guide se ha actualizado como parte del FixPak 4. El último PDF está disponible para bajarlo en línea desde http://www.ibm.com/software/data/db2/udb/winos2unix/support. La información contenida en estas notas es adicional a la consulta actualizada. Toda la documentación actualizada también está disponible en CD. Se puede solicitar dicho CD a través del servicio de DB2 y utilizando el número de PTF U478862. Puede encontrar información sobre cómo entrar en contacto con el Servicio de DB2 en http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/help.d2w/report . ------------------------------------------------------------------------ 39.2 Requisitos nuevos para executeQuery y executeUpdate Para cumplir con el estándar J2EE 1.3, el controlador JDBC de DB2, en la fecha del FixPak 5, ya no permite el uso de una sentencia de no consulta con executeQuery ni de una sentencia de consulta con executeUpdate. Si se intenta utilizar una sentencia de este tipo, se producirá una de las excepciones siguientes: * CLI0637E QUERY no se puede encontrar, * CLI0637E UPDATE no se puede encontrar. Si el tipo de sentencia es desconocido, utilice execute(). ------------------------------------------------------------------------ 39.3 Soporte de controlador JDBC para métodos adicionales CallableStatement.getBlob() y CallableStatement.getClob() El controlador JDBC soporta ahora los métodos CallableStatement.getBlob() y CallableStatement.getClob(). Dado que DB2 no soporta localizadores LOB en parámetros de procedimiento almacenado, deberá asignar suficiente memoria de sistema para que contenga el tamaño máximo posible de los datos LOB, el valor especificado en CREATE PROCEDURE. Se producirá una excepción de falta de memoria si no hay suficiente memoria. Este soporte no está disponible para procedimientos almacenados no catalogados. Statement.setFetchSize(int rows) y ResultSet.setFetchSize(int rows) Ahora el controlador JDBC soporta Statement.setFetchSize(int rows) y ResultSet.setFetchSize(int rows). Estos métodos pueden utilizarse actualmente para mejorar el rendimiento de ResultSet con el controlador de Tipo-3 (o de "red"). ------------------------------------------------------------------------ 39.4 ------------------------------------------------------------------------ 39.5 IBM OLE DB Provider para DB2 UDB Para obtener más información sobre la utilización de IBM OLE DB Provider para DB2, consulte http://www.ibm.com/software/data/db2/udb/ad/v71/oledb.html. ------------------------------------------------------------------------ CLI Guide and Reference ------------------------------------------------------------------------ 40.1 Vinculación de programas de utilidad de bases de datos utilizando el Cliente de tiempo de ejecución El Cliente de tiempo de ejecución no se puede utilizar para vincular los programas de utilidad de bases de datos (import, export, reorg, el procesador de línea de mandatos) ni los archivos de vinculación de CLI de DB2 para cada base de datos antes de utilizarlos con la base de datos. En su lugar se debe utilizar DB2 Administration Client o DB2 Application Development Client. Debe vincular estos programas de utilidad de bases de datos y los archivos de vinculación de la CLI de DB2 a cada base de datos para poderlos utilizar con la base de datos. En un entorno de red, si utilizan varios clientes que se ejecutan en sistemas operativos distintos, o que corresponden a versiones o niveles de servicio de DB2 distintos, debe vincular los programas de utilidad una vez para cada combinación de sistema operativo y versión de DB2. ------------------------------------------------------------------------ 40.2 Utilización de SQL estático en aplicaciones de la CLI Para obtener más información sobre cómo utilizar SQL estático en aplicaciones de la CLI, consulte la página Web en: http://www.ibm.com/software/data/db2/udb/staticcli/ ------------------------------------------------------------------------ 40.3 Limitaciones de perfil estático JDBC/ODBC/CLI El perfil estático JDBC/ODBC/CLI actualmente está destinado a aplicaciones sencillas. No está pensado para aplicaciones complejas con muchos componentes funcionales y una lógica compleja de programa durante la ejecución. Una sentencia SQL debe haberse ejecutado satisfactoriamente para que se pueda capturar en una sesión de perfil. En una sesión de comparación de sentencias, las sentencias dinámicas que no coincidan se continuarán ejecutando como llamadas JDBC/ODBC/CLI dinámicas. Una sentencia SQL debe ser idéntica carácter por carácter con la que se ha capturado y vinculado para ser una candidata válida para la comparación de sentencias. Los espacios son significativos: por ejemplo, "COL = 1" se considera diferente de "COL=1". Utilice marcadores de parámetros en lugar de literales para mejorar los aciertos de comparación. Cuando se ejecuta una aplicación con sentencias de SQL estático previamente vinculadas, los registros dinámicos que controlan el funcionamiento de las sentencias dinámicas no tendrán ningún efecto sobre las sentencias que se conviertan a estáticas. Si una aplicación emite sentencias DDL para objetos a los que se hace referencia en sentencias DML subsiguientes, encontrará todas estas sentencias en el archivo de captura. La Herramienta de vinculación de perfil estático JDBC/ODBC/CLI intentará vincularlas. El intento de vinculación será satisfactorio con los DBMS que soporten la opción de vinculación VALIDATE(RUN), pero fallará con las que no la soporten. En este caso, la aplicación no debe utilizar Perfil estático. El Administrador de bases de datos puede editar el archivo de captura para añadir, cambiar o eliminar sentencias de SQL, basándose en los requisitos específicos de la aplicación. ------------------------------------------------------------------------ 40.4 Transformaciones de ADT La información siguiente sustituye a la información existente en la publicación. * Hay un nuevo tipo de descriptor (smallint) SQL_DESC_USER_DEFINED_TYPE_CODE, con los valores: SQL_TYPE_BASE 0 (no es un USER_DEFINED_TYPE) SQL_TYPE_DISTINCT 1 SQL_TYPE_STRUCTURED 2 Este valor se puede consultar con SQLColAttribute o SQLGetDescField (sólo IRD). Se añaden los atributos siguientes para obtener los nombres de tipo reales: SQL_DESC_REFERENCE_TYPE SQL_DESC_STRUCTURED_TYPE SQL_DESC_USER_TYPE Los valores anteriores se pueden consultar utilizando SQLColAttribute o SQLGetDescField (sólo IRD). * Añadir SQL_DESC_BASE_TYPE en caso de que la aplicación lo necesite. Por ejemplo, es posible que la aplicación no reconozca el tipo estructurado pero pretenda captarlo o insertarlo y dejar que otro código se ocupe de los detalles. * Añadir un nuevo atributo de conexión llamado SQL_ATTR_TRANSFORM_GROUP para permitir que una aplicación establezca el grupo de transformaciones (en lugar de utilizar la sentencia "SET CURRENT DEFAULT TRANSFORM GROUP" de SQL). * Añadir una nueva sentencia/atributo de conexión llamado SQL_ATTR_RETURN_USER_DEFINED_TYPES que se pueda establecer o consultar utilizando SQLSetConnectAttr, que hace que la CLI devuelva el valor SQL_DESC_USER_DEFINED_TYPE_CODE como Tipo de SQL válido. Este atributo es necesario antes de utilizar cualquiera de las transformaciones. o Por omisión, el atributo está desactivado y hace que se devuelva la información de tipo base como tipo de SQL. o Si está habilitado, se devolverá SQL_DESC_USER_DEFINED_TYPE_CODE como SQL_TYPE. Es de esperar que la aplicación compruebe SQL_DESC_USER_DEFINED_TYPE_CODE y, a continuación, recupere el nombre de tipo apropiado. Esto estará disponible para SQLColAttribute, SQLDescribeCol y SQLGetDescField. * SQLBindParameter no produce un error cuando se vincula SQL_C_DEFAULT, puesto que no hay código que permita que SQLBindParameter especifique el tipo SQL_USER_DEFINED_TYPE. Se utilizarán los tipos de C por omisión estándares, en base al tipo de SQL base emitido al servidor. Por ejemplo: sqlrc = SQLBindParameter (hstmt, 2, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_VARCHAR, 30, 0, &c2, 30, NULL); ------------------------------------------------------------------------ 40.5 Capítulo 1. Introducción a la CLI 40.5.1 Diferencias entre la CLI de DB2 y el SQL incorporado Haga caso omiso del tercer elemento a contar desde el final de la lista del apartado "Ventajas de utilizar la CLI de DB2". La información correcta es la siguiente: La CLI de DB2 brinda la posibilidad de recuperar varias filas y conjuntos de resultados generados por un procedimiento almacenado que reside en un servidor DB2 Universal Database, en un servidor DB2 para MVS/ESA (Versión 5 o posteriores) o en un servidor OS/400 (Versión 5 o posteriores). Para que se soporte la recuperación de varios conjuntos de resultados en OS/400, es precisa la aplicación del PTF (Arreglo temporal del programa) SI01761 al servidor. Para asegurarse de que se ha aplicado dicho PTF, póngase en contacto con el administrador del sistema OS/400. ------------------------------------------------------------------------ 40.6 Capítulo 3. Utilización de características avanzadas 40.6.1 Cómo escribir aplicaciones de varias hebras Se debe añadir lo siguiente al final de la sección "Aplicaciones mixtas de varias hebras": Nota: Se recomienda no utilizar el tamaño de pila por omisión, sino aumentar el tamaño de pila a al menos 256.000. DB2 necesita un tamaño mínimo de pila de 256.000 cuando llama a una función de DB2. Por lo tanto, debe asegurarse de asignar un tamaño total de pila suficientemente grande para la aplicación y los requisitos mínimos para una llamada a una función de DB2. 40.6.2 Escritura de una aplicación Unicode de DB2 CLI A continuación se muestra una sección nueva para este capítulo: Hay dos áreas principales de soporte para las aplicaciones Unicode de DB2 CLI: 1. La incorporación de un conjunto de funciones que puedan aceptar argumentos de serie Unicode en vez de los argumentos de serie ANSI. 2. La adición de tipos de datos C y SQL nuevos para describir datos Unicode. Las secciones siguientes proporcionan más información sobre ambas áreas. Para que una aplicación se considere una aplicación Unicode, la aplicación debe establecer el atributo de conexión SQL_ATTR_ANSI_APP en SQL_AA_FALSE, antes de efectuar una conexión. Esto asegurará que la CLI utilice Unicode como el método preferido de comunicaciones entre ella misma y la base de datos. 40.6.2.1 Funciones de Unicode Las funciones de API ODBC tienen sufijos para indicar el formato de los argumentos de serie: las que aceptan unicode terminan en W; las que aceptan ANSI no tienen sufijo. Nota: ODBC añade funciones equivalentes con nombres terminan en A, pero la CLI de DB2 no las utiliza. A continuación se proporciona una lista de las funciones que están disponibles en la CLI de DB2, que tienen ambas versiones ANSI y Unicode. SQLBrowseConnect SQLForeignKeys SQLPrimaryKeys SQLColAttribute SQLGetConnectAttr SQLProcedureColumns SQLColAttributes SQLGetConnectOption SQLProcedures SQLColumnPrivileges SQLGetCursorName SQLSetConnectAttr SQLColumns SQLGetDescField SQLSetConnectOption SQLConnect SQLGetDescRec SQLSetCursorName SQLDataSources SQLGetDiagField SQLSetDescField SQLDescribeCol SQLGetDiagRec SQLSetStmtAttr SQLDriverConnect SQLGetInfo SQLSpecialColumns SQLGetStmtAttr SQLStatistics SQLError SQLNativeSQL SQLTablePrivileges SQLExecDirect SQLPrepare SQLTables Las funciones Unicode cuyos argumentos tienen siempre la longitud de las series interpretan estos argumentos como la cuenta de caracteres. Las funciones que devuelven información de longitud para datos de servidor también describen el tamaño y la precisión de la pantalla en términos de caracteres. Cuando la longitud (tamaño de transferencia de los datos) puede hacer referencia a datos de tipo serie o de tipo no serie, la longitud se interpreta como una cuenta de bytes. Por ejemplo, SQLGetInfoW siempre adoptará la longitud como número de bytes, pero SQLExecDirectW utilizará número de caracteres. La CLI devolverá datos de los conjuntos de resultados en Unicode o ANSI, en función de la vinculación de la aplicación. Si una aplicación se vincula a SQL_C_CHAR, el controlador convertirá datos SQL_WCHAR en SQL_CHAR. Un gestor de controladores ODBC, si se utiliza, correlaciona SQL_C_WCHAR con SQL_C_CHAR para controladores ANSI pero no realiza ninguna correlación para controladores Unicode. 40.6.2.2 Tipos de datos nuevos y conversiones válidas Se han añadido tipos de datos definidos addotopmal ODBC y CLI para adaptar las bases de datos Unicode. Estos tipos complementan el conjunto de tipos C y SQL que ya existen. El nuevo tipo C, SQL_C_WCHAR, indica que el almacenamiento intermedio C contiene datos UCS-2 en formato endian nativo. Los nuevos tipos SQL, SQL_WCHAR, SQL_WVARCHAR y SQL_WLONGVARCHAR, indican que un marcador de parámetro o columna determinado contiene datos Unicode. Para bases de datos DB2 Unicode, las columnas gráficas se describirán utilizando los tipos nuevos. Tabla 10. Conversiones de datos soportadas S S Q Q L S S L _ Q Q _ C L L C S S _ _ _ _ Q Q T C C D S L L Y _ _ B S Q S _ _ P S S C B C S Q S S L S Q C C E Q Q L L L Q L S Q S Q _ Q L _ _ _ L L O O O L _ Q L Q L C L _ T T T _ S _ B B B _ C L _ L _ _ _ C Y Y I C Q C _ _ _ C _ _ C _ C T C _ P P M _ L _ L L L _ N C _ C _ I _ D E E E B _ D O O O B U _ W _ S N F O _ _ S I C B C C C I M C C L H Y L U D T T N _ C A A A G E H H O O I O B A I A A B H T T T I R A A N R N A L T M M R I A O O O N I Tipo de datos SQL R R G T T T E E E P Y T R R R R T C BLOB X X D X CHAR D X X X X X X X X X X X X X CLOB D X X X DATE X X D X DBCLOB X X D X DECIMAL D X X X X X X X X X X DOUBLE X X X X X X D X X X FLOAT X X X X X X D X X X GRAPHIC X X D (No Unicode) GRAPHIC X X X X X X X X X X X X D X (Unicode) INTEGER X X D X X X X X X X LONG D X X VARCHAR LONG X X X D VARGRAPHIC (No Unicode) LONG X X X D VARGRAPHIC (Unicode) NUMERIC D X X X X X X X X REAL X X X X X D X X X SMALLINT X X X D X X X X X X BIGINT X X X X X X X X X D X TIME X X D X TIMESTAMP X X X X D VARCHAR D X X X X X X X X X X X X X VARGRAPHIC X X D (No Unicode) VARGRAPHIC X X X X X X X X X X X X D X (Unicode) Nota: D La conversión está soportada. Este es el valor por omisión para el tipo de datos SQL. X Todos los DBMS de IBM dan soporte a la conversión. blanco Ningún DBMS de IBM da soporte a la conversión. o Los datos no se convierten en tipos de Localizador de LOB, en vez de eso, los localizadores representan un valor de datos, para obtener más información consulte Utilización de objetos grandes. o SQL_C_NUMERIC sólo está disponible en sistemas operativos Windows de 32 bits. 40.6.2.3 Valor de palabra clave/parche obsoleto Antes de que se diera soporte a las aplicaciones Unicode, podía conseguirse que las aplicaciones que se habían escrito para que funcionaran con datos de tipo carácter de un solo byte funcionaran con datos gráficos de doble byte por medio de una serie de palabras clave de archivo cli ini, como por ejemplo GRAPHIC=1,2 ó 3, Patch2=7. Estas soluciones temporales presentaban los datos gráficos como datos de tipo carácter y, asimismo afectaban a la longitud comunicada de los datos. Dichas palabras clave ya no son necesarias para las aplicaciones Unicode y no deberían utilizarse debido al riesgo de los efectos colaterales potenciales. Si no se sabe si una determinada aplicación es una aplicación Unicode, le recomendamos que pruebe sin ninguna de las palabras clave que afectan al manejo de datos gráficos. 40.6.2.4 Literales en bases de datos Unicode En bases de datos no Unicode, los datos de las columnas LONG VARGRAPHIC y LONG VARCHAR no pueden compararse. Los datos de las columnas GRAPHIC/VARGRAPHIC y CHAR/VARCHAR sólo puede compararse, o asignarse los unos a los otros, utilizando funciones cast explícitas, ya que no existe soporte de conversión de páginas de códigos implícita. Esto incluye a los literales GRAPHIC/VARGRAPHIC y CHAR/VARCHAR en los que un literal GRAPHIC/VARGRAPHIC se diferencia de un literal CHAR/VARCHAR por medio de un prefijo G. Para bases de datos Unicode, no se necesita la difusión entre literales GRAPHIC/VARGRAPHIC y CHAR/VARCHAR. Tampoco se necesita un prefijo G delante de un literal GRAPHIC/VARGRAPHIC. Se producirán conversiones implícitas, siempre que como mínimo uno de los argumentos sea un literal. Esto permite que los literales con o sin el prefijo G se utilicen dentro de las sentencias que utilizan SQLPrepareW() o SQLExecDirect(). Los literales para LONG VARGRAPHIC deben tener el prefijo G. Para obtener más información, consulte el apartado "Difusión entre tipos de datos" del "Capítulo 3. Elementos de lenguaje" del manual Consulta de SQL. 40.6.2.5 Nuevas palabras clave de configuración de CLI Se han añadido las tres palabras clave siguientes para evitar exceso de carga cuando las aplicaciones Unicode se conecten a una base de datos. 1. DisableUnicode Descripción de la palabra clave: Inhabilita el soporte subyacente de Unicode. Sintaxis de las palabras clave de db2cli.ini: DisableUnicode = 0 | 1 Valor por omisión: 0 (falso) Pestaña Valores de CLI/ODBC de DB2: Esta palabra clave no puede establecerse utilizando el cuaderno Valores de CLI/ODBC. Debe modificarse directamente el archivo db2cli.ini para utilizar esta palabra clave. Notas de uso: Una vez habilitado el soporte de Unicode, y si una aplicación Unicode la llama, la CLI intentará conectarse a la base de datos utilizando la mejor página de códigos de cliente posible, para asegurarse de que no se produzca una pérdida de datos innecesaria debido a la conversión de página de códigos. Es posible que esto prolongue el tiempo de conexión debido al intercambio de páginas de códigos, o que ocasione en el cliente conversiones de páginas de códigos que no se producían antes de añadir el soporte. Si esta palabra clave se establece en True (Verdadero) (1), todos los datos Unicode se convertirán a la página de códigos local de la aplicación antes de que se envíen los datos al servidor. Es posible que esto provoque una pérdida de datos que no puedan representarse en la página de códigos local. 2. ConnectCodepage Descripción de la palabra clave: Especifica una página de códigos específica que deberá utilizarse al conectarse a la fuente de datos para evitar que se produzca una actividad general de conexión extra. Sintaxis de las palabras clave de db2cli.ini: ConnectCodepage = 0 | 1 | Valor por omisión: 0 Pestaña Valores de CLI/ODBC de DB2: Esta palabra clave no puede establecerse utilizando el cuaderno Valores de CLI/ODBC. Para utilizar esta palabra clave, el archivo db2cli.ini debe modificarse directamente. Notas de uso: Las aplicaciones no Unicode siempre se conectan a la base de datos utilizando la página de códigos local de la aplicación o el valor de entorno DB2Codepage. Por omisión, la CLI se asegurará de que las aplicaciones Unicode se conecten a bases de datos Unicode utilizando las páginas de códigos UTF-8 y UCS-2. El valor por omisión para conectar a bases de datos no unicode es utilizar la página de códigos de las bases de datos si el servidor de bases de datos ejecuta DB2 para Windows, DB2 para Unix o DB2 para OS/2. Esto asegura de que no se produzca ninguna pérdida de datos innecesaria debido a la conversión de página de códigos. Esta palabra clave permite al usuario especificar la página de códigos de la base de datos cuando se conecta a una base de datos que no es Unicode, a fin de evitar que se produzca una actividad general extra en la conexión. La especificación de un valor de 1 hace que SQLDriverConnect() devuelva el valor correcto en la serie de conexión de salida, para que el valor pueda utilizarse en llamadas SQLDriverConnect() futuras. 3. UnicodeServer Descripción de la palabra clave: Indica que la fuente de datos es un servidor Unicode. Equivale a establecer ConnectCodepage=1208. Sintaxis de las palabras clave de db2cli.ini: UnicodeServer = 0 | 1 Valor por omisión: 0 Pestaña Valores de CLI/ODBC de DB2: Esta palabra clave no puede establecerse utilizando el cuaderno Valores de CLI/ODBC. Debe modificarse directamente el archivo db2cli.ini para utilizar esta palabra clave. Notas de uso: Esta palabra clave equivale a ConnectCodepage=1208 y se añade únicamente por comodidad. Establezca esta palabra clave para evitar que se produzca actividad general extra al conectarse a DB2 para OS/390 Versión 7 o superior. No es necesario establecer esta palabra clave para bases de datos de DB2 para Windows, DB2 para Unix o DB2 para OS/2, ya que no requieren procesos adicionales. 40.6.3 Microsoft Transaction Server (MTS) como Supervisor de transacciones La línea siguiente corrige el valor por omisión de la palabra clave de configuración DISABLEMULTITHREAD en el subapartado "Instalación y configuración": * Palabra clave DISABLEMULTITHREAD (valor por omisión 0) 40.6.4 Cursores desplazables Debe añadirse la información siguiente a la sección "Cursores desplazables": 40.6.4.1 Soporte de cursor desplazable para OS/390 en el extremo del servidor El cliente UDB para las plataformas Unix, Windows y OS/2 da soporte a cursores desplazables en el extremo del servidor cuando se ejecutan frente bases de datos de OS/390 Versión 7. Para acceder a un cursor desplazable de OS/390 en un entorno de tres niveles, el cliente y la pasarela deben estar ejecutando DB2 UDB Versión 7.1, FixPak 3 o posterior. Hay dos interfaces de habilitación de aplicaciones que pueden acceder a los cursores desplazables: ODBC y JDBC. La interfaz JDBC sólo puede acceder a cursores desplazables estáticos, mientras que la interfaz ODBC puede acceder a cursores desplazables en el extremo del servidor estáticos y controlados por conjuntos de claves. Atributos del cursor La tabla siguiente lista los atributos por omisión para cursores de OS/390 Versión 7 en ODBC. Tabla 11. Atributos por omisión para cursores de OS/390 en ODBC Tipo de Sensibilidad Cursor Simultaneidad Cursor cursor del cursor actualizable del cursor desplazable sólo no no simultaneidad no desplazable reenvíoa especificada actualizable de sólo lectura estático no sensible no simultaneidad desplazable actualizable de sólo lectura controlado sensible actualizable simultaneidad desplazable por de valores conjunto de claves a Sólo reenvío es el comportamiento por omisión para un cursor desplazable sin la cláusula FOR UPDATE. La especificación de FOR UPDATE en un cursor de sólo reenvío crea un cursor actualizable, de bloqueo de simultaneidad y no desplazable. Orientaciones de captación soportadas Se da soporte a todas las orientaciones de captación de ODBC mediante las interfaces SQLFetchScroll o SQLExtendedFetch. Actualización del cursor controlado por conjunto de claves Un cursor controlado por conjunto de claves es un cursor actualizable. El controlador de CLI añade la cláusula FOR UPDATE a la consulta, excepto cuando se emite la consulta como consulta SELECT ... FOR READ ONLY o si la cláusula FOR UPDATE ya existe. El cursor controlado por conjunto de claves implementado en DB2 para OS/390 es un cursor de simultaneidad de valores. Un cursor de simultaneidad de valores ocasiona el bloqueo optimista, en el que no se mantienen los bloqueos hasta que se intenta llevar a cabo una actualización o supresión. Cuando se intenta realizar una actualización o supresión, el servidor de bases de datos compara los valores anteriores que la aplicación ha recuperado con los valores actuales de la tabla subyacente. Si los valores coinciden, la actualización o supresión es satisfactoria. Si los valores no coinciden, la operación es anómala. Si se produce una anomalía, la aplicación deberá consultar de nuevo los valores y volver a emitir la actualización o supresión si todavía es aplicable. Una aplicación puede actualizar un cursor controlado por conjunto de claves de dos formas: * Emita UPDATE WHERE CURRENT OF "" o DELETE WHERE CURRENT OF "" utilizando SQLPrepare() con SQLExecute() o SQLExecDirect(). * Utilice SQLSetPos() o SQLBulkOperations() para actualizar, suprimir o añadir una fila al conjunto de resultados. Nota: Las filas añadidas a un resultado establecidas por medio de SQLSetPos() o SQLBulkOperations() se insertan en la tabla del servidor, pero no se añaden al conjunto de resultados del servidor. Por lo tanto, estas filas no son actualizables ni son sensibles a los cambios efectuados por otras transacciones. Las filas insertadas parecerán, sin embargo, formar parte del conjunto de resultados, ya que se almacenan en antememoria en el cliente. Los activadores que se apliquen a las filas insertadas aparecerán ante la aplicación como si no se hubiesen aplicado. Para hacer que las filas insertadas sean actualizables, sensibles y para ver el resultado de los activadores aplicables, la aplicación debe emitir la consulta de nuevo para volver a generar el conjunto de resultados. Resolución de problemas para aplicaciones creadas antes del soporte al cursor desplazable Puesto que el soporte a cursores desplazables es nuevo, algunas aplicaciones ODBC que funcionaban con releases anteriores de UDB para OS/390 o UDB para Unix, Windows, y OS/2 pueden encontrar cambios de comportamiento de rendimiento. Esto sucede debido a que antes de que se diese soporte a los cursores desplazables, las aplicaciones que solicitaban un cursor desplazable recibían un cursor de sólo reenvío. Para restaurar el comportamiento anterior de una aplicación de antes del soporte a cursores desplazables, establezca la siguientes palabras clave de configuración en el archivo db2cli.ini: Tabla 12. Valores de palabras clave de configuración que restauran el comportamiento de una aplicación anterior al soporte a cursores desplazables Valor de palabra clave de Descripción configuración PATCH2=6 Devuelve un mensaje que indica que no se da soporte a los cursores desplazables (tanto controlados por conjunto de claves como estáticos). CLI degrada automáticamente cualquier petición de cursor desplazable a cursor de sólo reenvío. DisableKeysetCursor=1 Inhabilita los cursores desplazables controlados por conjunto de claves del extremo del servidor y del extremo del cliente. Esto puede utilizarse para forzar al controlador CLI a dar a la aplicación un cursor estático cuando se solicita un cursor controlado por conjunto de claves. UseServerKeysetCursor=0 Inhabilita el cursor controlado por conjunto de claves del extremo del servidor para aplicaciones que utilizan la biblioteca de cursores controlados por conjunto de claves del extremo del cliente para simular un cursor controlado por conjunto de claves. Utilice esta opción únicamente cuando aparezcan problemas con el cursor controlado por conjunto de claves del extremo del servidor, puesto que el cursor del extremo del cliente asume una gran cantidad de actividad general y, normalmente, tendrá un rendimiento menor que un cursor del extremo del servidor. 40.6.5 Utilización de SQL compuesto Falta la nota siguiente en el manual: Cualquier sentencia SQL que se pueda preparar dinámicamente, que no sea una consulta, se puede ejecutar como una sentencia dentro de una sentencia compuesta. Nota: Dentro de Atomic Compound SQL, tampoco están permitidas las sentencias SQL savepoint, release savepoint ni rollback to savepoint. Y, a la inversa, no está permitido Atomic Compound SQL en savepoint. 40.6.6 Utilización de procedimientos almacenados 40.6.6.1 Privilegios para crear y depurar procedimientos SQL y Java almacenados Se deben otorgar los privilegios siguientes a los usuarios que desean crear, depurar y ejecutar procedimientos SQL almacenados: * db2 grant CONNECT on database to userid * db2 grant IMPLICIT_SCHEMA on database to userid * db2 grant BINDADD on database to userid * db2 grant SELECT on SYSIBM.SYSDUMMY1 to userid * db2 grant SELECT on SYSCAT.PROCEDURES to userid * db2 grant UPDATE on DB2DBG.ROUTINE_DEBUG to userid Se deben otorgar los privilegios siguientes a los usuarios que desean crear, depurar y ejecutar procedimientos Java almacenados: * db2 grant CONNECT on database to userid * db2 grant IMPLICIT_SCHEMA on database to userid * db2 grant BINDADD on database to userid(sólo necesario si crea procedimientos Java almacenados con SQL estático utilizando SQLJ) * db2 grant SELECT on SYSIBM.SYSDUMMY1 to userid * db2 grant SELECT on SYSCAT.PROCEDURES to userid * db2 grant UPDATE on DB2DBG.ROUTINE_DEBUG to userid Para crear la tabla DB2DBG.ROUTINE_DEBUG, emita el mandato siguiente: db2 -tf sqllib/misc/db2debug.ddl Para obtener más información sobre cómo depurar procedimientos Java almacenados, consulte el manual Application Development Guide. 40.6.6.2 Escritura de un procedimiento almacenado en CLI A continuación se proporciona una limitación no documentada para los procedimientos almacenados de CLI: Si está realizando llamadas a varios procedimientos almacenados de CLI la aplicación debe cerrar los cursores abiertos desde un procedimiento almacenado antes de llamar al siguiente procedimiento almacenado. Más específicamente, debe cerrarse el primer conjunto de cursores abiertos antes de que el siguiente procedimiento almacenado intente abrir un cursor. 40.6.6.3 Procedimientos almacenados de CLI y vinculación automática Lo siguiente complementa la información del manual: El controlador de CLI/ODBC normalmente vinculará automáticamente los paquetes de CLI la primera vez que una aplicación CLI/ODBC ejecute SQL en la base de datos, siempre que el usuario tenga el privilegio o autorización adecuados. La vinculación automática de los paquetes de CLI no puede realizarse desde el interior de un procedimiento almacenado y, por lo tanto, no se realizará si lo primero que hace una aplicación es llamar a un procedimiento almacenado de CLI. Antes de ejecutar una aplicación de CLI que llame a un procedimiento almacenado de CLI en una base de datos de DB2 nueva, debe vincular los paquetes de CLI una vez con este mandato: UNIX db2 bind /@db2cli.lst blocking all Windows y OS/2 db2bind "%DB2PATH%\bnd\@db2cli.lst" blocking El enfoque recomendado consiste en vincular siempre estos paquetes cuando se crea la base datos para evitar la vinculación automática en tiempo de ejecución. La vinculación automática puede fallar si el usuario no tiene el privilegio o si otra aplicación intenta realizar la vinculación automática al mismo tiempo. ------------------------------------------------------------------------ 40.7 Capítulo 4. Configuración de CLI/ODBC y ejecución de aplicaciones de ejemplo 40.7.1 Palabras clave de configuración 40.7.1.1 CURRENTFUNCTIONPATH Haga caso omiso del último párrafo de la palabra clave CURRENTFUNCTIONPATH. La información correcta es la siguiente: Esta palabra clave se utiliza como parte del proceso para resolver referencias a procedimientos almacenados y de función sin calificar que pueden haberse definido en un nombre de esquema distinto del esquema de usuario actual. El orden de los nombres de esquema determina el orden en que se resolverán los nombres de función y de procedimiento. Para obtener más información sobre resolución de procedimientos y funciones, consulte el manual Consulta de SQL. 40.7.1.2 SKIPTRACE Seguidamente, se describe esta nueva palabra clave de configuración: Descripción de la palabra clave: Permite excluir las aplicaciones de CLI de la función de rastreo. Sintaxis de las palabras clave de db2cli.ini: SKIPTRACE = 0 | 1 Valor por omisión: No saltarse la función de rastreo. Pestaña Valores de CLI/ODBC de DB2: Esta palabra clave no puede establecerse utilizando el cuaderno Valores de CLI/ODBC. Para utilizar esta palabra clave, el archivo db2cli.ini debe modificarse directamente. Notas de utilización: Esta palabra clave puede mejorar el rendimiento al permitir que la función de rastreo ignore las aplicaciones de CLI. Por lo tanto, si el recurso de rastreo de DB2, db2trc, se encuentra activado y esta palabra clave se ha establecido en 1, el rastreo no contendrá información sobre la ejecución de la aplicación de CLI. Es recomendable activar SKIPTRACE para los entornos de producción de la plataforma UNIX en que no sea necesaria información de rastreo. No obstante, es posible que los entornos de pruebas se beneficien de tener salida de rastreo, por lo cual puede desactivar esta palabra clave (o dejarla en su valor por omisión) cuando sea aconsejable información detallada de la ejecución. SKIPTRACE debe establecerse en la sección [COMMON] del archivo de configuración db2cli.ini. ------------------------------------------------------------------------ 40.8 Capítulo 5. Funciones de CLI de DB2 40.8.1 SQLBindFileToParam - Vincular referencia de archivo LOB a parámetro de LOB El último parámetro - IndicatorValue - de la función de CLI SQLBindFileToParam() se documenta actualmente como "salida (diferida)". Debe ser "entrada (diferida)". 40.8.2 SQLColAttribute -- Devolver un atributo de columna Las actualizaciones siguientes son añadidos a la columna "Descripción" de los argumentos SQL_DESC_AUTO_UNIQUE_VALUE y SQL_DESC_UPDATABLE: SQL_DESC_AUTO_UNIQUE_VALUE Se devuelve SQL_FALSE en NumericAttributePtr para todos los tipos de datos SQL de DB2. Actualmente, la CLI de DB2 no es capaz de determinar si una columna es de identidad, por lo que siempre se devuelve SQL_FALSE. Esta limitación no se ajusta por completo a las especificaciones de ODBC. Las versiones futuras de la CLI de DB2 para servidores Unix y Windows proporcionarán un soporte auto-exclusivo. SQL_DESC_UPDATABLE Indica si el tipo de datos de la columna se puede actualizar: o Se devuelve SQL_ATTR_READWRITE_UNKNOWN en NumericAttributePtr para todos los tipos de datos SQL de DB2. Se devuelve así porque, actualmente, la CLI de DB2 no es capaz de determinar si una columna se puede actualizar. Las versiones futuras de la CLI de DB2 para servidores Unix y Windows podrán determinar si una columna se puede actualizar. 40.8.3 SQLGetData - Obtener datos de una columna El texto siguiente sustituye la frase actual que aparece en la columna Explicación para SQLSTATE 22007 de la tabla SQLSTATE para SQLGetData: Se ha indicado la conversión de una serie a un formato de fecha y hora, pero se ha especificado un valor o una representación de serie no válido o el valor era una fecha no válida. 40.8.4 SQLGetInfo - Obtener información general La información siguiente corrige la información contenida en la sección "Uso" del apartado "Información devuelta por SQLGetInfo": SQL_DATABASE_NAME (serie) Nombre de la base de datos en uso actualmente. Nota: Esta serie es igual que la devuelta por la sentencia SELECT CURRENT SERVER en los sistemas que no son un sistema principal. Para las bases de datos de sistema principal, como por ejemplo DB2 para OS/390 o DB2 para OS/400, la serie devuelta es el nombre de base de datos DCS proporcionado al emitir el mandato DCS DATABASE DIRECTORY en la pasarela de DB2 Connect. 40.8.5 SQLGetLength - Recuperar longitud del valor de una serie La información siguiente corrige la nota al pie de la "Tabla 113. Argumentos de SQLGetLength" : Nota: a Está en los caracteres para datos DBCLOB. 40.8.6 SQLNextResult - Asociar el conjunto de resultados siguiente con otro descriptor de contexto de sentencias Debería añadirse el texto siguiente al Capítulo 5, "Funciones CLI de DB2": 40.8.6.1 Objetivo Especificación: DB2 CLI 7.x 40.8.6.2 Sintaxis SQLRETURN SQLNextResult (SQLHSTMT StatementHandle1 SQLHSTMT StatementHandle2); 40.8.6.3 Argumentos de función Tabla 13. Argumentos de SQLNextResult Tipo de datos Argumento Utilización Descripción SQLHSTMT StatementHandle entrada Descriptor de contexto de sentencias. SQLHSTMT StatementHandle entrada Descriptor de contexto de sentencias. 40.8.6.4 Utilización Un procedimiento almacenado devuelve varios conjuntos de resultados dejando uno o más cursores abiertos después de salir. Al primer conjunto de resultados se accede siempre utilizando el descriptor de contexto de sentencias que llamó al procedimiento almacenado. Si se devuelven varios conjuntos de resultados, puede utilizarse SQLMoreResults() o SQLNextResult() para describir y captar el conjunto de resultados. SQLMoreResults() se utiliza para cerrar el cursor para el primer conjunto de resultados y permitir que se procese el conjunto de resultados siguiente, en tanto que SQLNextResult() desplaza el siguiente conjunto de resultados a StatementHandle2, sin cerrar el cursor en StatementHandle1. Ambas funciones devuelven SQL_NO_DATA_FOUND si no hay conjuntos de resultados que haya que captar. La utilización de SQLNextResult() permite el proceso de los conjuntos de resultados en el orden que sea una vez se hayan transferido a otros descriptores de contexto de sentencias. Las llamadas mixtas a SQLMoreResults() y SQLNextResult() se permiten hasta que no haya más cursores (conjuntos de resultados abiertos) en StatementHandle1. Cuando SQLNextResult() devuelve SQL_SUCCESS, el conjunto de resultados siguiente ya no está asociado con StatementHandle1. En su lugar, el conjunto de resultados siguiente se asocia con StatementHandle2, como si una llamada a SQLExecDirect() hubiera acabado de ejecutar satisfactoriamente una consulta sobre StatementHandle2. Por tanto, el cursor puede describirse utilizando SQLNumResultSets(), SQLDescribeCol() o SQLColAttribute(). Una vez se ha llamado a SQLNextResult(), el conjunto de resultados que en este momento está asociado con StatementHandle2 se elimina de la cadena de conjuntos de resultados restantes y no podrá utilizarse de nuevo ni en SQLNextResult() ni en SQLMoreResults(). Esto significa que para 'n' conjuntos de resultados, SQLNextResult() puede llamarse satisfactoriamente como máximo 'n-1' veces. Si SQLFreeStmt() se llama con la opción SQL_CLOSE, o SQLFreeHandle() se llama con HandleType establecido en SQL_HANDLE_STMT, se descartan todos los conjuntos de resultados pendientes sobre este descriptor de contexto de sentencias. SQLNextResult() devuelve SQL_ERROR si StatementHandle2 tiene un cursor abierto o StatementHandle1 y StatementHandle2 no están en la misma conexión. Si se devuelve algún error o aviso, SQLError() debe llamarse siempre en StatementHandle1. Nota: SQLMoreResults() también funciona con una consulta parametrizada con una matriz de valores de parámetros de entrada especificados con SQLParamOptions() y SQLBindParameter(). Sin embargo, SQLNextResult() no da soporte a esta opción. 40.8.6.5 Códigos de retorno * SQL_SUCCESS * SQL_SUCCESS_WITH_INFO * SQL_STILL_EXECUTING * SQL_ERROR * SQL_INVALID_HANDLE * SQL_NO_DATA_FOUND 40.8.6.6 Diagnósticos Tabla 14. Los SQLSTATE de SQLNextResult SQLSTATE Descripción Explicación 40003 Anomalía de enlace de El enlace de comunicaciones entre la 08S01 comunicaciones. aplicación y la fuente de datos ha fallado antes de que se completara la función. 58004 Anomalía de sistema Error de sistema irrecuperable. inesperada. HY001 Anomalía de DB2 CLI no ha podido asignar la memoria asignación de necesaria para dar soporte a la ejecución memoria. o cumplimentación de la función. HY010 Error de secuencia de La función se ha llamado mientras estaba función. en una operación de datos al ejecutar (SQLParamData(), SQLPutData()). StatementHandle2 tiene un cursor abierto asociado al mismo. La función se llamó mientras estaba dentro de una operación BEGIN COMPOUND y END COMPOUND SQL. HY013 Error de manejo de DB2 CLI no ha podido acceder a la memoria memoria inesperado. necesaria para dar soporte a la ejecución o cumplimentación de la función. HYT00 Ha caducado el tiempo El tiempo de espera ha caducado antes de de espera excedido. que la fuente de datos devolviera el conjunto de resultados. Los tiempos de espera excedidos sólo están soportados en sistemas no multitarea como por ejemplo 3.1 y Macintosh System 7. El período de tiempo de espera puede establecerse utilizando el atributo SQL_ATTR_QUERY_TIMEOUT para SQLSetConnectAttr(). 40.8.6.7 Restricciones Para las consultas parametrizadas sólo puede utilizarse SQLMoreResults(). 40.8.6.8 Referencias * "SQLMoreResults - Determinar si hay más conjuntos de resultados" en la página 535 * "Cómo devolver conjuntos de resultados desde procedimientos almacenados" en la página 120 40.8.7 SQLSetEnvAttr - Establecer un atributo de entorno A continuación, se describe un atributo de entorno adicional que pertenece a la sección acerca de los atributos de entorno, del apartado sobre utilización: SQL_ATTR_KEEPCTX Valor entero de 32 bits que especifica si debe mantenerse el contexto cuando se libera el descriptor de contexto del entorno. Este atributo debe establecerse al nivel del entorno. Las aplicaciones de multihebras pueden utilizarlo para gestionar contextos asociados con las conexiones, los recursos de base de datos y la transmisión de datos de cada hebra. Los valores posibles son: o SQL_FALSE: La aplicación liberará el contexto cuando se libere el descriptor de contexto del entorno de una hebra. Éste es el valor por omisión. o SQL_TRUE: El contexto permanecerá válido cuando se libere el descriptor de contexto del entorno de una hebra, con lo que el contexto quedará disponible para otras hebras existentes en la misma conexión. Si establece SQL_ATTR_KEEPCTX en SQL_TRUE, puede resolver algunos problemas asociados con contextos en conflicto de las aplicaciones de multihebras. Nota: Ésta es una ampliación de IBM. 40.8.8 SQLSetStmtAttr -- Establecer opciones relativas a una sentencia La información siguiente sustituye la información existente para el atributo de sentencia SQL_ATTR_QUERY_TIMEOUT: SQL_ATTR_QUERY_TIMEOUT (DB2 CLI v2) Valor entero de 32 bits que es el número de segundos que se deberá esperar a que se ejecute una sentencia SQL antes de volver a la aplicación. Se puede establecer y utilizar esta opción para terminar las consultas de larga ejecución. El valor 0 significa que no hay tiempo de espera. La CLI de DB2 soporta valores distintos de cero para todas las plataformas que soportan múltiples hebras. ------------------------------------------------------------------------ 40.9 Apéndice C. DB2 CLI y ODBC A continuación se muestra una sección nueva que se ha añadido a este apéndice: 40.9.1 Aplicaciones Unicode de ODBC Una aplicación Unicode de ODBC envía y recupera datos de tipo carácter fundamentalmente en UCS-2. Efectúa esta acción llamando a las versiones de Unicode de las funciones ODBC (aquéllas que tienen el sufijo 'W') e indicando los tipos de datos de Unicode. La aplicación no especifica una página de códigos local de modo explícito. La aplicación puede seguir llamando a las funciones ANSI y pasando las series de página de códigos local. Por ejemplo, la aplicación puede llamar a SQLConnectW() y pasar el DSN, ID de usuario y contraseña como argumentos de Unicode. A continuación, puede llamar a SQLExecDirectW(), pasar una serie de sentencia SQL de Unicode SQL y, después vincular una combinación de almacenamientos intermedios de página local ANSI (SQL_C_CHAR) y de almacenamientos intermedios Unicode (SQL_C_WCHAR). Los tipos de datos de base de datos pueden ser Unicode o pueden no serlo. Si una aplicación CLI llama a SQLSetConnectAttr con SQL_ATTR_ANSI_APP establecido en SQL_AA_FALSE o llama a SQLConnectW sin establecer el valor de SQL_ATTR_ANSI_APP, se considera que la aplicación es una aplicación Unicode. Esto significa que todos los datos CHAR se envían y se reciben de una base de datos Unicode en formato UTF-8. A continuación, la aplicación puede captar datos CHAR en almacenamientos intermedios SQL_C_CHAR de la página de códigos local (con una posible pérdida de datos), o en almacenamientos intermedios SQL_C_WCHAR en UCS-2 sin pérdida de datos. Si la aplicación no efectúa ninguna de las dos llamadas anteriores, los datos CHAR se convierten a la página de códigos local de las aplicaciones del servidor. Lo cual significa que los datos CHAR que se captan en SQL_C_WCHAR pueden experimentar una pérdida de datos. Si la variable de instancia de DB2CODEPAGE se establece (utilizando db2set) en la página de códigos 1208 (UTF-8), la aplicación recibirá todos los datos CHAR en UTF-8 ya que ésta es ahora la página de códigos local. La aplicación debe asegurarse también de que todos los datos de entrada CHAR estén asimismo en UTF-8. ODBC asume asimismo que todos los datos SQL_C_WCHAR están en formato endian nativo. CLI efectuará la alternancia de bytes que se necesite para SQL_C_WCHAR. 40.9.1.1 Aplicaciones Unicode de ODBC frente a aplicaciones no Unicode de ODBC Este release de DB2 Universal Database contiene la API de SQLConnectW(). Un controlador Unicode debe exportar SQLConnectW para que el gestor de controladores lo reconozca como controlador Unicode. Es importante tener en cuenta que numerosas aplicaciones de ODBC (por ejemplo Microsoft Access y Visual Basic) llaman a SQLConnectW(). En los releases anteriores de DB2 Universal Database, DB2 CLI no daba soporte a esta API y, por tanto el gestor de controladores de ODBC no lo reconocía como controlador Unicode. Esto hacía que el gestor de controladores de ODBC convirtiera todos los datos de Unicode a la página de códigos local de la aplicación. Con el soporte añadido de la función SQLConnectW(), estas aplicaciones se convertirán ahora en aplicaciones Unicode y DB2 CLI asumirá todas las conversiones de datos necesarias. DB2 CLI acepta en este momento las API de Unicode (con un sufijo de "W") y las API de ANSI habituales. ODBC define un conjunto de funciones con un sufijo de "A", pero el gestor de controladores no pasa funciones de ANSI con el sufijo "A" al controlador. En vez de eso, convierte dichas funciones en llamadas de función de ANSI sin el sufijo y después las pasa al controlador. Una aplicación de ODBC que llama a la API de SQLConnectW() se considera que es una aplicación Unicode. Puesto que el gestor de controladores de ODBC siempre llamará a la API de SQLConnectW() sin tener en cuenta la versión de la aplicación llamada, ODBC introducirá el atributo de conexión SQL_ATTR_ANSI_APP para notificar al controlador si la aplicación debería considerarse una aplicación ANSI o UNICODE. Si SQL_ATTR_ANSI_APP se establece en SQL_AA_TRUE, la CLI de DB2 convierte todos los datos a la página de códigos local antes de enviarla al servidor. ------------------------------------------------------------------------ 40.10 Apéndice D. Funciones escalares ampliadas 40.10.1 Funciones de fecha y hora En el Apéndice D "Funciones escalares ampliadas", faltan las funciones siguientes en el apartado Funciones de fecha y hora: DAYOFWEEK_ISO( date_exp ) Muestra el día de la semana en date_exp como un valor entero en el rango 1-7, donde 1 representa el lunes. Observe la diferencia entre esta función y la función DAYOFWEEK(), donde 1 representa el domingo. WEEK_ISO( date_exp ) Muestra la semana del daño en date_exp como un valor entero en el rango de 1-53. La semana 1 está definida como la primera semana del año que contenga un jueves. Por lo tanto, Week1 equivale a la primera semana que contiene el 4 de enero, ya que el lunes se considera el primer día de la semana. Observe que WEEK_ISO() difiere de la definición general de WEEK(), que muestra un valor de 54 como máximo. Para la función WEEK(), Semana 1 es la semana que contiene el primer sábado. Esto equivale a la semana que contenga el 1 de enero, aunque la semana sólo contenga un día. DAYOFWEEK_ISO() y WEEK_ISO() están disponibles de forma automática en una base de datos creada en la Versión 7. Si una base de datos se creó antes de la Versión 7, es posible que estas funciones no estén disponibles. Para hacer que las funciones DAYOFWEEK_ISO() y WEEK_ISO() estén disponibles en dicha base de datos, utilice el mandato del sistema db2updb. Para obtener más información sobre db2updb, lea el apartado "Consulta de mandatos" de estas Notas del release. ------------------------------------------------------------------------ 40.11 Apéndice K. Utilización del recurso de rastreo CLI/ODBC/JDBC de DB2 Se han actualizado estas secciones dentro de este apéndice. Consulte el capítulo "Traces" en el manual Troubleshooting Guide para obtener la información más actual sobre este recurso de rastreo. ------------------------------------------------------------------------ Consulta de mensajes ------------------------------------------------------------------------ 41.1 Actualización disponible El manual Consulta de mensajes se ha actualizado como parte del FixPak 4. El último PDF está disponible para bajarlo en línea desde http://www.ibm.com/software/data/db2/udb/winos2unix/support. Toda la documentación actualizada también está disponible en CD. Se puede solicitar dicho CD a través del servicio de DB2 y utilizando el número de PTF U478862. Puede encontrar información sobre cómo entrar en contacto con el Servicio de DB2 en http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/help.d2w/report . ------------------------------------------------------------------------ 41.2 Actualizaciones de mensajes La tabla siguiente indica los mensajes que han cambiado desde la última publicación del manual Consulta de mensajes. En estas notas se incluyen instrucciones para ver el texto de los mensajes en línea. Tabla 15. Mensajes nuevos y modificados Código de mensaje Naturaleza del cambio SQL2554N Código de razón nuevo SQL0490N Mensaje nuevo SQL20214N Mensaje nuevo SQL20211N Mensaje nuevo La tabla siguiente indica los estados de SQL que han cambiado desde la última publicación del manual Consulta de mensajes. En estas notas se incluyen instrucciones para ver el texto de los mensajes en línea. Tabla 16. Nuevos mensajes SQLSTATE Valor de SQLSTATE Significado 428B7 Un número especificado en una sentencia de SQL está fuera del rango válido. 428FI Se ha especificado ORDER OF, pero el indicador-tabla no contiene una cláusula ORDER BY. 428FJ No se permite ORDER BY en la selección completa externa de una vista ni en una tabla de resumen. ------------------------------------------------------------------------ 41.3 Lectura del texto de mensaje en línea Se supone que está familiarizado con las funciones del sistema operativo donde está instalado DB2. Se puede acceder a los mensajes siguientes de DB2 desde la línea de mandatos del sistema operativo: Prefijo Descripción ASN mensajes generados por Duplicación de DB2 CCA mensajes generados por el Asistente de configuración de cliente CLI mensajes generados por la Interfaz de nivel de llamada DBA mensajes generados por el Centro de control y el programa de utilidad de Administración de base de datos DBI mensajes generados por la instalación y configuración DB2 mensajes generados por el procesador de línea de mandatos DWC mensajes generados por el Centro de depósito de datos FLG mensajes y códigos de razón generados por el Gestor de catálogos de información GSE mensajes generados por DB2 Spatial Extender SAT mensajes generados por DB2 Satellite SPM mensajes generados por el gestor de puntos de sincronismo SQJ mensajes generados por SQL incorporado en Java (SQLJ) SQL mensajes generados por el gestor de bases de datos cuando se ha detectado una condición de aviso o de error. Asimismo, está disponible en línea el texto de mensajes asociado con los valores de SQLSTATE. Los identificadores de mensaje constan de un prefijo de mensaje de tres caracteres (consulte la lista anterior), seguido de un número de mensajes de cuatro o cinco dígitos. La letra de un solo dígito al final que describe la gravedad del mensaje de error es opcional. Para acceder a la ayuda de estos mensajes de error, entre lo siguiente en el indicador de mandatos del sistema operativo: db2 "? XXXnnnnn" donde XXX representa el prefijo de mensaje y donde nnnnn representa el número de mensaje. Nota: El identificador de mensaje aceptado como parámetro del mandato db2 no es sensible a las mayúsculas y minúsculas y la letra de terminación no es necesaria. Por consiguiente, los mandatos siguientes producirán el mismo resultado: * db2 "? SQL0000N" * db2 "? sql0000" * db2 "? SQL0000n" Si el texto de mensaje es demasiado largo para la pantalla, utilice el mandato siguiente (en sistemas basados en unix y otros que soporten 'more'): db2 "? XXXnnnnn" | more También se puede invocar la ayuda en modalidad de entrada interactiva. Para entrar en la modalidad de entrada interactiva, entre lo siguiente en el indicador de mandatos del sistema operativo: db2 Una vez que esté en modalidad de entrada interactiva, podrá entrar mandatos en el indicador de mandatos siguiente: db2 => Para obtener ayuda de mensajes de DB2 en esta modalidad, escriba lo siguiente en el indicador de mandatos: ? XXXnnnnn Nota: Si el texto del mensaje excede la longitud de la pantalla, los usuarios con estaciones de trabajo no gráficas pueden dirigir la salida al programa 'more' (en sistemas basados en unix) o redirigir la salida a un archivo que pueda examinarse a continuación. El texto de mensaje asociado con un valor determinado de SQLSTATE puede recuperarse emitiendo: db2 "? nnnnn" o db2 "? nn" donde nnnnn es un código de clase SQLSTATE de cinco dígitos (alfanumérico) y nn es el código de clase SQLSTATE de dos dígitos (los dos primeros dígitos del valor de SQLSTATE). ------------------------------------------------------------------------ Consulta de SQL ------------------------------------------------------------------------ 42.1 Actualización del manual Consulta de SQL disponible Se ha actualizado el manual Consulta de SQL y el último .pdf está disponible para bajarlo en línea desde http://www.ibm.com/software/data/db2/udb/winos2unix/support. La información contenida en estas notas es adicional a la consulta actualizada. Toda la documentación actualizada también está disponible en CD. Se puede solicitar dicho CD a través del servicio de DB2 y utilizando el número de PTF U478862. Puede encontrar información sobre cómo entrar en contacto con el Servicio de DB2 en http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/help.d2w/report . ------------------------------------------------------------------------ 42.2 Cómo habilitar las nuevas funciones y procedimientos Los FixPak de la Versión 7 ofrecen nuevas funciones escalares incorporadas de SQL. Consulte las actualizaciones del manual Consulta de SQL para obtener una descripción de estas nuevas funciones. Las nuevas funciones no se habilitan automáticamente en cada base de datos cuando el código del servidor de bases de datos se actualiza al nuevo nivel de servicio. Para habilitar estas funciones nuevas, el administrador del sistema debe emitir el mandato db2updv7, especificando cada una de las bases de datos en el servidor. Este mandato crea una entrada en la base de datos que asegura que los objetos de la base de datos que se crean antes de ejecutar este mandato utilicen las signaturas de función que se correspondan con las signaturas de función nuevas. Para obtener información sobre cómo habilitar las funciones de MQSeries (definidas en el esquema DB2MQ), consulte MQSeries. ------------------------------------------------------------------------ 42.3 SET SERVER OPTION - Error de documentación La sección Notas de la sentencia SET SERVER OPTION contiene información engañosa. La nota actual dice: * SET SERVER OPTION sólo soporta actualmente las opciones de servidor de contraseña, fold_id y fold_pw. Esta frase no es cierta. SET SERVER OPTION soporta todas las opciones de servidor, incluidas las opciones de servidor para reiniciadores no proporcionados por IBM. La nota deberá ignorarse. ------------------------------------------------------------------------ 42.4 GRANT (Privilegios de tabla, vista o apodo) - Error de documentación La sección Notas de la sentencia GRANT (Privilegios de tabla, vista o apodo) contiene un punto engañoso. La nota actual dice: * Los privilegios DELETE, INSERT, SELECT y UPDATE no se definen para apodos dado que las operaciones en los apodos dependen de los privilegios del ID de autorización utilizado en la fuente de datos cuando se procesa la sentencia que hace referencia al apodo. Este texto deberá ignorarse, dado que, sin él, el texto restante de la sección es preciso. ------------------------------------------------------------------------ 42.5 Información sobre MQSeries 42.5.1 Funciones escalares 42.5.1.1 MQPUBLISH >>-MQPUBLISH--(-------------------------------------------------> >--+--------------------------------------------------+---------> '-servicio-publicador--,--+----------------------+-' '-política-servicio--,-' >--datos-mje--+--------------------------------+--)------------>< '-,--tema--+-------------------+-' | (1) | '-,--id-correl------' Notas: 1. El id-correl no se puede especificar a no ser que previamente se haya definido un servicio y una política. El esquema es DB2MQ. La función MQPUBLISH publica datos ante MQSeries. Esta función requiere la instalación de MQSeries Publish/Subscribe o MQSeries Integrator. Consulte la dirección www.ibm.com/software/MQSeries para obtener más información. La función MQPUBLISH publica los datos contenidos en datos-mje ante el publicador de MQSeries especificado en servicio-publicador y utiliza la calidad de política de servicio definida en política-servicio. Se puede especificar un tema opcional para el mensaje y también se puede especificar un identificador opcional de correlación de mensajes definidos por el usuario. La función devuelve el valor '1' si se ejecuta satisfactoriamente y '0' si no es así. servicio-publicador Una serie que contiene el destino lógico de MQSeries al que se debe enviar el mensaje. Si se especifica, el servicio-publicador debe hacer referencia a un Punto de servicio del publicador definido en el archivo de repositorio AMT.XML. Un punto de servicio es un punto final lógico desde el que se envía o en el que se recibe un mensaje. Las definiciones de puntos de servicio incluyen el nombre de MQSeries Queue Manager y de la cola. Consulte el manual MQSeries Application Messaging Interface para obtener más información. Si no se especifica servicio-publicador, se utilizará DB2.DEFAULT.PUBLISHER. El tamaño máximo de servicio-publicador es 48 bytes. política-servicio Una serie que contiene la política de servicio AMI de MQSeries que se va a utilizar para manejar este mensaje. Si se especifica, la política-servicio debe hacer referencia a una política definida en el archivo de repositorio AMT.XML. Una Política de servicio define una serie de opciones de calidad de servicio que se deben aplicar a esta operación de gestión de mensajes. Estas opciones incluyen prioridad y permanencia del mensaje. Consulte el manual MQSeries Application Messaging Interface para obtener más información. Si no se especifica política-servicio, se utiliza DB2.DEFAULT.POLICY por omisión. El tamaño máximo de política-servicio es 48 bytes. datos-mje Una expresión que contiene los datos que se van a enviar mediante MQSeries. El tamaño máximo, si la serie es de tipo VARCHAR, es 4000 bytes. Si la serie es CLOB, puede llegar a tener un tamaño de 1 MB. tema Una expresión que contiene el tema correspondiente a la publicación del mensaje. Si no se especifica ningún tema, no se asociará ninguno al mensaje. El tamaño máximo de tema es 40 bytes. Se pueden especificar varios temas en una serie (con una longitud máxima de 40 caracteres). Cada tema se debe separar por un signo de dos puntos. Por ejemplo, "t1:t2:tercer tema" indica que el mensaje se asocia con tres temas: t1, t2 y "tercer tema". id-correl Una expresión opcional que contiene un identificador de correlación que se asociará con este mensaje. El id-correl se suele especificar en escenarios de petición y respuesta para asociar peticiones con respuestas. Si no se especifica, no se añade ningún id de correlación al mensaje. El tamaño máximo de id-correl es 24 bytes. Ejemplos Ejemplo 1: Este ejemplo publica la serie "Testing 123" al servicio publicador por omisión (DB2.DEFAULT.PUBLISHER) utilizando la política por omisión (DB2.DEFAULT.POLICY). No se especifica ningún identificador de correlación ni ningún tema para el mensaje. VALUES MQPUBLISH('Testing 123') Ejemplo 2: Este ejemplo publica la serie "Testing 345" al servicio publicador "MYPUBLISHER" bajo el tema "TESTS". Se utiliza la política por omisión y no se especifica ningún identificador de correlación. VALUES MQPUBLISH('MYPUBLISHER','Testing 345', 'TESTS') Ejemplo 3: Este ejemplo publica la serie "Testing 678" al servicio publicador "MYPUBLISHER" utilizando la política "MYPOLICY" con el identificador de correlación "TEST1". El mensaje se publica con el tema "TESTS". VALUES MQPUBLISH('MYPUBLISHER','MYPOLICY','Testing 678','TESTS','TEST1') Ejemplo 4: Este ejemplo publica la serie "Testing 901" al servicio publicador "MYPUBLISHER" bajo el tema "TESTS" utilizando la política por omisión (DB2.DEFAULT.POLICY) y sin identificador de correlación. VALUES MQPUBLISH('Testing 901','TESTS') Todos los ejemplos devuelven el valor '1' si se ejecutan satisfactoriamente. 42.5.1.2 MQREADCLOB >>-MQREADCLOB--(------------------------------------------------> >--+----------------------------------------------+--)--------->< '-servicio-recepción--+----------------------+-' '-,--política-servicio-' El esquema es DB2MQ. La función MQREADCLOB devuelve un mensaje procedente de la ubicación de MQSeries especificada por servicio-recepción, utilizando la política de calidad de servicio definida en política-servicio. Al ejecutar esta operación no se elimina el mensaje de la cola asociada con servicio-recepción, sino que se devuelve el mensaje al principio de la cola. El valor de retorno es un CLOB con una longitud máxima de 1 MB, que contiene el mensaje. Si no hay ningún mensaje disponible para devolverse, se devolverá NULL. servicio-recepción Una serie que contiene el destino lógico de MQSeries desde el que se va a recibir el mensaje. Si se especifica, el servicio-recepción hace referencia a un Punto de servicio definido en el archivo de repositorio AMT.XML. Un punto de servicio es un punto final lógico desde el que se envía o en el que se recibe un mensaje. Las definiciones de puntos de servicio incluyen el nombre de MQSeries Queue Manager y de la cola. Consulte el manual MQSeries Application Messaging Interface para obtener más información. Si no se especifica servicio-recepción, se utiliza DB2.DEFAULT.SERVICE. El tamaño máximo de servicio-recepción es 48 bytes. política-servicio Una serie que contiene la política de servicio AMI de MQSeries utilizada para manejar este mensaje. Si se especifica, la política-servicio debe hacer referencia a una política definida en el archivo de repositorio AMT.XML. Una Política de servicio define una serie de opciones de calidad de servicio que se deben aplicar a esta operación de gestión de mensajes. Estas opciones incluyen prioridad y permanencia del mensaje. Consulte el manual MQSeries Application Messaging Interface para obtener más información. Si no se especifica política-servicio, se utiliza DB2.DEFAULT.POLICY por omisión. El tamaño máximo de política-servicio es 48 bytes. Ejemplos: Ejemplo 1: Este ejemplo lee el mensaje que hay al principio de la cola especificada por el servicio por omisión (DB2.DEFAULT.SERVICE), utilizando la política por omisión (DB2.DEFAULT.POLICY). VALUES MQREADCLOB() Ejemplo 2: Este ejemplo lee el mensaje que hay al principio de la cola especificada por el servicio "MYSERVICE" utilizando la política por omisión (DB2.DEFAULT.POLICY). VALUES MQREADCLOB('MYSERVICE') Ejemplo 3: Este ejemplo lee el mensaje que hay al principio de la cola especificada por el servicio "MYSERVICE" utilizando la política "MYPOLICY". VALUES MQREADCLOB('MYSERVICE','MYPOLICY') Todos estos ejemplos devuelven el contenido del mensaje como un CLOB con un tamaño máximo de 1 MB, si se ejecutan satisfactoriamente. Si no hay mensajes disponibles, se devuelve un NULL. 42.5.1.3 MQRECEIVECLOB >>-MQRECEIVECLOB------------------------------------------------> >--(--+----------------------------------------------------------------+--)->< '-servicio-recepción--+----------------------------------------+-' '-,--política-servicio--+--------------+-' '-,--id-correl-' El esquema es DB2MQ. La función MQRECEIVECLOB devuelve un mensaje procedente de la ubicación de MQSeries especificada por servicio-recepción, utilizando la política de calidad de servicio política-servicio. Al llevar a cabo esta operación se elimina el mensaje de la cola asociada con servicio-recepción. Si se especifica id-correl, se devuelve el primer mensaje con un identificador de correlación que coincida. Si no se especifica correl-id, se devuelve el primer mensaje de la cola. El valor de retorno es un CLOB con una longitud máxima de 1 MB, que contiene el mensaje. Si no hay ningún mensaje disponible para devolverse, se devolverá NULL. servicio-recepción Una serie que contiene el destino lógico de MQSeries desde el que se recibe el mensaje. Si se especifica, el servicio-recepción hace referencia a un Punto de servicio definido en el archivo de repositorio AMT.XML. Un punto de servicio es un punto final lógico desde el que se envía o en el que se recibe un mensaje. Las definiciones de puntos de servicio incluyen el nombre de MQSeries Queue Manager y de la cola. Consulte el manual MQSeries Application Messaging Interface para obtener más información. Si no se especifica servicio-recepción, se utiliza DB2.DEFAULT.SERVICE. El tamaño máximo de servicio-recepción es 48 bytes. política-servicio Una serie que contiene la política de servicio AMI de MQSeries que se va a utilizar para manejar este mensaje. Si se especifica, la política-servicio debe hacer referencia a una Política definida en el archivo de repositorio AMT.XML 1 . Si no se especifica política-servicio, se utiliza DB2.DEFAULT.POLICY por omisión. El tamaño máximo de política-servicio es de 48 bytes. id-correl Serie que contiene un identificador de correlación opcional que se va a asociar con este mensaje. El id-correl se suele especificar en escenarios de petición y respuesta para asociar peticiones con respuestas. Si no se especifica, no se utilizará ningún id de correlación. El tamaño máximo de id-correl es 24 bytes. Ejemplos: Ejemplo 1: Este ejemplo recibe el mensaje que hay al principio de la cola especificada por el servicio por omisión (DB2.DEFAULT.SERVICE), utilizando la política por omisión (DB2.DEFAULT.POLICY). VALUES MQRECEIVECLOB() Ejemplo 2: Este ejemplo recibe el mensaje que hay al principio de la cola especificada por el servicio "MYSERVICE" utilizando la política por omisión (DB2.DEFAULT.POLICY). VALUES MQRECEIVECLOB('MYSERVICE') Ejemplo 3: Este ejemplo recibe el mensaje que hay al principio de la cola especificada por el servicio "MYSERVICE" utilizando la política "MYPOLICY". VALUES MQRECEIVECLOB('MYSERVICE','MYPOLICY') Ejemplo 4: Este ejemplo recibe el primer mensaje con el id de correlación que coincida con '1234' del principio de la cola especificada por el servicio "MYSERVICE" utilizando la política "MYPOLICY". VALUES MQRECEIVECLOB('MYSERVICE',MYPOLICY','1234') Todos estos ejemplos devuelven el contenido del mensaje como un CLOB con un tamaño máximo de 1 MB, si se ejecutan satisfactoriamente. Si no hay mensajes disponibles, se devuelve un NULL. 42.5.1.4 MQSEND >>-MQSEND--(--+---------------------------------------------+---> '-servicio-envío--,--+----------------------+-' '-política-servicio--,-' >--datos-mje--+-------------------+--)------------------------->< | (1) | '-,--id-correl------' Notas: 1. El id-correl no se puede especificar a no ser que previamente se haya definido un servicio y una política. El esquema es DB2MQ. La función MQSEND envía los datos contenidos en datos-mje a la ubicación de MQSeries especificada por servicio-envío, utilizando la política de calidad de servicio definida por política-servicio. Se puede especificar un identificador opcional de correlación de mensaje definido por el usuario mediante id-correl. La función devuelve el valor '1' si se ejecuta satisfactoriamente y '0' si no es así. datos-mje Una expresión que contiene los datos que se van a enviar mediante MQSeries. El tamaño máximo es de 4000 bytes si los datos son de tipo VARCHAR, y de 1 MB si los datos son de tipo CLOB. servicio-envío Una serie que contiene el destino lógico de MQSeries al que se debe enviar el mensaje. Si se especifica, el servicio-envío hace referencia a un punto de servicio definido en el archivo de repositorio AMT.XML. Un punto de servicio es un punto final lógico desde el que se envía o en el que se recibe un mensaje. Las definiciones de puntos de servicio incluyen el nombre de MQSeries Queue Manager y de la cola. Consulte el manual MQSeries Application Messaging Interface para obtener más información. Si no se especifica servicio-envío, se utiliza el valor de DB2.DEFAULT.SERVICE. El tamaño máximo de servicio-envío es 48 bytes. política-servicio Una serie que contiene la política de servicio AMI de MQSeries utilizada para manejar este mensaje. Si se especifica, la política-servicio debe hacer referencia a una política definida en el archivo de repositorio AMT XML. Una Política de servicio define una serie de opciones de calidad de servicio que se deben aplicar a esta operación de gestión de mensajes. Estas opciones incluyen prioridad y permanencia del mensaje. Consulte el manual MQSeries Application Messaging Interface para obtener más información. Si no se especifica política-servicio, se utiliza el valor por omisión DB2.DEFAULT.POLICY. El tamaño máximo de política-servicio es de 48 bytes. id-correl Una serie opcional que contiene un identificador de correlación asociado con este mensaje. El id-correl se suele especificar en escenarios de petición y respuesta para asociar peticiones con respuestas. Si no se especifica, no se envía ningún id de correlación. El tamaño máximo de id-correl es 24 bytes. Ejemplos: Ejemplo 1: Este ejemplo envía la serie "Testing 123" al servicio por omisión (DB2.DEFAULT.SERVICE), utilizando la política por omisión (DB2.DEFAULT.POLICY), sin identificador de correlación. VALUES MQSEND('Testing 123') Ejemplo 2: Este ejemplo envía la serie "Testing 345" al servicio "MYSERVICE", utilizando la política "MYPOLICY", sin identificador de correlación. VALUES MQSEND('MYSERVICE','MYPOLICY','Testing 345') Ejemplo 3: Este ejemplo envía la serie "Testing 678" al servicio "MYSERVICE", utilizando la política "MYPOLICY", con el identificador de correlación "TEST3". VALUES MQSEND('MYSERVICE','MYPOLICY','Testing 678','TEST3') Ejemplo 4: Este ejemplo envía la serie "Testing 901" al servicio "MYSERVICE", utilizando la política por omisión (DB2.DEFAULT.POLICY), y sin identificador de correlación. VALUES MQSEND('MYSERVICE','Testing 901') Todos los ejemplos devuelven el valor escalar '1' si se ejecutan satisfactoriamente. 42.5.2 Funciones de tabla 42.5.2.1 MQREADALLCLOB >>-MQREADALLCLOB--(---------------------------------------------> >--+----------------------------------------------+-------------> '-servicio-recepción--+----------------------+-' '-,--política-servicio-' >--+-----------+--)-------------------------------------------->< '-núm-filas-' El esquema es DB2MQ. La función MQREADALLCLOB devuelve una tabla que contiene los mensajes y metadatos de mensajes procedentes de la ubicación de MQSeries especificada por servicio-recepción, utilizando la política de calidad de servicio política-servicio. Al realizar esta operación no se eliminan los mensajes de la cola asociada con servicio-recepción. Si se especifica núm-filas, se devolverá un máximo de núm-filas mensajes. Si no se especifica núm-filas, se devolverán todos los mensajes disponibles. La tabla devuelta contiene las siguientes columnas: * MSG - una columna CLOB que contiene el contenido del mensaje de MQSeries. * CORRELID - una columna VARCHAR(24) que alberga un ID de correlación que se utiliza para relacionar mensajes. * TOPIC - una columna VARCHAR(40) que alberga el tema con el que se publicó el mensaje, si está disponible. * QNAME - una columna VARCHAR(48) que alberga el nombre de la cola en la que se ha recibido el mensaje. * MSGID - una columna CHAR(24) que alberga el identificador exclusivo de MQSeries asignado para este mensaje. * MSGFORMAT - una columna VARCHAR(8) que alberga el formato del mensaje, tal como lo ha definido MQSeries. Las series típicas tienen un formato MQSTR. servicio-recepción Una serie que contiene el destino lógico de MQSeries del que se lee el mensaje. Si se especifica, el servicio-recepción debe hacer referencia a un punto de servicio definido en el archivo de repositorio AMT.XML. Un punto de servicio es un punto final lógico desde el que se envía o en el que se recibe un mensaje. Las definiciones de puntos de servicio incluyen el nombre de MQSeries Queue Manager y de la cola. Consulte el manual MQSeries Application Messaging Interface para obtener más información. Si no se especifica servicio-recepción, se utilizará DB2.DEFAULT.SERVICE. El tamaño máximo de servicio-recepción es de 48 bytes. política-servicio Una serie que contiene la política de servicio AMI de MQSeries que se utiliza para manejar este mensaje. Si se especifica, la política-servicio hace referencia a una política definida en el archivo de repositorio AMT.XML. Una política de servicio define una serie de opciones de calidad de servicio que se deben aplicar a esta operación de gestión de mensajes. Estas opciones incluyen prioridad y permanencia del mensaje. Consulte el manual MQSeries Application Messaging Interface para obtener más información. Si no se especifica política-servicio, se utiliza DB2.DEFAULT.POLICY por omisión. El tamaño máximo de política-servicio es 48 bytes. núm-filas Un entero positivo que contiene el número máximo de mensajes que devolverá la función. Ejemplos: Ejemplo 1: Este ejemplo recibe todos los mensajes procedentes de la cola especificada por el servicio por omisión (DB2.DEFAULT.SERVICE), utilizando la política por omisión (DB2.DEFAULT.POLICY). Los mensajes y todos los metadatos se devuelven como una tabla. SELECT * FROM table (MQREADALLCLOB()) T Ejemplo 2: Este ejemplo recibe todos los mensajes procedentes del principio de la cola especificada por el servicio MYSERVICE, utilizando la política por omisión (DB2.DEFAULT.POLICY). Sólo se devuelven las columnas MSG y CORRELID. SELECT T.MSG, T.CORRELID FROM table (MQREADALLCLOB('MYSERVICE')) T Ejemplo 3: Este ejemplo lee el principio de la cola especificada por el servicio por omisión (DB2.DEFAULT.SERVICE), utilizando la política por omisión (DB2.DEFAULT.POLICY). Sólo se devuelven los mensajes con un CORRELID de '1234'. Se devuelven todas las columnas. SELECT * FROM table (MQREADALLCLOB()) T WHERE T.CORRELID = '1234' Ejemplo 4: Este ejemplo recibe los 10 primeros mensajes del principio de la cola especificada por el servicio por omisión (DB2.DEFAULT.SERVICE), utilizando la política por omisión (DB2.DEFAULT.POLICY). Se devuelven todas las columnas. SELECT * FROM table (MQREADALLCLOB(10)) T 42.5.2.2 MQRECEIVEALLCLOB >>-MQRECEIVEALLCLOB--(------------------------------------------> >--+----------------------------------------------------------------+--> '-servicio-recepción--+----------------------------------------+-' '-,--política-servicio--+--------------+-' '-,--id-correl-' >--+------------------+--)------------------------------------->< '-+---+--núm-filas-' '-,-' El esquema es DB2MQ. La función MQRECEIVEALLCLOB devuelve una tabla que contiene los mensajes y metadatos de mensajes procedentes de la ubicación de MQSeries especificada por servicio-recepción, utilizando la política de calidad de servicio política-servicio. Al realizar esta operación se eliminan los mensajes de la cola asociada con servicio-recepción. Si se especifica un id-correl, sólo se devuelven los mensajes con un identificador de correlación que coincida. Si no se especifica correl-id, se devuelve el primer mensaje de la cola. Si se especifica núm-filas, se devolverá un máximo de núm-filas mensajes. Si no se especifica núm-filas, se devolverán todos los mensajes disponibles. La tabla devuelta contiene las siguientes columnas: * MSG - una columna CLOB que contiene el contenido del mensaje de MQSeries. * CORRELID - una columna VARCHAR(24) que alberga un ID de correlación que se utiliza para relacionar mensajes. * TOPIC - una columna VARCHAR(40) que alberga el tema con el que se publicó el mensaje, si está disponible. * QNAME - una columna VARCHAR(48) que alberga el nombre de la cola en la que se ha recibido el mensaje. * MSGID - una columna CHAR(24) que alberga el identificador exclusivo de MQSeries asignado para este mensaje. * MSGFORMAT - una columna VARCHAR(8) que alberga el formato del mensaje, tal como lo ha definido MQSeries. Las series típicas tienen un formato MQSTR. servicio-recepción Una serie que contiene el destino lógico de MQSeries desde el que se recibe el mensaje. Si se especifica, el servicio-recepción debe hacer referencia a un punto de servicio definido en el archivo de repositorio AMT.XML. Un punto de servicio es un punto final lógico desde el que se envía o en el que se recibe un mensaje. Las definiciones de puntos de servicio incluyen el nombre de MQSeries Queue Manager y de la cola. Consulte el manual MQSeries Application Messaging Interface para obtener más información. Si no se especifica servicio-recepción, se utilizará DB2.DEFAULT.SERVICE. El tamaño máximo de servicio-recepción es de 48 bytes. política-servicio Una serie que contiene la política de servicio AMI de MQSeries que se utiliza para manejar este mensaje. Si se especifica, la política-servicio hace referencia a una política definida en el archivo de repositorio AMT.XML. Una política de servicio define una serie de opciones de calidad de servicio que se deben aplicar a esta operación de gestión de mensajes. Estas opciones incluyen prioridad y permanencia del mensaje. Consulte el manual MQSeries Application Messaging Interface para obtener más información. Si no se especifica política-servicio, se utiliza DB2.DEFAULT.POLICY por omisión. El tamaño máximo de política-servicio es 48 bytes. id-correl Una serie opcional que contiene un identificador de correlación asociado con este mensaje. El id-correl se suele especificar en escenarios de petición y respuesta para asociar peticiones con respuestas. Si no se especifica, no se especifica ningún id de correlación. El tamaño máximo de id-correl es 24 bytes. núm-filas Un entero positivo que contiene el número máximo de mensajes que devolverá la función. Ejemplos: Ejemplo 1: Este ejemplo recibe todos los mensajes procedentes de la cola especificada por el servicio por omisión (DB2.DEFAULT.SERVICE), utilizando la política por omisión (DB2.DEFAULT.POLICY). Los mensajes y todos los metadatos se devuelven como una tabla. SELECT * FROM table (MQRECEIVEALLCLOB()) T Ejemplo 2: Este ejemplo recibe todos los mensajes procedentes del principio de la cola especificada por el servicio MYSERVICE, utilizando la política por omisión (DB2.DEFAULT.POLICY). Sólo se devuelven las columnas MSG y CORRELID. SELECT T.MSG, T.CORRELID FROM table (MQRECEIVEALLCLOB('MYSERVICE')) T Ejemplo 3: Este ejemplo recibe todos los mensajes del principio de la cola especificada por el servicio "MYSERVICE", utilizando la política "MYPOLICY". Sólo se devuelven los mensajes con un CORRELID de '1234'. Sólo se devuelven las columnas MSG y CORRELID. SELECT T.MSG, T.CORRELID FROM table (MQRECEIVEALLCLOB('MYSERVICE','MYPOLICY','1234')) T Ejemplo 4: Este ejemplo recibe los 10 primeros mensajes del principio de la cola especificada por el servicio por omisión (DB2.DEFAULT.SERVICE), utilizando la política por omisión (DB2.DEFAULT.POLICY). Se devuelven todas las columnas. SELECT * FROM table (MQRECEIVEALLCLOB(10)) T 42.5.3 Ahora se soportan datos CLOB en funciones de MQSeries Las funciones de MQSeries (definidas en el esquema DB2MQ) incluyen ahora un funcionamiento que permite utilizarlas con datos CLOB además de hacerlo con datos VARCHAR. En algunos casos, ahora existe una nueva función para manejar el tipo de datos CLOB; en otros, la función que ya existía maneja ahora tanto datos CLOB como datos VARCHAR. En cualquier caso, la sintaxis de una función CLOB es idéntica a la de su equivalente VARCHAR. En la tabla siguiente se listan las funciones que soportan el uso de datos CLOB, y sus funciones VARCHAR equivalentes: Tabla 17. Funciones de MQSeries que soportan el tipo de datos CLOB Función a utilizar para datos Función a utilizar para datos CLOB VARCHAR MQPUBLISH MQPUBLISH MQREAD MQREADCLOB MQRECEIVE MQRECEIVECLOB MQSEND MQSEND MQREADALL MQREADALLCLOB MQRECEIVEALL MQRECEIVEALLCLOB Para obtener información sobre cómo habilitar las funciones de MQSeries (definidas en el esquema DB2MQ), consulte MQSeries. ------------------------------------------------------------------------ 42.6 Información sobre tipos de datos 42.6.1 Promoción de tipos de datos La tabla 5 de este apartado muestra la lista de prioridad para cada tipo de datos. Por favor, tenga en cuenta que: 1. Para una base de datos Unicode, se considera que los siguientes tipos de datos son equivalentes: o CHAR y GRAPHIC o VARCHAR y VARGRAPHIC o LONG VARCHAR y LONG VARGRAPHIC o CLOB y DBCLOB 2. En una base de datos Unicode, es posible crear funciones en las que la única diferencia de la signatura de función se da entre los tipos de datos CHAR y GRAPHIC equivalentes, por ejemplo foo(CHAR(8)) y foo(GRAPHIC(8)). Les recomendamos encarecidamente que no definan tales funciones de duplicación ya que la migración a un futuro release obligará a que uno de ellos se elimine antes de que continúe la migración. Si existen dichas funciones duplicadas, la elección de la que se ha de invocar se determina por medio de un algoritmo en dos pases. El primer pase intenta hallar una correspondencia utilizando el mismo algoritmo que se utiliza para resolver funciones en una base de datos no Unicode. Si no se encuentra ninguna correspondencia, se efectuará un segundo pase teniendo en cuenta la prioridad de promoción siguiente para las series CHAR y GRAPHIC: GRAPHIC-->CHAR-->VARGRAPHIC-->VARCHAR-->LONG VARGRAPHIC-->LONG VARCHAR--> -->DBCLOB-->CLOB 42.6.2 Difusión entre tipos de datos La entrada siguiente se ha añadido a la lista introducida como: "Se da soporte a las siguientes difusiones que implican tipos diferentes": * Para una base de datos Unicode, difusión desde un VARCHAR o VARGRAPHIC a un tipo DT diferente con un tipo de datos fuente CHAR o GRAPHIC. Lo que se muestra a continuación son actualizaciones a la "Tabla 6. Difusiones soportadas entre tipos de datos incorporados". Sólo se incluyen las filas afectadas de la tabla. Tabla 18. Difusiones soportadas entre tipos de datos incorporados L O N L G O V V Tipo de datos de destino N A A > G R R V V G G G A A R R R D R R A A A B C C C C P P P C H H H L H H H L A A A O I I I O Tipo de datos fuente V R R R B C C C B CHAR Y Y Y Y S1 S1 - - VARCHAR Y Y Y Y S1 S1 - - LONGVARCHAR Y Y Y Y - - S1 S1 CLOB Y Y Y Y - - - S1 GRAPHIC S1 S1 - - Y Y Y Y VARGRAPHIC S1 S1 - - Y Y Y Y LONGVARGRAPHIC - - S1 S1 Y Y Y Y DBCLOB - - - S1 Y Y Y Y 1 La difusión sólo está soportada para bases de datos Unicode. 42.6.3 Asignaciones y comparaciones Las asignaciones y comparaciones que implican tanto datos de tipo carácter como gráficos sólo están soportadas cuando una de las series es un literal. Para la resolución de funciones, los literales gráficos y los literales de tipo carácter se corresponderán tanto con los parámetros de función gráfica como con los de tipo carácter. Lo que se muestra a continuación son actualizaciones a la "Tabla 7. Compatibilidad de tipo de datos para asignaciones y comparaciones". Sólo se incluyen las filas afectadas de la tabla y la nueva nota a pie de página 6: Indic. Entero Número Coma Serie de Serie de la Serie Operandos binario decimal flotante caracteres gráfica Fecha Hora hora binaria UDT Serie de No No No Sí Sí 6 1 1 1 No 3 2 caracteres Serie No No No Sí 6 Sí No No No No 2 gráfica 6 Sólo está soportada para bases de datos Unicode. 42.6.3.1 Asignaciones de serie Asignación de almacenamiento El último párrafo de este subapartado se modifica del modo siguiente: Cuando se asigna una serie a una columna de longitud fija y la longitud de la serie es inferior al atributo de longitud del destino, la serie se rellena a la derecha con el número necesario de blancos de un único byte, de doble byte o UCS-22. El carácter de relleno es siempre un blanco incluso para las columnas que se definen con el atributo FOR BIT DATA. Asignación de recuperación El tercer párrafo de este subapartado se modifica del modo siguiente: Cuando se asigna una serie de caracteres a una variable de longitud fija y la longitud de la serie es inferior al atributo de longitud del destino, la serie se rellena a la derecha con el número necesario de blancos de un único byte, de doble byte o UCS-22. El carácter de relleno es siempre un blanco incluso para las series que se definen con el atributo FOR BIT DATA. 2 UCS-2 define varios caracteres SPACE con propiedades diferentes. Para una base de datos Unicode, el gestor de bases de datos siempre utiliza ASCII SPACE en la posición x'0020' como blanco UCS-2. Para una base de datos EUC, el IDEOGRAPHIC SPACE de la posición x'3000' se utiliza para rellenar gráficos GRAPHIC. Normas de conversión para asignaciones de serie Se ha añadido el párrafo siguiente al final de este subapartado: Para las bases de datos Unicode, las series de caracteres pueden asignarse a una columna gráfica y pueden asignarse series gráficas a una columna de caracteres. Consideraciones para asignaciones de serie gráfica El primer párrafo de este subapartado se ha modificado del modo siguiente: Las asignaciones de serie gráfica se procesan de un modo análogo al de las series de caracteres. Para bases de datos no Unicode, los tipos de datos de serie gráfica son únicamente compatibles con otros tipos de datos de serie gráfica y nunca con tipos de datos numéricos, de serie de caracteres o de fecha y hora. Para bases de datos no Unicode, los tipos de datos de serie gráfica son compatibles con tipos de datos de serie gráfica. 42.6.3.2 Comparaciones de series Normas de conversión para la comparación Este subapartado se ha modificado del modo siguiente: Cuando se comparan dos series, una de las series se convierte en primer lugar, si es necesario, al esquema de codificación y/o página de códigos de la otra serie. Para obtener más detalles, consulte el apartado "Normas para conversiones de serie" del "Capítulo 3. Elementos de lenguaje" del manual Consulta de SQL. 42.6.4 Normas para los tipos de datos de resultado 42.6.4.1 Series de caracteres y de gráficos en una base de datos Unicode Éste es un subapartado nuevo que se inserta detrás del subapartado "Series gráficas". En una base de datos Unicode, las series de caracteres y las series gráficas son compatibles. Si un operando es... Y el otro operando El tipo de datos del es... resultado es... GRAPHIC(x) CHAR(y) o GRAPHIC(y) GRAPHIC(z) donde z = max(x,y) VARGRAPHIC(x) CHAR(y) o VARCHAR(y) VARGRAPHIC(z) donde z = max(x,y) VARCHAR(x) GRAPHIC(y) o VARGRAPHIC VARGRAPHIC(z) donde z = max(x,y) LONG VARGRAPHIC CHAR(y) o VARCHAR(y) o LONG VARGRAPHIC LONG VARCHAR LONG VARCHAR GRAPHIC(y) o LONG VARGRAPHIC VARGRAPHIC(y) DBCLOB(x) CHAR(y) o VARCHAR(y) o DBCLOB(z) donde z = CLOB(y) max(x,y) DBCLOB(x) LONG VARCHAR DBCLOB(z) donde z = max(x,16350) CLOB(x) GRAPHIC(y) o DBCLOB(z) donde z = VARGRAPHIC(y) max(x,y) CLOB(x) LONG VARGRAPHIC DBCLOB(z) donde z = max(x,16350) 42.6.5 Normas para las conversiones de serie Se ha añadido el tercer punto a la lista siguiente de esta sección: Para cada par de páginas de códigos, el resultado lo determina la aplicación secuencial de las normas siguientes: * Si las páginas de códigos son iguales, el resultado es esa página de códigos. * Si una de las páginas de códigos es BIT DATA (página de códigos 0), la página de códigos de resultados es BIT DATA. * En una base de datos Unicode, si una página de códigos indica datos en un esquema de codificación diferente de otra página de códigos, el resultado es UCS-2 por encima de UTF-8 (es decir, el tipo de datos gráfico por encima del tipo de datos de carácter).1 * En caso contrario, la página de códigos de resultados la determina la Tabla 8 del apartado "Normas para conversiones de serie" del "Capítulo 3. Elementos de lenguaje" del manual Consulta de SQL. Una entrada de "primera" en la tabla significa que se ha seleccionado la página de códigos del primer operando y una entrada de "segunda" significa que se ha seleccionado la página de códigos del segundo operando. 1 En una base de datos no Unicode, no se da soporte a la conversión entre nombres de codificación diferentes. 42.6.6 Expresiones Se ha añadido lo siguiente: En una base de datos Unicode, una expresión que acepte una serie de caracteres o gráfica aceptará cualquier tipo de serie para el que se dé soporte a la conversión. 42.6.6.1 Con el operador de concatenación Se ha añadido lo siguiente al final de este subapartado: En una base de datos Unicode, la concatenación que implica tanto a los operandos de serie de caracteres como a los operandos de serie gráfica convertirá en primer lugar los operandos de carácter en operandos gráficos. Tenga en cuenta que en una base de datos no Unicode, la concatenación no puede implicar ni a operandos de caracteres ni a gráficos. 42.6.7 Predicados La entrada siguiente se ha añadido a la lista introducida por la sentencia: "Las normas siguientes se aplican a todos los tipos de predicados": * En una base de datos Unicode, todos los predicados que aceptan una serie de caracteres o gráfica aceptarán cualquier tipo de serie para el que se dé soporte a la conversión. ------------------------------------------------------------------------ 42.7 Información sobre Unicode 42.7.1 Funciones escalares y Unicode En una base de datos Unicode, todas las funciones escalares que aceptan una serie de caracteres o gráfica aceptarán cualquier tipo de serie que disponga de soporte de conversión. ------------------------------------------------------------------------ 42.8 Compatibilidad del tipo GRAPHIC y DATE/TIME/TIMESTAMP En las secciones siguientes, las referencias a los valores de fecha y hora que tienen representaciones de "series de caracteres" se han cambiado a representaciones de "serie". Ahora DB2 soporta, sólo para bases de datos Unicode, representaciones de "serie gráfica" de los valores de fecha y hora. 42.8.1 Representaciones de serie de los valores de fecha y hora Los valores cuyos tipos de datos son DATE, TIME o TIMESTAMP se representan en un formato interno que es transparente para el usuario. Sin embargo, los valores de fecha, hora e indicación de fecha y hora pueden representarse también mediante series. Esto es útil porque no existen constantes o variables cuyos tipos de datos sean DATE, TIME o TIMESTAMP. Para poderlo recuperar, un valor de fecha y hora debe asignarse una variable de tipo serie. Se puede utilizar la función CHAR o la función GRAPHIC (sólo para bases de datos Unicode) para cambiar un valor de fecha y hora por una representación de serie. La representación de serie es normalmente el formato por omisión de los valores de fecha y hora asociados con el código de país/región de la base de datos, a no ser que éstos se alteren temporalmente mediante la especificación de la opción DATETIME cuando se precompila o se enlaza el programa a la base de datos. Independientemente de su longitud, no se puede utilizar una serie de objeto grande, un valor LONG VARCHAR ni un valor LONG VARGRAPHIC para representar un valor de fecha y hora (SQLSTATE 42884). Cuando se utiliza una representación de serie válida de un valor de fecha y hora en una operación con un valor de fecha y hora interno, la representación de serie se convierte al formato interno del valor de fecha, hora o indicación de fecha y hora antes de que se realice la operación. Las series de fecha, hora e indicación de fecha y hora sólo deben contener caracteres y dígitos. 42.8.1.1 Series de fecha, series de hora y series de indicación de fecha y hora Las definiciones de estos términos se han modificado ligeramente. Las referencias a las representaciones de "serie de caracteres" se han cambiado por representaciones de "serie". 42.8.2 Difusión entre tipos de datos Ahora DATE, TIME y TIMESTAMP pueden difundirse a GRAPHIC y VARGRAPHIC. GRAPHIC y VARGRAPHIC pueden difundirse ahora a DATE, TIME y TIMESTAMP. El soporte de serie gráfica sólo está disponible para bases de datos Unicode. 42.8.3 Asignaciones y comparaciones Ahora existe compatibilidad de tipo de datos para las asignaciones y comparaciones entre las series de gráficas y los valores de DATE, TIME y TIMESTAMP. El soporte de serie gráfica sólo está disponible para bases de datos Unicode. 42.8.4 Asignaciones de fecha y hora La norma básica para las asignaciones de fecha y hora consiste en que un valor DATE, TIME o TIMESTAMP sólo se puede asignar a una columna con un tipo de datos que coincida (DATE, TIME o TIMESTAMP) o a una columna de serie o variable de tipo serie de longitud fija o variable. La asignación no debe realizarse a una columna o variable LONG VARCHAR, CLOB, LONG VARGRAPHIC, DBCLOB o BLOB. Cuando se asigne un valor de fecha y hora a una columna de serie o variable de tipo serie, la conversión a una representación de serie es automática. Los ceros iniciales no se omiten de ninguna parte de la fecha, la hora o la indicación de fecha y hora. La longitud necesaria del destino variará, en función del formato de la representación de serie. Si la longitud del destino es mayor que la longitud necesaria y el destino es una serie de longitud fija, dicha longitud se rellenará a la derecha con espacios en blanco. Si la longitud del destino es menor que la longitud necesaria, el resultado dependerá del tipo de valor de fecha y hora implicado y del tipo de destino. Cuando el destino es una variable de sistema principal, se aplican las normas siguientes: * DATE: Si la longitud de la variable es inferior a 10 caracteres, se produce un error. * TIME: Si se utiliza el formato USA, la longitud de la variable no debe ser inferior a 8 caracteres; en otros formatos la longitud no debe ser inferior a 5 caracteres. Si se utilizan formatos ISO o JIS y si la longitud de la variable de sistema principal es inferior a 8 caracteres, la parte de segundos de la hora se omite del resultado y se asigna a la variable de indicador, si se ha proporcionado. Se establece el campo SQLWARN1 de SQLCA para indicar la omisión. * TIMESTAMP: Si la variable de sistema principal es inferior a 19 caracteres, se produce un error. Si la longitud de la variable es inferior a 26 caracteres, pero mayor que o igual a 19 caracteres, se omiten los dígitos de cola de la parte de microsegundos del valor. Se establece el campo SQLWARN1 de SQLCA para indicar la omisión. 42.8.5 DATE >>-DATE--(--expresión--)--------------------------------------->< Es esquema es SYSIBM. La función DATE devuelve una fecha a partir de un valor. El argumento debe ser una fecha, una indicación de fecha y hora, un número positivo menor que o igual a 3.652.059, una representación de serie válida de una fecha o indicación de fecha y hora o una serie de longitud 7 que no sea LONG VARCHAR, CLOB, LONG VARGRAPHIC, DBCLOB o BLOB. Sólo las bases de datos Unicode soportan un argumento que sea una representación de serie gráfica de una fecha o una indicación de fecha y hora. Si el argumento es una serie de longitud 7, debe representar una fecha válida en el formato aaaannn, donde aaaa son dígitos que indican un año y nnn son dígitos entre 001 y 366, que indican un día de dicho año. El resultado de la función es una fecha. Si el argumento puede ser nulo, el resultado puede ser nulo; si el argumento es nulo, el resultado es el valor nulo. Las demás normas dependen del tipo de datos del argumento: * Si el argumento es una fecha, una indicación de fecha y hora o una representación de serie válida de una fecha o de una indicación de fecha y hora: o El resultado es la parte de fecha del valor. * Si el argumento es un número: o El resultado es la fecha que es n-1 días después del 1 de enero de 0001, donde n es la parte integral del número. * Si el argumento es una serie con una longitud de 7: o El resultado es la fecha representada por la serie. Ejemplos: Suponga que la columna RECEIVED (indicación de fecha y hora) tiene un valor interno equivalente a '1988-12-25-17.12.30.000000'. * Este ejemplo produce una representación interna de '1988-12-25'. DATE(RECEIVED) * Este ejemplo produce una representación interna de '1988-12-25'. DATE('1988-12-25') * Este ejemplo produce una representación interna de '1988-12-25'. DATE('25.12.1988') * Este ejemplo produce una representación interna de '0001-02-04'. DATE(35) 42.8.6 GRAPHIC >>-GRAPHIC--(--expresión-gráfica--+-----------+--)------------->< '-,--entero-' Es esquema es SYSIBM. La función GRAPHIC devuelve una representación GRAPHIC de un tipo de serie gráfica o una representación GRAPHIC de un tipo de indicación de fecha y hora. expresión-gráfica Expresión que devuelve un valor es una serie gráfica. entero Valor entero que especifica el atributo de longitud del tipo de datos GRAPHIC resultante. El valor debe estar entre 1 y 127. Si no se especifica entero, la longitud del resultado es igual a la longitud del primer argumento. El resultado de la función es un GRAPHIC. Si el argumento puede ser nulo, el resultado puede ser nulo; si el argumento es nulo, el resultado es el valor nulo. Fecha y hora a gráfico >>-GRAPHIC--(--expresión-fechahora--+--------------+--)-------->< '-,--+-ISO---+-' +-USA---+ +-EUR---+ +-JIS---+ '-LOCAL-' Fecha y hora a gráfico expresión-fechahora Expresión que es de uno de los tres tipos de datos siguientes date El resultado es la representación de serie gráfica de la fecha en el formato especificado por el segundo argumento. La longitud del resultado es 10. Se produce un error si se especifica el segundo argumento y éste no es un valor válido (SQLSTATE 42703). time El resultado es la representación de serie gráfica de la hora en el formato especificado por el segundo argumento. La longitud del resultado es 8. Se produce un error si se especifica el segundo argumento y éste no es un valor válido (SQLSTATE 42703). timestamp El segundo argumento no es aplicable y no se debe especificar (SQLSTATE 42815). El resultado es la representación de serie gráfica de la indicación de fecha y hora. La longitud del resultado es 26. La página de códigos de la serie es la página de códigos de la base de datos en el servidor de aplicaciones. 42.8.7 TIME >>-TIME--(--expresión--)--------------------------------------->< Es esquema es SYSIBM. La función TIME devuelve una hora a partir de un valor. El argumento debe ser una hora, una indicación de fecha y hora o una representación de serie válida de una hora o de una indicación de fecha y hora que no sea LONG VARCHAR, CLOB, LONG VARGRAPHIC, DBCLOB o BLOB. Sólo las bases de datos Unicode soportan un argumento que sea una representación de serie gráfica de una hora o de una indicación de fecha y hora. El resultado de la función es una hora. Si el argumento puede ser nulo, el resultado puede ser nulo; si el argumento es nulo, el resultado es el valor nulo. Las demás normas dependen del tipo de datos del argumento: * Si el argumento es una hora: o El resultado es dicha hora. * Si el argumento es una indicación de fecha y hora: o El resultado es la parte de hora de la indicación de fecha y hora. * Si el argumento es una serie: o El resultado es la hora representada por la serie. Ejemplo: * Seleccione todas las notas de la tabla de ejemplo IN_TRAY que se han recibido al menos una hora después del día (cualquier día) de la hora actual. SELECT * FROM IN_TRAY WHERE TIME(RECEIVED) >= CURRENT TIME + 1 HOUR 42.8.8 TIMESTAMP >>-TIMESTAMP--(--expresión--+------------+--)------------------>< '-,expresión-' Es esquema es SYSIBM. La función TIMESTAMP devuelve una indicación de fecha y hora a partir de un valor o de un par de valores. Sólo las bases de datos Unicode soportan un argumento que sea una representación de serie gráfica de una fecha, una hora o una indicación de fecha y hora. Las normas para los argumentos dependen de que se especifique o no el segundo argumento. * Si sólo se especifica un argumento: o Debe ser una indicación de fecha y hora, una representación de serie válida de una indicación de fecha y hora o una serie de longitud 14 que no sea LONG VARCHAR, CLOB, LONG VARGRAPHIC, DBCLOB o BLOB. Una serie de longitud 14 debe ser una serie de dígitos que represente una fecha y hora válida en el formato aaaaxxddhhmmss, donde aaaa es el año, xx es el mes, dd es el día, hh es la hora, mm son los minutos y ss son los segundos. * Si se especifican ambos argumentos: o El primer argumento debe ser una fecha o una representación de serie válida de una fecha y el segundo argumento debe ser una hora o una representación de serie válida de una hora. El resultado de la función es una indicación de fecha y hora. Si cualquiera de los argumentos puede ser nulo, el resultado puede ser nulo; si cualquiera de los argumentos es nulo, el resultado es el valor nulo. Las demás normas dependen de que se especifique el segundo argumento: * Si se especifican ambos argumentos: o El resultado es una indicación de fecha y hora con la fecha especificada por el primer argumento y la hora especificada por el segundo argumento. La parte de microsegundos de la indicación de fecha y hora es cero. * Si sólo se especifica un argumento y es una indicación de fecha y hora: o El resultado es esa indicación de fecha y hora. * Si sólo se especifica un argumento y es una serie: o El resultado es la indicación de fecha y hora representada por dicha serie. Si el argumento es una serie de longitud 14, la indicación de fecha y hora tiene una parte de microsegundos de cero. Ejemplo: * Suponga que la columna START_DATE (fecha) tiene un valor equivalente a 1988-12-25 y la columna START_TIME (hora) tiene un valor equivalente a 17.12.30. TIMESTAMP(START_DATE, START_TIME) Devuelve el valor '1988-12-25-17.12.30.000000'. 42.8.9 VARGRAPHIC Carácter a Vargraphic: >>-VARGRAPHIC--(--expresión-serie-caracteres--)---------------->< Fecha y hora a Vargraphic: >>-VARGRAPHIC--(--expresión-fechahora--)----------------------->< Gráfica a Vargraphic: >>-VARGRAPHIC--(--expresión-serie-gráfica--+-----------+--)---->< '-,--entero-' Es esquema es SYSIBM. La función VARGRAPHIC devuelve una representación de serie gráfica de un: * valor de serie de caracteres, convirtiendo caracteres de un solo byte a caracteres de doble byte, * valor de fecha y hora (sólo se soporta en bases de datos Unicode) * valor de serie gráfica, si el primer argumento es cualquier tipo de serie gráfica. El resultado de la función es una serie gráfica de longitud variable (tipo de datos VARGRAPHIC). Si el primer argumento puede ser nulo, el resultado puede ser nulo; si el primer argumento es nulo, el resultado es el valor nulo. Carácter a Vargraphic expresión-serie-caracteres Expresión cuyo valor debe ser de un tipo de datos de serie de caracteres distinto de LONG VARCHAR o CLOB y cuya longitud máxima no debe exceder de 16.336 bytes. El atributo de longitud del resultado es igual al atributo de longitud del argumento. Supongamos que S indica el valor de la expresión-serie-caracteres. Cada carácter de un solo byte de S se convierte a su representación de doble byte equivalente o al carácter de sustitución de doble byte en el resultado; cada carácter de doble byte de S se correlaciona 'tal cual'. Si el primer byte de un carácter de doble byte aparece como el último byte de S, se convierte en el carácter de sustitución de doble byte. Se conserva el orden secuencial de los caracteres en S. A continuación se proporcionan consideraciones adicionales acerca de la conversión. * Para una base de datos Unicode, esta función convierte la serie de caracteres de la página de códigos del operando a UCS-2. Se convierte cada carácter del operando, incluidos los caracteres DBCS. Si se proporciona el segundo argumento, éste especifica la longitud deseada (número de caracteres UCS-2) de la serie UCS-2 resultante. * La conversión a elementos de código de doble byte por parte de la función VARGRAPHIC se basa en la página de códigos del operando. * Los caracteres de doble byte del operando no se convierten. Todos los demás caracteres se convierten a su representación de doble byte correspondiente. Si no existe ninguna representación de doble byte correspondiente, se utiliza el carácter de sustitución de doble byte para la página de códigos. * No se genera ningún código de aviso o error si se devuelven uno o más caracteres de sustitución de doble byte en el resultado. Fecha y hora a Vargraphic expresión-fechahora Expresión cuyo valor debe ser del tipo de datos DATE, TIME o TIMESTAMP. Gráfica a Vargraphic expresión-serie-gráfica Expresión que devuelve un valor que es una serie gráfica. entero Atributo de longitud para la serie gráfica de longitud variable resultante. El valor debe estar entre 0 y 16.336. Si no se especifica este argumento, la longitud del resultado es igual a la longitud del argumento. Si la longitud de la expresión-serie-gráfica es mayor que el atributo de longitud del resultado, se realiza un truncamiento y se devuelve un aviso (SQLSTATE 01004), a menos que los caracteres truncados sean espacios en blanco y la expresión-serie-gráfica no sea una serie larga (LONG VARGRAPHIC o DBCLOB). ------------------------------------------------------------------------ 42.9 Claves de índice mayores para bases de datos Unicode 42.9.1 ALTER TABLE La longitud de las columnas de longitud variable que forman parte de un índice cualquiera, incluidas las claves principales y exclusivas, definidas cuando la variable del registro DB2_INDEX_2BYTEVARLEN tenía el valor ON, se puede modificar para que sea mayor que 255 bytes. El hecho de que una columna de longitud variable esté asociada a una clave externa ya no impide que modificar la longitud de esa columna para que sea mayor que 255 bytes, para cualquiera sea el valor de la variable del registro. Sin embargo, los datos más largos de 255 bytes no se pueden insertar en la tabla a menos que la columna de la correspondiente clave primaria sea mayor que 255 bytes, lo cual sólo es posible si la clave primaria se creó cuando la variable del registro tenía el valor ON. 42.9.2 CREATE INDEX Se pueden definir índices en columnas de longitud variable cuya longitud sea mayor que 255 bytes si la variable del registro DB2_INDEX_2BYTEVARLEN tiene el valor ON. 42.9.3 CREATE TABLE Las claves principales y exclusivas con partes variables pueden tener un tamaño mayor que 255 si la variable de registro DB2_INDEX_2BYTEVARLEN tiene el valor ON (activado). Se pueden definir claves externas en columnas de longitud variable cuya longitud sea mayor que 255 bytes. ------------------------------------------------------------------------ 42.10 Sección de notas de la sentencia ALLOCATE CURSOR incorrecta Los elementos de los dos puntos de la sección Notas de la sentencia ALLOCATE CURSOR se imprimieron por error. Haga caso omiso de la información contenida en estos elementos. ------------------------------------------------------------------------ 42.11 Opciones adicionales de la sentencia GET DIAGNOSTICS Sentencia GET DIAGNOSTICS La sentencia GET DIAGNOSTICS se utiliza para obtener información sobre la sentencia de SQL ejecutada anteriormente. La sintaxis de esta sentencia se ha actualizado de la siguiente manera: Sintaxis del mandato >>-GET DIAGNOSTICS----------------------------------------------> >--+-nombre-variable-SQL--=--+-ROW_COUNT-----+-+--------------->< | '-RETURN_STATUS-' | '-| información-condición |-----------------' información-condición |--EXCEPTION--1-------------------------------------------------> .-,--------------------------------------------. V | >----nombre-variable-SQL--=--+-MESSAGE_TEXT-----+-+-------------| '-DB2_TOKEN_STRING-' Parámetros del mandato nombre-variable-SQL Identifica la variable que es el destino de la asignación. Si se especifica ROW_COUNT o RETURN_STATUS, la variable debe ser un entero. De lo contrario, la variable debe ser CHAR o VARCHAR. Pueden definirse variables de SQL en una sentencia compuesta. ROW_COUNT Identifica el número de filas asociadas con la sentencia de SQL anterior. Si la sentencia de SQL anterior es DELETE, INSERT o UPDATE, la cláusula ROW_COUNT identifica el número de filas suprimidas, insertadas o actualizadas por esa sentencia, de las cuales excluye las filas afectadas por desencadenantes o restricciones de integridad de referencia. Si la sentencia anterior es PREPARE, la cláusula ROW_COUNT identifica el número estimado de filas de resultados en la sentencia preparada. RETURN_STATUS Identifica el valor de estado devuelto por el procedimiento almacenado que está asociado con la sentencia de SQL ejecutada anteriormente, siempre y cuando la sentencia fuera una sentencia CALL invocando un procedimiento que devuelve un estado. Si la sentencia anterior no es de este tipo, el valor devuelto no tiene significado y puede ser cualquier entero. información-condición Especifica que debe devolverse la información de error o de aviso sobre la sentencia de SQL ejecutada anteriormente. Si es necesaria información relativa a un error, la sentencia GET DIAGNOSTICS debe ser la primera sentencia especificada en el manejador que se encargará del error. Si es necesaria información relativa a un aviso y si el manejador va a obtener el control de la condición de aviso, la sentencia GET DIAGNOSTICS debe ser la primera sentencia especificada en ese manejador. Si el manejador no va a obtener el control de la condición de aviso, la sentencia GET DIAGNOSTICS debe ser la siguiente sentencia ejecutada. MESSAGE_TEXT Identifica cualquier texto de mensaje de error o aviso devuelto por la sentencia de SQL que se ha ejecutado anteriormente. El texto de mensaje se devuelve en el idioma del servidor de bases de datos donde se ha procesado la sentencia. Si la sentencia se completa con un SQLCODE de cero, se devuelven una serie vacía o espacios en blanco. DB2_TOKEN_STRING Identifica cualquier símbolo de mensaje de error o aviso devuelto por la sentencia de SQL que se ha ejecutado anteriormente. Si la sentencia se completa con un SQLCODE de cero, o si el SQLCODE no tiene símbolos, se devuelven una serie vacía o espacios en blanco. ------------------------------------------------------------------------ 42.12 ORDER BY en subselecciones Ahora DB2 da soporte a ORDER BY en subselecciones y selecciones completas. 42.12.1 Selección completa A continuación, aparece un diagrama de sintaxis parcial de la selección completa modificada que muestra la ubicación de la cláusula order by. >>-+-subselección---------+-------------------------------------> +-(selección-completa)-+ '-| cláusula-values |--' .-------------------------------------------------. V | >----+---------------------------------------------+-+----------> '-+-UNION---------+--+-subselección---------+-' +-UNION ALL-----+ +-(selección-completa)-+ +-EXCEPT--------+ '-| cláusula-values |--' +-EXCEPT ALL----+ +-INTERSECT-----+ '-INTERSECT ALL-' >--+-------------------+--------------------------------------->< '-cláusula-order-by-' Una selección completa que contenga una cláusula ORDER BY no puede especificarse en: * Una tabla de resumen * La selección completa más externa de una vista (SQLSTATE 428FJ SQLCODE -20211) Una cláusula ORDER BY de una selección completa no afecta al orden de las filas devueltas por una consulta. Una cláusula ORDER BY sólo afecta al orden de las filas devueltas si se especifica en la selección completa más externa. 42.12.2 Subselección A continuación se proporciona el diagrama de sintaxis completo de la subselección modificada que muestra la ubicación de la cláusula-order-by. >>-cláusula-select--cláusula-from--+----------------+-----------> '-cláusula-where-' >--+-------------------+--+-----------------+-------------------> '-cláusula-group-by-' '-cláusula-having-' >--+-------------------+--------------------------------------->< '-cláusula-order-by-' Las cláusulas de la subselección se procesan en la secuencia siguiente: 1. Cláusula FROM 2. Cláusula WHERE 3. Cláusula GROUP BY 4. Cláusula HAVING 5. Cláusula SELECT 6. Cláusula ORDER BY Una subselección que contenga una cláusula ORDER BY no puede especificarse en los casos siguientes: * La selección completa más externa de una vista * Una tabla de resumen * Si la subselección no está encerrada entre paréntesis Por ejemplo, no es válido especificar lo siguiente (SQLSTATE 428FJ SQLCODE -20211): SELECT * FROM T1 ORDER BY C1 UNION SELECT * FROM T2 ORDER BY C1 El ejemplo siguiente sí es válido: (SELECT * FROM T1 ORDER BY C1) UNION (SELECT * FROM T2 ORDER BY C1) Una cláusula ORDER BY de una subselección no afecta al orden de las filas devueltas por una consulta. Una cláusula ORDER BY sólo afecta al orden de las filas devueltas si se especifica en la selección completa más externa. 42.12.3 Cláusula order by A continuación, aparece el diagrama de sintaxis completo de la cláusula order by modificada. .-,---------------------------------. V .-ASC--. | >>-ORDER BY----+-clave-clasificación--+------+-+-+------------->< | '-DESC-' | '-ORDER OF--indicador-tabla-----' clave-clasificación |--+-nombre-columna-simple---------+----------------------------| +-entero-simple-----------------+ '-expresión-clave-clasificación-' ORDER OF indicador-tabla Especifica que debe aplicarse a la tabla de resultados de la subselección la misma ordenación utilizada en indicador-tabla. Debe haber una referencia de tabla que coincida con indicador-tabla en la cláusula FROM de la subselección que especifica esta cláusula (SQLSTATE 42703). La subselección (o selección completa) correspondiente al indicador-tabla especificado debe incluir una cláusula ORDER BY que sea dependiente de los datos (SQLSTATE 428FI SQLCODE -20210). La ordenación que se aplica es la misma que habría si las columnas de la cláusula ORDER BY de la subselección anidada (o selección completa) estuvieran incluidas en la subselección externa (o selección completa) y se especificaran tales columnas en lugar de la cláusula ORDER OF. Para conseguir más información sobre los indicadores de tabla, consulte "Calificadores de nombres de columna para evitar la ambigüedad" en el manual Consulta de SQL. Tenga en cuenta que este formato no está permitido en una selección completa (caso distinto del formato degenerativo de una selección completa). Por ejemplo, no es válido lo siguiente: (SELECT C1 FROM T1 ORDER BY C1) UNION SELECT C1 FROM T2 ORDER BY ORDER OF T1 El ejemplo siguiente sí es válido: SELECT C1 FROM (SELECT C1 FROM T1 UNION SELECT C1 FROM T2 ORDER BY C1 ) AS UTABLE ORDER BY ORDER OF UTABLE 42.12.4 Sentencia select A continuación, aparece el diagrama de sintaxis completo de la sentencia select modificada. >>-+---------------------------------+--selección-completa------> | .-,---------------------. | | V | | '-WITH----expresión-tabla-común-+-' >--cláusula-fetch-first--*--+----------------------+------------> +-cláusula-read-only---+ | (1) | '-cláusula-update------' >--*--+-----------------------+--*--+--------------+----------->< '-cláusula-optimize-for-' '-WITH--+-RR-+-' +-RS-+ +-CS-+ '-UR-' Notas: 1. La cláusula update no puede especificarse si la selección completa contiene una cláusula order by.. Sentencia SELECT INTO Sintaxis .-,---------------------------. V | >>-cláusula-select--INTO----variable-lenguaje-principal-+-------> >--cláusula-from--+----------------+--+-------------------+-----> '-cláusula-where-' '-cláusula-group-by-' >--+-----------------+--+-------------------+-------------------> '-cláusula-having-' '-cláusula-order-by-' >--+--------------+-------------------------------------------->< '-WITH--+-RR-+-' +-RS-+ +-CS-+ '-UR-' 42.12.5 Funciones de OLAP (cláusula window order) A continuación, aparece un diagrama de sintaxis parcial para las funciones de OLAP donde se muestra la cláusula window order modificada. cláusula window order |--ORDER BY-----------------------------------------------------> .-,------------------------------------------------------. V .-| opción asc |--. | >----+-expresión-clave-clasificación--+-----------------+-+-+---| | '-| opción desc |-' | '-ORDER OF--indicador-tabla--------------------------' opción asc .-NULLS LAST--. |--ASC--+-------------+-----------------------------------------| '-NULLS FIRST-' opción desc .-NULLS FIRST-. |--DESC--+-------------+----------------------------------------| '-NULLS LAST--' ORDER BY (expresión-clave-clasificación,...) Define la ordenación de las filas de una partición que determina el valor de la función de OLAP o el significado de los valores ROW en la cláusula window aggregation group (no define la ordenación del conjunto de resultados de consulta). expresión-clave-clasificación Una expresión utilizada para definir la ordenación de las filas de una partición de ventana. Cada nombre de columna referido en una expresión-clave-clasificación debe hacer referencia sin ambigüedad a una columna del conjunto de resultados de la subselección, incluida la función de OLAP (SQLSTATE 42702 o 42703). La longitud de cada expresión-clave-clasificación no debe superar los 255 bytes (SQLSTATE 42907). Una expresión-clave-clasificación no puede incluir una selección completa escalar (SQLSTATE 42822) ni ninguna función que no sea determinista o que tenga una acción externa (SQLSTATE 42845). Esta cláusula es necesaria para las funciones RANK y DENSE_RANK (SQLSTATE 42601). ASC Utiliza los valores de la expresión-clave-clasificación en orden ascendente. DESC Utiliza los valores de la expresión-clave-clasificación en orden descendente. NULLS FIRST La ordenación de ventana tiene en cuenta los valores nulos antes que todos los valores no nulos en el orden clasificatorio. NULLS LAST La ordenación de ventana tiene en cuenta los valores nulos después de todos los valores no nulos en el orden clasificatorio. ORDER OF indicador-tabla Especifica que debe aplicarse a la tabla de resultados de la subselección la misma ordenación utilizada en indicador-tabla. Debe haber una referencia de tabla que coincida con indicador-tabla en la cláusula FROM de la subselección que especifica esta cláusula (SQLSTATE 42703). La subselección (o selección completa) correspondiente al indicador-tabla especificado debe incluir una cláusula ORDER BY que sea dependiente de los datos (SQLSTATE 428FI SQLCODE -20210). La ordenación que se aplica es la misma que habría si las columnas de la cláusula ORDER BY de la subselección anidada (o selección completa) estuvieran incluidas en la subselección externa (o selección completa) y se especificaran tales columnas en lugar de la cláusula ORDER OF. Para conseguir más información sobre los indicadores de tabla, consulte "Calificadores de nombres de columna para evitar la ambigüedad" en el manual Consulta de SQL. ------------------------------------------------------------------------ Nuevo argumento de entrada para el procedimiento GET_ROUTINE_SAR Ahora este procedimiento da soporte al distintivo_hide_body, un argumento de entrada de tipo INTEGER que especifica (utilizando uno de los valores siguientes) si debe ocultarse o no el cuerpo de la rutina cuando el texto de la rutina se extrae de los catálogos: 0 Dejar intacto el texto de la rutina. Éste es el valor por omisión. 1 Sustituir el cuerpo de la rutina por un cuerpo vacío cuando el texto de la rutina se extrae de los catálogos. >>-GET_ROUTINE_SAR----------------------------------------------> >--(--sarblob--,--tipo--,--serie_nombre_rutina--+-------------------------+--)->< '-,--distintivo_hide_body-' ------------------------------------------------------------------------ Autorización necesaria para la sentencia SET INTEGRITY Cuando se utiliza esta sentencia para desactivar la comprobación de integridad, entre los privilegios del ID de autorización de la sentencia debe incluirse, como mínimo, uno de los siguientes: * Privilegio CONTROL sobre: o Las tablas especificadas y o Las tablas de clave foránea descendientes que tendrán la comprobación de integridad desactivada por la sentencia y o Las tablas de resumen inmediatas descendientes que tendrán la comprobación de integridad desactivada por la sentencia * Autorización SYSADM o DBADM * Autorización LOAD ------------------------------------------------------------------------ Apéndice N. Tablas de excepciones En la tabla "Estructura de columna de mensajes de tabla de excepciones", en las filas 2 y 6, que describen los caracteres que indican el tipo de la primera y de la siguiente violación de restricción que se encuentran, respectivamente, falta una referencia a: 'D' - Violación de supresión en cascada ------------------------------------------------------------------------ Actualizaciones de Unicode ------------------------------------------------------------------------ 46.1 Introducción El estándar de Unicode es un esquema de codificación de caracteres universal para caracteres y texto escrito. Define con mucha precisión un juego de caracteres, así como un pequeño número de codificaciones para éste. Define un modo coherente de codificar texto en varios idiomas que permite el intercambio de datos de texto internacionalmente y crea las bases para el software global. Dos de los esquemas de codificación proporcionados por Unicode son UTF-16 y UTF-8. El esquema de codificación por omisión es UTF-16, que es un formato de codificación de 16 bits. UCS-2 es un subconjunto de UTF-16 que utiliza dos bytes para representar un carácter. UCS-2 se acepta normalmente como la página de códigos universal capaz de representar todos los caracteres necesarios de todas las páginas de códigos existentes de un sólo byte y de doble byte. UCS-2 está registrado en IBM como página de códigos 1200. El otro formato de codificación de Unicode es UTF-8, que está orientado a byte y que ha sido diseñado para que se utilice con facilidad con los sistemas existentes basados en ASCII. UTF-8 utiliza un número variable de bytes (normalmente 1-3, a veces 4) para almacenar cada uno de los caracteres. Los caracteres de ASCII invariables se almacenan como bytes únicos. Todos los demás caracteres se almacenan utilizando varios bytes. En general, los datos de UTF-8 pueden tratarse como datos ASCII ampliados por medio de un código que no ha sido diseñado para páginas de códigos de varios bytes. UTF-8 está registrado en IBM como página de códigos 1208. Es importante que las aplicaciones tengan en cuenta los requisitos de la conversión de los datos entre la página de códigos local, UCS-2 y UTF-8. Por ejemplo, 20 caracteres necesitarán exactamente 40 bytes en UCS-2 y entre 20 y 60 bytes en UTF-8, en función de la página de códigos original y de los caracteres utilizados. 46.1.1 Bases de datos y aplicaciones Unicode de DB2 Puede utilizarse una base de datos universal de DB2 para Unix, Windows u OS/2 creada especificando un conjunto de códigos UTF-8 para almacenar datos en formatos UCS-2 y UTF-8. A dicha base de datos se la denomina base de datos Unicode. Los datos de tipo carácter SQL se codifican utilizando UTF-8 y los datos gráficos SQL se codifican utilizando UCS-2. Esto significa que los caracteres MBCS, incluidos los caracteres de un solo byte y de byte doble, se almacenan en columnas de caracteres, y que los caracteres DBCS se almacenan en columnas de gráficos. Es posible que la página de códigos de una aplicación no coincida con la página de códigos que utiliza DB2 para almacenar datos. En una base de datos no Unicode, cuando las páginas de códigos no sean las mismas, el gestor de la base de datos convierte los datos de carácter y de gráfico (DBCS puro) que se transfieren entre el cliente y el servidor. En una base de datos Unicode, la conversión de datos de carácter entre la página de códigos de cliente y UTF-8 la efectúa automáticamente el gestor de la base de datos, pero todos los datos gráficos (UCS-2) se pasan sin conversión alguna entre el cliente y el servidor. Figura 1. Conversiones de página de códigos que efectúa el gestor de la base de datos [Conversiones de página de códigos que efectúa el gestor de la base de datos] Notas: 1. Al conectar con bases de datos Unicode, si la aplicación establece DB2CODEPAGE=1208, la página de códigos local es UTF-8, por lo que no se necesita ninguna conversión de página de códigos. 2. Cuando se conecta a una base de datos Unicode, las aplicaciones de CLI pueden recibir asimismo datos de tipo carácter como datos gráficos y datos gráficos como datos de tipo carácter. Para una aplicación es posible especificar una página de códigos UTF-8, indicando que todos los datos gráficos se enviarán y recibirán en UCS-2 y los datos de tipo carácter en UTF-8. Esta página de códigos de aplicación sólo está soportada para bases de datos Unicode. Otros puntos a tener en cuenta al utilizar Unicode: 1. La página de códigos de la base de datos en el momento en que se creó la base de datos y, por omisión, su valor lo determina el entorno nacional del sistema operativo (o página de códigos). Las palabras clave CODESET y TERRITORY pueden utilizarse para crear explícitamente una base de datos DB2 Unicode. Por ejemplo: CREATE DATABASE unidb USING CODESET UTF-8 TERRITORY US 2. La página de códigos de la aplicación toma asimismo el valor por omisión de la página de códigos local, pero UTF-8 puede alterarla temporalmente de una de estas dos formas: o Definiendo la página de códigos de la aplicación para UTF-8 (1208) con este mandato: db2set DB2CODEPAGE=1208 o Para las aplicaciones CLI/ODBC, llamando a SQLSetConnectAttr() y estableciendo SQL_ATTR_ANSI_APP en SQL_AA_FALSE. El valor por omisión es SQL_AA_TRUE. 3. Los datos de las columnas GRAPHIC adoptarán exactamente dos bytes por cada carácter Unicode, en tanto que los datos de las columnas CHAR adoptarán de 1 a 3 bytes por cada carácter Unicode. Los límites de SQL en términos de caracteres para las columnas GRAPHIC son, habitualmente, la mitad que para las columnas CHAR, pero en términos de bytes son iguales. Por ejemplo, la longitud máxima de caracteres para una columna CHAR es de 254 y l longitud máxima de caracteres para una columna de gráficos es de 127. Para obtener más información, consulte el apartado MAX en el capítulo "Funciones" del manual Consulta de SQL. 4. Un literal gráfico se diferencia de un literal de caracteres por medio de un prefijo G. Por ejemplo: SELECT * FROM mytable WHERE mychar = 'utf-8 data' AND mygraphic = G'ucs-2 data' Nota: El prefijo G es opcional para las bases de datos Unicode. Vea 40.6.2.4, "Literales en bases de datos Unicode" para obtener más información y para soporte actualizado. 5. El soporte para las aplicaciones CLI/ODBC y JDBC difiere del soporte para las aplicaciones intercaladas. Para obtener información específica para el soporte de CLI/ODBC, vea "CLI Guide and Reference". 6. El orden de los bytes de los datos de UCS-2 puede diferir entre las diversas plataformas. Internamente, DB2 utiliza el formato big-endian. 46.1.2 Actualizaciones de documentación Estas notas del release incluyen actualizaciones de la información siguiente sobre la utilización de Unicode con DB2 Versión 7.1: * Consulta de SQL: Capítulo 3. Elementos de lenguaje Capítulo 4. Funciones Capítulo 6. Sentencias de SQL * CLI Guide and Reference: Capítulo 3. Using Advanced Features Apéndice C. DB2 CLI and ODBC * Data Movement Utilities Guide and Reference, Apéndice C. Export/Import/Load Utility File Formats Para obtener más información sobre la utilización de Unicode con DB2, consulte el manual Administration Guide, apéndice de Soporte de idioma nacional (NLS): "Soporte de Unicode en DB2 UDB". ------------------------------------------------------------------------ Conexión con sistemas principales Tabla de contenido parcial * DB2 Connect User's Guide o 47.1 Aumento de la velocidad de transferencia de datos de DB2 Connect + 47.1.1 Bloques de consulta extra + 47.1.2 Window Scaling del RFC-1323 o 47.2 Soporte de DB2 Connect para transacciones acopladas libremente o 47.3 Soporte de Kerberos * Suplemento de conectividad o 48.1 Configuración del servidor de aplicaciones en un entorno VM o 48.2 Valores de PATCH1 y PATCH2 para configuración de CLI/ODBC/JDBC ------------------------------------------------------------------------ DB2 Connect User's Guide ------------------------------------------------------------------------ 47.1 Aumento de la velocidad de transferencia de datos de DB2 Connect Mientras que el bloqueo de filas del conjunto de resultados de una consulta no es nada nuevo, DB2 para z/OS (anteriormente llamado DB2 para OS/390) tenía, desde el release de la Versión 6.1, la posibilidad de devolver varios bloques de consulta en respuesta a una petición OPEN o FETCH efectuada a un cliente remoto, como por ejemplo DB2 Connect. En lugar de enviar repetidamente peticiones al servidor DB2 para z/OS, solicitando un bloque de datos de fila cada vez, ahora el cliente puede solicitar, opcionalmente, que el servidor le envíe un número adicional de bloques de consulta. Estos bloques de consulta adicionales reciben el nombre de bloques de consulta extra. Esta nueva característica permite que el cliente minimice el número de rodeos por la línea de la red, lo cual tiene un importante efecto sobre el rendimiento de la red. La disminución en el número de peticiones de bloques de consulta enviadas por el cliente al servidor se traduce en un incremento significativo del rendimiento, puesto que la conmutación entre un envío y una petición es una operación cara en términos de rendimiento. Ahora, DB2 Connect se puede aprovechar de esta mejora en el rendimiento solicitando bloques de consulta extra, por omisión, a un servidor DB2 para z/OS. Para aprovecharse plenamente de la devolución de bloques de consulta extra (cada uno de los cuales puede llegar a tener una longitud de 32 Kbytes) para el protocolo de red preferido de TCP/IP, también se han habilitado las extensiones de Window Scaling tal como se realiza en el RFC-1323 de DB2 Connect. Esta característica permite que TCP/IP ajuste de forma dinámica y eficaz los tamaños de las ventanas de envío y recepción para acoger las grandes cantidades potenciales de datos devueltas por medio de los bloques de consulta extra. 47.1.1 Bloques de consulta extra El soporte de bloques de consulta extra en servidores DB2 para z/OS en las Versiones 6.1 o posteriores se configura por medio del parámetro EXTRA BLOCKS SRV del panel de instalación de DB2 DDF. Este parámetro controla el número máximo de bloques de consulta extra que DB2 puede devolver a un cliente para una petición, y se puede establecer con un valor entre 0 y 100. Si el valor de este parámetro se establece en 0, se inhabilita la devolución de bloques de consulta extra. Se debe utilizar el valor por omisión, que es de 100, para obtener el máximo provecho de esta característica, salvo las posibles idiosincrasias de la red que hagan que este valor sea inferior al ideal. En la parte del cliente, en que la aplicación accede a DB2 para z/OS directamente a través de una instalación DB2 Connect co-ubicada, o a través de una instalación de servidor DB2 Connect separada, existen diversos métodos para activar el soporte de DB2 Connect correspondiente en base al cursor o a las sentencias, mediante el uso de: * Un tamaño de conjunto de filas de consulta para un cursor * La cláusula 'OPTIMIZE for N ROWS' en la sentencia de selección asociada a un cursor * La cláusula 'FETCH FIRST N ROWS ONLY' en la sentencia de selección asociada a un cursor. La opción 1 no se trata en este apartado porque ya se había implantado formando parte de DB2 para z/OS Scrollable Support en el FixPak 2 de DB2 Connect Versión 7.1. Aquí nos centramos en el uso de las opciones 2 y 3, en lugar de habilitar el soporte de bloques de consulta extra utilizando distintas API de SQL, del modo siguiente: 1. SQL incorporado o Invoque al soporte de bloques de consulta extra para una consulta especificando la cláusula 'OPTIMIZE for N ROWS' y/o la cláusula 'FETCH FIRST N ROWS ONLY' en la propia sentencia de selección. o Con la cláusula 'OPTIMIZE for N ROWS', DB2 para z/OS intentará bloquear el número de filas deseado para devolverlo a DB2 Connect, sujeto al valor del parámetro de instalación EXTRA BLOCKS SRV DDF. La aplicación puede elegir que se capturen más allá de N filas, puesto que DB2 para z/OS no limita a N el número total de filas que se pueden devolver, finalmente, para el conjunto de resultados de la consulta. o La cláusula 'FETCH FIRST N ROWS ONLY' funciona de forma parecida, excepto en que DB2 para z/OS limita a N el conjunto de resultados de la consulta. Si se capturan más allá de N filas, se producirá un código +100 de SQL (fin de datos). 2. CLI/ODBC o Invoque al soporte de bloque de consultas extra para una consulta mediante su atributo de sentencia SQL_MAX_ROWS. o DB2 Connect identificará la cláusula 'OPTIMIZE for N ROWS' para un servidor DB2 para z/OS 6.x. Aunque DB2 para z/OS no limita el número de filas que se pueden devolver finalmente para el conjunto de resultados de la consulta, CLI/ODBC devolverá SQL_NO_DATA_FOUND a la aplicación si se intenta capturar más allá de N filas. o En su lugar se utiliza la cláusula 'FETCH FIRST N ROWS ONLY' para un servidor DB2 para z/OS 7.1 o posteriores. De forma parecida al caso del SQL incorporado, DB2 para z/OS limita el conjunto de resultados de la consulta a N filas. Si se capturan más allá de N filas, se producirá SQL_NO_DATA_FOUND. 3. JDBC o Invoque al soporte de bloque de consultas extra para una consulta mediante el método setMaxRows. De forma parecida a la habilitación de CLI/ODBC, DB2 Connect identificará la cláusula 'OPTIMIZE for N ROWS' para un servidor DB2 para z/OS Versión 6.x , y la cláusula 'FETCH FIRST N ROWS ONLY' para un servidor DB2 para z/OS Versión 7.1 o posteriores. 47.1.2 Window Scaling del RFC-1323 Se soporta Window Scaling como parte del FixPak 4 en todas las plataformas Windows y UNIX que soportan las extensiones del RFC-1323 para TCP/IP. Se puede habilitar esta característica en DB2 para Windows y UNIX por medio de la variable de registro DB2SORCVBUF de DB2. Para habilitar Window Scaling, establezca la variable de registro DB2SORCVBUF de DB2 con cualquier valor por encima de 64 K (por ejemplo, en DB2 para Windows o UNIX, puede emitir db2set DB2SORCVBUF =65537). Los tamaños máximos de los almacenamientos intermedios de envío y recepción dependen del sistema operativo en concreto. Para asegurarse de que se han aceptado los tamaños de almacenamiento intermedio configurados, el usuario puede establecer el parámetro de configuración DIAGLEVEL del gestor de bases de datos en 4 (informativo) y ver si hay mensajes en el archivo db2diag.log. Para que Window Scaling surta efecto, tiene que estar habilitado en ambos extremos de una conexión. Por ejemplo, para habilitar Window Scaling entre la estación de trabajo DB2 Connect y el sistema principal, esta característica debe estar activa tanto en la estación de trabajo como en el sistema principal, ya sea directamente a través de la pila TCP/IP del sistema operativo o indirectamente a través del producto DB2. Por ejemplo, para DB2 para z/OS, actualmente sólo se puede activar Window Scaling a través del sistema operativo, estableciendo TCPRCVBUFRSIZE con cualquier valor por encima de 64 K. Si se utiliza un cliente DB2 remoto para acceder al DB2 del sistema principal a través de una estación de trabajo servidor DB2 Connect, también se puede habilitar Window Scaling en el cliente. Del mismo modo, también se puede habilitar Window Scaling entre un cliente DB2 remoto y un servidor DB2 de estación de trabajo cuando no haya ningún sistema principal DB2 implicado. Aunque Window Scaling ha sido diseñado para mejorar el rendimiento de la red, la mejora esperada en dicho rendimiento no siempre se materializa. Una vez que se ha habilitado Window Scaling, la interacción de factores tales como el tamaño de trama utilizado para el adaptador de LAN Ethernet o de Red en anillo, el tamaño de MTU de IP y otros valores establecidos en direccionadores del enlace de comunicación, pueden ocasionar incluso una disminución del rendimiento. Por omisión, Window Scaling está inhabilitado con los almacenamientos intermedios de envío y recepción establecidos con 64 K. El usuario deberá estar preparado para valorar el impacto de una activación de Window Scaling y para realizar los ajustes necesarios en la red. Para ver una introducción al ajuste de la red a fin de obtener un rendimiento mejorado de la misma, consulte el documento que se encuentra en http://www.networking.ibm.com/per/per10.html. ------------------------------------------------------------------------ 47.2 Soporte de DB2 Connect para transacciones acopladas libremente El soporte en DB2 Connect para transacciones acopladas libremente está destinado a que lo utilice el usuario que implementa aplicaciones XA distribuidas que acceden a DB2 para OS/390 Versión 6 o posterior. Este soporte permite que diferentes ramificaciones de la misma transacción global compartan el espacio de bloqueo en DB2 para OS/390. Esta característica reduce la ventana donde una ramificación de una transacción distribuida encuentra un punto muerto o un tiempo de espera de bloqueo como resultado de otra ramificación dentro de la misma transacción global. En esta situación, DB2 para OS/390 Versión 6 comparte el espacio de bloqueo, a condición de que DB2 Connect envíe el XID en cada conexión que atiende ramificaciones diferentes de la misma transacción global. ------------------------------------------------------------------------ 47.3 Soporte de Kerberos DB2 Universal Database soporta actualmente el protocolo de seguridad Kerberos como un medio de autentificar a los usuarios en el entorno no DRDA. Dado que DB2/390 V7.1 empezará a soportar la seguridad Kerberos, DB2 Connect añadirá funcionalidad de DRDA AR para permitir utilizar la autenticación Kerberos para conectarse a DB2/390. La capa de autenticación Kerberos que maneja el sistema de obtención de documentos está integrada en el mecanismo de Directorio activo de Win2K. Las partes cliente y servidor de una aplicación se comunican con los módulos cliente y servidor del SSP (Security Support Provider - Proveedor de soporte de seguridad) de Kerberos respectivamente. La SSPI (Security Support Provider Interface - Interfaz de proveedor de soporte de seguridad) proporciona una interfaz de alto nivel al SSP de Kerberos y otros protocolos de seguridad. Soporte de protocolo de comunicaciones Para la conexión SNA, deberá utilizar SECURITY=NONE al catalogar el nodo APPC Configuración típica El procedimiento de configuración de DB2 para utilizar la autenticación Kerberos incluye la configuración de lo siguiente: * Una política de autorización para DB2 (como servicio) en el Directorio activo que se comparte en una red y * Una relación fiable entre los Centros de distribución de claves (Key Distribution Centers - KDC) de Kerberos En el escenario más simple, existe al menos una relación fiable KDC para configurar, es decir, la existente entre el KDC que controla la estación de trabajo cliente y el sistema OS/390. OS/390 R10 proporciona el proceso de documentos de Kerberos mediante el recurso RACF que permite al sistema principal actuar como un KDC UNIX. DB2 Connect proporciona, como es habitual, la funcionalidad de direccionador en la posición de 3 niveles. No asume ningún rol en la autenticación cuando se utiliza la seguridad Kerberos. En lugar de ello, simplemente pasa la señal de seguridad del cliente a DB2/390. De este modo, no es necesario que la pasarela DB2 Connect sea miembro del ámbito Kerberos del cliente o del sistema principal. Para utilizar Kerberos, la pasarela de DB2 Connect debe catalogar su conexión con el tipo de autenticación KERBEROS. El cliente puede catalogarse con la autenticación NOT_SPEC o Kerberos. Cualquier otra combinación de tipos de autenticación en el cliente y la pasarela produce sqlcode -1401 (Discrepancia de tipo de autenticación). Compatibilidad con niveles anteriores Requisitos de DB2 para el soporte de Kerberos: Cliente DB2 UDB: Versión 7.1 (OS: Win2K) DB2 Connect: Versión 7.1 + Fix Pack 1 (Sistema operativo: Cualquiera) DB2/390: Versión 7.1 DB2/390 también necesita ejecutarse en OS/390 Versión 2 Release 10 o posterior. Existen requisitos implícitos adicionales en los sistemas DB2/390 de niveles anteriores al conectarse desde clientes DB2 Connect Versión 7.1. Aunque estos sistemas DB2/390 no soportan Kerberos, no responden correctamente a SECMEC DRDA no soportados. Para solucionar este problema, aplique el PTF apropiado: * UQ41941 (para DB2/390 V5.1) * UQ41942 (para DB2/390 V6.1) ------------------------------------------------------------------------ Suplemento de conectividad ------------------------------------------------------------------------ 48.1 Configuración del servidor de aplicaciones en un entorno VM Añada la frase siguiente después de la primera (y única) frase de la sección "Suministro de información de la red", subsección "Definición del servidor de aplicaciones": RDB_NAME se proporciona en SQLSTART EXEC como el parámetro DBNAME. ------------------------------------------------------------------------ 48.2 Valores de PATCH1 y PATCH2 para configuración de CLI/ODBC/JDBC El controlador CLI/ODBC/JDBC se puede configurar mediante el Asistente de configuración del cliente o el ODBC Driver Manager (si está instalado en el sistema) o editando manualmente el archivo db2cli.ini. Para obtener más detalles, consulte el manual Suplemento de instalación y configuración o el manual CLI Guide and Reference. El comportamiento por omisión del controlador DB2 CLI/ODBC puede modificarse especificando valores para las palabras clave PATCH1 y PATCH2 mediante el archivo db2cli.ini o mediante las API CLI SQLDriverConnect() o SQLBrowseConnect(). La palabra clave PATCH1 se especifica añadiendo todas las palabras clave que el usuario desea establecer. Por ejemplo, si se especificasen los parches 1, 2 y 8, PATCH1 tendría el valor 11. A continuación encontrará una descripción de cada valor de la palabra clave y su efecto en el controlador: 1 Hace que el controlador busque "count(exp)" y lo sustituya por "count(distinct exp)". Esto es necesario porque algunas versiones de DB2 soportan la sintaxis "count(exp)" y dicha sintaxis la generan algunas aplicaciones ODBC. Lo necesitan las aplicaciones Microsoft cuando el servidor no soporta la sintaxis "count(exp)". 2 Algunas aplicaciones ODBC se interrumpen cuando se devuelve SQL_NULL_DATA en la función SQLGetTypeInfo() para la columna LITERAL_PREFIX o LITERAL_SUFFIX. Fuerza al controlador a devolver una serie vacía en lugar de ello. Necesario para Impromptu 2.0. 4 Fuerza al controlador a tratar los datos de indicación de fecha y hora de entrada como datos de fecha si la hora y la parte de fracción de la indicación de fecha y hora son cero. Necesario para Microsoft Access. 8 Fuerza al controlador a tratar los datos de indicación de fecha y hora de entrada como datos de hora si la parte de fecha de la indicación de fecha y hora es 1899-12-30. Necesario para Microsoft Access. 16 No se utiliza. 32 Fuerza al controlador a no devolver información acerca de las columnas SQL_LONGVARCHAR, SQL_LONGVARBINARY y SQL_LONGVARGRAPHIC. En la aplicación parece como si no se soportaran los campos largos. Necesario para Lotus 123. 64 Fuerza al controlador a terminar en NULL las series de salida gráficas. Necesario para Microsoft Access en un entorno de doble byte. 128 Fuerza al controlador a dejar que la consulta "SELECT Config, nValue FROM MSysConf" vaya al servidor. Actualmente el controlador devuelve un error con el valor de SQLSTATE asociado de S0002 (tabla no encontrada). Es necesario si el usuario ha creado esta tabla de configuración en la base de datos y desea que la aplicación acceda a ella. 256 Fuerza al controlador a devolver primero las columnas de clave primaria en la llamada SQLStatistics(). Actualmente, el controlador devuelve los índices clasificados por nombre de índice, lo cual es el comportamiento estándar de ODBC. 512 Fuerza al controlador a devolver FALSE en SQLGetFunctions() para SQL_API_SQLTABLEPRIVILEGES y SQL_API_SQLCOLUMNPRIVILEGES. 1024 Fuerza al controlador a devolver SQL_SUCCESS en lugar de SQL_NO_DATA_FOUND en SQLExecute() o SQLExecDirect() si la sentencia UPDATE o DELETE ejecutada no afecta a ninguna fila. Necesario para aplicaciones Visual Basic. 2048 No se utiliza. 4096 Fuerza al controlador a no emitir COMMIT después de cerrar un cursor cuando se está en modalidad de confirmación automática. 8192 Fuerza al controlador a devolver un conjunto de resultados adicional después de invocar un procedimiento almacenado. Este conjunto de resultados es un conjunto de resultados de una fila que consta de los valores de salida del procedimiento almacenado. Pueden acceder a él las aplicaciones Powerbuild. 32768 Fuerza al controlador a que haga que las aplicaciones de consulta de Microsoft trabajen con sinónimos MVS de DB2. 65536 Fuerza al controlador a insertar manualmente una "G" delante de literales de carácter que son, de hecho, literales gráficos. Este parche debe proporcionarse siempre cuando se trabaja en un entorno de doble byte. 131072 Fuerza al controlador a describir una columna de indicación de fecha y hora como una columna CHAR(26), cuando la columna forma parte de un índice exclusivo. Necesario para aplicaciones Microsoft. 262144 Fuerza al controlador a utilizar la tabla de pseudocatálogo db2cli.procedures en lugar de las tablas SYSCAT.PROCEDURES y SYSCAT.PROCPARMS. 524288 Fuerza al controlador a utilizar SYSTEM_TABLE_SCHEMA en lugar de TABLE_SCHEMA al realizar una consulta de tabla de sistema en un sistema DB2/400 V3.x. Produce un rendimiento mejor. 1048576 Fuerza al controlador a tratar una serie de longitud cero mediante SQLPutData() como SQL_NULL_DATA. La palabra clave PATCH2 difiere de la palabra clave PATCH1. En este caso, se especifican múltiples parches utilizando comas como separadores. Por ejemplo, si se han especificado los parches 1, 4 y 5, PATCH2 tendría un valor de "1,4,5". A continuación encontrará una descripción de cada valor de la palabra clave y su efecto en el controlador: 1 - Fuerza al controlador a convertir a mayúsculas el nombre del procedimiento almacenado de una sentencia CALL. 2 - No se utiliza. 3 - Fuerza al controlador a convertir todos los argumentos para llamadas de esquema a mayúsculas. 4 - Fuerza al controlador a devolver el conjunto de resultados como en la Versión 2.1.2 para llamadas de esquema (es decir, SQLColumns(), SQLProcedureColumns(), etc), en lugar de devolver el conjunto de resultados como en la Versión 5. 5 - Fuerza al controlador a no optimizar el proceso de columnas VARCHAR de entrada, en las que el puntero para los datos y el puntero para la longitud son consecutivos en la memoria. 6 - Fuerza al controlador a devolver un mensaje que indica que los cursores desplazables no se soportan. Es necesario para programas Visual Basic si el cliente DB2 es de la Versión 5 y el servidor es DB2 UDB Versión 5. 7 - Fuerza al controlador a correlacionar todos los tipos de datos de columna GRAPHIC con el tipo de datos de columna CHAR. Es necesario en un entorno de doble byte. 8 - Fuerza al controlador a ignorar los argumentos de búsqueda de catálogo en llamadas de esquema. 9 - No confirma en el Cierre rápido de un cursor 10 - No se utiliza 11 - Informa de que el nombre del catálogo está soportado, (procedimientos almacenados VB) 12 - Elimina las comillas de los argumentos de llamadas a esquemas, (Visual Interdev) 13 - No añade palabras clave de db2cli.ini a la serie de conexión de salida 14 - Ignora el nombre de esquema en SQLProcedures() y SQLProcedureColumns() 15 - Utiliza siempre el punto como separador decimal en salida de caracteres 16 - Fuerza la devolución de información de descripción para cada apertura 17 - No devuelve nombres de columnas en la descripción 18 - Intenta sustituir los literales por marcadores de parámetros 19 - Actualmente, DB2 MVS V4.1 no soporta la sintaxis ODBC en la que se permiten paréntesis en la cláusula ON de una cláusula de unión externa. La activación de PATCH2 hará que el controlador IBM DB2 ODBC elimine los paréntesis cuando la cláusula de unión externa esté en una secuencia de escape ODBC. Este PATCH2 sólo se deberá utilizar cuando sea para DB2 MVS 4.1. 20 - Actualmente, DB2 en MVS no soporta el predicado BETWEEN con marcadores de parámetro como operandos (expresión ? BETWEEN ?). La activación de este parche hará que el Controlador IBM ODBC vuelva a escribir el predicado como (expresión >= ? y expresión <= ?). 21 - Establece todos los parámetros de sólo salida (OUTPUT) para procedimientos almacenados en SQL_NULL_DATA 22 - PATCH2 hace que el controlador IBM ODBC informe de la unión OUTER como no soportada. Es para la aplicación que genera SELECT DISTINCT col1 u ORDER BY col1 al utilizar la sentencia de unión externa donde col1 tiene una longitud superior a 254 caracteres y hace que DB2 UDB devuelva un error (dado que DB2 UDB no soporta columnas de más de 254 bytes en este uso) 23 - No optimiza la entrada para parámetros vinculados con cbColDef=0 24 - Solución de Access para correlacionar valores de Tiempo como Caracteres 25 - Solución alternativa de acceso para columnas decimales - elimina ceros de cola en la representación char 26 - No devolver sqlcode 464 a la aplicación - indica que los conjuntos de resultados se devuelven 27 - Fuerza SQLTables para que utilice el valor de palabra clave TABLETYPE, incluso si la aplicación especifica un valor válido 28 - Describe columnas reales como columnas dobles 29 - Solución ADO para columnas decimales - elimina los ceros iniciales para los valores x, donde 1 > x > -1 (Sólo es necesario para algunas versiones de MDAC) 30 - Inhabilita la optimización de puesta en antememoria de procedimiento almacenado 31 - Informa de estadísticas para alias en la llamada a SQLStatistics 32 - Altera temporalmente el proceso 4 del código de razón sqlcode -727 33 - Devuelve la versión ISO de la indicación de la hora cuando se convierte a char (al contrario de la versión ODBC) 34 - Informa de las columnas CHAR FOR BIT DATA como CHAR 35 - Informa de un TABLENAME no válido cuando se solicita SQL_DESC_BASE_TABLE_NAME - optimización de sólo lectura ADO 36 - Reservado 37 - Reservado ------------------------------------------------------------------------ Información adicional Tabla de contenido parcial * Información adicional o 49.1 DB2 Everywhere ahora es DB2 Everyplace o 49.2 Características de acceso de DB2 UDB Versión 7 + 49.2.1 Entrada por teclado y navegación + 49.2.1.1 Entrada por teclado + 49.2.1.2 Foco del teclado + 49.2.2 Características para visualización accesible + 49.2.2.1 Modalidad de alto contraste + 49.2.2.2 Valores de font + 49.2.2.3 No dependencia del color + 49.2.3 Indicaciones de alerta alternativas + 49.2.4 Compatibilidad con tecnologías de asistencia + 49.2.5 Documentación accesible o 49.3 Ratón necesario o 49.4 Intento de vinculación desde los resultados de Cliente de tiempo de ejecución de DB2 en un error "Archivos de vinculación no encontrados" o 49.5 Search Discovery o 49.6 Ventanas de memoria para HP-UX 11 o 49.7 Desinstalación de DB2 DFS Client Enabler o 49.8 Autentificación de cliente en Windows NT o 49.9 Restricciones para sistemas federados o 49.10 Limitaciones federadas con tablas particionadas MPP o 49.11 Restricción para DataJoiner o 49.12 Gestor de catálogos de información en hebreo para Windows NT o 49.13 El SPM de SNA de DB2 no se inicia después de rearrancar Windows o 49.14 Requisitos de la cuenta de servicio para DB2 en Windows NT y Windows 2000 o 49.15 Necesidad de confirmar todos los programas definidos por el usuario que se utilizarán en el Centro de depósito de datos (DWC) o 49.16 Gestión de la antememoria de la parte de cliente en Windows NT o 49.17 Life Sciences Data Connect + 49.17.1 Nuevos reiniciadores + 49.17.2 Avisos- o 49.18 Mejora de SQL Assist o 49.19 Ayuda para los mandatos de copia de seguridad y restauración o 49.20 "Warehouse Manager" debe ser "DB2 Warehouse Manager" ------------------------------------------------------------------------ Información adicional ------------------------------------------------------------------------ 49.1 DB2 Everywhere ahora es DB2 Everyplace El nombre de DB2 Everywhere se ha cambiado por DB2 Everyplace. ------------------------------------------------------------------------ 49.2 Características de acceso de DB2 UDB Versión 7 La familia de productos DB2 UDB incluye varias características que hacen que los productos sean más accesibles a las personas con discapacidad. Estas características incluyen: * Características que facilitan la entrada por teclado y la navegación * Características que mejoran las propiedades de visualización * Opciones para indicaciones de alerta sonoras y visuales * Compatibilidad con tecnologías de asistencia * Compatibilidad con características de acceso del sistema operativo * Formatos de documentación accesibles 49.2.1 Entrada por teclado y navegación 49.2.1.1 Entrada por teclado El Centro de control de DB2 se puede utilizar usando únicamente el teclado. Los elementos de menú y controles proporcionan teclas de acceso que permiten a los usuarios activar un control o seleccionar un elemento de menú directamente desde el teclado. Estas teclas vienen documentadas por sí mismas, es decir las teclas de acceso están subrayadas en el control o menú en el que aparecen. 49.2.1.2 Foco del teclado En sistemas basados en UNIX, la posición del foco del teclado está resaltado, indicando qué área de la ventana está activa y el lugar donde tendrán efecto las pulsaciones del usuario. 49.2.2 Características para visualización accesible El Centro de control de DB2 tiene varias características que mejoran la interfaz de usuario y mejoran el acceso para los usuarios con una visión reducida. Estas mejoras de acceso incluyen el soporte de valores de alto contraste y propiedades de font personalizables. 49.2.2.1 Modalidad de alto contraste La interfaz del Centro de control soporta la opción de modalidad de alto contraste proporcionada por el sistema operativo. Esta característica ayuda a los usuarios que necesitan un mayor grado de contraste entre los colores del fondo y del primer plano. 49.2.2.2 Valores de font La interfaz del Centro de control permite a los usuarios seleccionar el color, el tamaño y el font para el texto de los menús y de las ventanas de diálogo. 49.2.2.3 No dependencia del color No es necesario que los usuarios distingan entre los colores para utilizar ninguna de las funciones de este producto. 49.2.3 Indicaciones de alerta alternativas El usuario puede optar por recibir alertas mediante indicaciones sonoras o visuales. 49.2.4 Compatibilidad con tecnologías de asistencia La interfaz del Centro de control de DB2 es compatible con aplicaciones de lector de pantalla como por ejemplo Via Voice. Cuando se está en modalidad de aplicación, la interfaz del Centro de control tiene las propiedades necesarias para que estas aplicaciones de acceso hagan que la información de la pantalla esté disponible para los usuarios ciegos. 49.2.5 Documentación accesible La documentación para la familia de productos DB2 está disponible en formato HTML. Esto permite que los usuarios vean la documentación de acuerdo con las preferencias de visualización establecidas en sus navegadores. También permite utilizar lectores de pantalla y otras tecnologías de asistencia. ------------------------------------------------------------------------ 49.3 Ratón necesario Para todas las plataformas excepto Windows, se necesita un ratón para utilizar las herramientas. ------------------------------------------------------------------------ 49.4 Intento de vinculación desde los resultados de Cliente de tiempo de ejecución de DB2 en un error "Archivos de vinculación no encontrados" Puesto que el Cliente de tiempo de ejecución de DB2 no tiene el conjunto completo de archivos de vinculación, la vinculación de herramientas de GUI no se puede llevar a cabo desde el cliente de tiempo de ejecución de DB2 y sólo se puede realizar desde DB2 Administration Client. ------------------------------------------------------------------------ 49.5 Search Discovery Search discovery sólo está soportado en soporte de difusión. Por ejemplo, search discovery no funcionará a través de un adaptador ATM. Sin embargo, esta limitación no se aplica a un discovery conocido. ------------------------------------------------------------------------ 49.6 Ventanas de memoria para HP-UX 11 Las ventanas de memoria sirven para los usuarios de máquinas grandes HP de 64 bits, que desean aprovechar la memoria compartida superior a 1,75 GB para aplicaciones de 32 bits. Las ventanas de memoria no son necesarias si está ejecutando la versión de 64 bits de DB2. Las ventanas de memoria hacen que esté disponible 1 GB de memoria compartida separado por proceso o grupo de procesos. Esto permite que una instancia tenga 1 GB propio de memoria compartida, más 0,75 GB de memoria global compartida. Si los usuarios desean aprovecharlo, pueden ejecutar múltiples instancias, cada una en su propia ventana. A continuación encontrará los requisitos previos y las condiciones para utilizar las ventanas de memoria: * Entorno DB2 EE o Parches: Extension Software 12/98 y PHKL_17795. o Debe establecerse la variable $DB2INSTANCE para la instancia. o Debe existir una entrada en el archivo /etc/services.window para cada instancia de DB2 que desee ejecutar bajo ventanas de memoria. Por ejemplo: instanciadb21 50 instanciadb22 60 Nota: Sólo puede haber un espacio entre el nombre y el ID. o Cualquier mandato DB2 que desee ejecutar en el servidor y que necesite más de una sola sentencia, debe ejecutarse utilizando el método de bucle de retorno TCP/IP. Esto es debido a que el shell terminará cuando las ventanas de memoria terminen el proceso de la primera sentencia. El servicio DB2 sabe como conseguirlo. o Cualquier mandato DB2 que desee ejecutar en una instancia que se ejecute en ventanas de memoria debe ir precedido de db2win (situado en sqllib/bin). Por ejemplo: db2win db2start db2win db2stop o Cualquier mandato de DB2 que se ejecute fuera de las ventanas de memoria (pero cuando estén en ejecución) debe devolver un 1042. Por ejemplo: db2win db2start <== OK db2 connect to db <==SQL1042 db2stop <==SQL1042 db2win db2stop <== OK * Entorno DB2 EEE o Parches: Extension Software 12/98 y PHKL_17795. o Debe establecerse la variable $DB2INSTANCE para la instancia. o La variable de registro DB2_ENABLE_MEM_WINDOWS debe establecerse en TRUE. o Debe existir una entrada en el archivo /etc/services.window para cada nodo lógico de cada instancia que desee ejecutar bajo ventanas de memoria. El primer campo de cada entrada debe ser el nombre de instancia concatenado con el número de puerto. Por ejemplo: === $HOME/sqllib/db2nodes.cfg for db2instance1 === 5 host1 0 7 host1 1 9 host2 0 === $HOME/sqllib/db2nodes.cfg for db2instance2 === 1 host1 0 2 host2 0 3 host2 1 === /etc/services.window on host1 === db2instance10 50 db2instance11 55 db2instance20 60 === /etc/services.window on host2 === db2instance10 30 db2instance20 32 db2instance21 34 o No debe preceder ningún mandato DB2 con db2win, que sólo debe utilizarse en un entorno EE. ------------------------------------------------------------------------ 49.7 Desinstalación de DB2 DFS Client Enabler Antes de desinstalar DB2 DFS Client Enabler, el usuario root debe asegurarse de que ningún archivo DFS esté en uso y de que ningún usuario tenga abierto un shell en el espacio de archivos DFS. Como root, emita el mandato siguiente: stop.dfs dfs_cl Compruebe que /... ya no esté montado: mount | grep -i dfs Si no lo hace así y se ha desinstalado DB2 DFS Client Enabler, deberá volver a arrancar la máquina. ------------------------------------------------------------------------ 49.8 Autentificación de cliente en Windows NT Se introduce una nueva variable de registro de DB2, DB2DOMAINLIST, para complementar el mecanismo de autentificación de cliente existente en el entorno Windows NT. Esta variable se utiliza en el servidor DB2 para Windows NT para definir uno o más dominios de Windows NT. Tan solo se aceptarán peticiones de conexión o enlace desde los usuarios que pertenecen a los dominios definidos en esta lista. Esta variable de registro sólo debe utilizarse bajo un dominio Windows NT puro con servidores y clientes DB2 que ejecuten la Versión 7 (o superior). Para obtener información sobre cómo establecer esta variable de registro, consulte la sección "Variables de registro y de entorno de DB2" en el manual Administration Guide: Performance. ------------------------------------------------------------------------ 49.9 Restricciones para sistemas federados A continuación se indican las restricciones aplicables a sistemas federados: * No se soportan los tipos de datos NCHAR, NVARCHAR2, NCLOB y BFILE de Oracle en consultas que impliquen apodos. * No se soportan los mandatos Crear opción de servidor, Alterar opción de servidor ni Eliminar opción de servidor desde el Centro de control. Para emitir cualquiera de estos mandatos, se debe utilizar el procesador de línea de mandatos (CLP). * Para las consultas que implican apodos, DB2 UDB no siempre se ajusta a la opción de configuración de bases de datos DFT_SQLMATHWARN. En cambio, DB2 UDB devuelve los errores aritméticos o avisos directamente desde la fuente de datos remota, independientemente del valor de DFT_SQLMATHWARN. * La sentencia CREATE SERVER no permite que la opción de servidor COLSEQ se establezca en 'I' para fuentes de datos que tienen secuencias de clasificación que no son sensibles a las mayúsculas y minúsculas. * La sentencia ALTER NICKNAME devuelve SQL0901N cuando se especifica una opción que no es válida. * Para fuentes de datos Oracle, Microsoft SQL Server y Sybase, los tipos de datos numéricos no se pueden correlacionar con el tipo de datos BIGINT de DB2. Por omisión, el tipo de datos número(p,s) de Oracle, en que 10 <= p <= 18 y s = 0, se correlaciona con el tipo de datos DECIMAL de DB2. ------------------------------------------------------------------------ 49.10 Limitaciones federadas con tablas particionadas MPP Cuando intente utilizar una sentencia de SQL para seleccionar datos de una fuente de datos e insertar, actualizar o suprimir directamente los datos en una tabla particionada MPP del servidor federado de DB2, recibirá el error SQL0901N. El funcionamiento federado no permite seleccionar a partir de un apodo ni insertar en una tabla particionada MPP. Una vez que aplique el FixPak 4 (o posteriores), podrá utilizar estos pasos para seleccionar datos e insertarlos en una tabla particionada MPP: 1. En el entorno de aplicaciones del cliente, exporte la variable de entorno DB2NODE para designar el nodo con el que siempre deberá conectar la aplicación. EXPORT DB2NODE=x donde x es el número de un nodo. 2. Cree un grupo de nodos que sólo contenga el nodo designado. CREATE NODEGROUP nombre_gruponodos ON NODE(x) donde x es el número del nodo. 3. Cree un espacio de tablas en el grupo de nodos. CREATE TABLESPACE nombre_espaciotablas IN NODEGROUP nombre_gruponodos 4. Cree una tabla temporal en el espacio de tablas. CREATE TABLE nombre_tabla_temp IN nombre_espaciotablas 5. Divida la operación INSERT de la aplicación en dos pasos: o INSERT INTO nombre_tabla_temp SELECT * FROM apodo o INSERT INTO tabla_particionada_MPP SELECT * from nombre_tabla_temp Al dividir la sentencia INSERT en dos sentencias, cambia la semántica de la sentencia a nivel de confirmación y retrotracción. Por ejemplo, en lugar de retrotraer una sentencia habrá que retrotraer dos. Asimismo, si cambia el número de nodo asociado a la variable de entorno DB2NODE, deberá invalidar el paquete de aplicación y realizar una nueva vinculación. Estos pasos permiten seleccionar datos de fuentes de datos e insertarlos en una tabla particionada MPP. Seguirá recibiendo el error SQL0901N cuando intente utilizar una sentencia para seleccionar datos de una fuente de datos y actualizar o suprimir los datos en una tabla particionada MPP. Esta restricción desaparecerá en DB2 Universal Database Versión 8. ------------------------------------------------------------------------ 49.11 Restricción para DataJoiner Las peticiones distribuidas emitidas dentro de un entorno federado están limitadas a las operaciones de sólo lectura. ------------------------------------------------------------------------ 49.12 Gestor de catálogos de información en hebreo para Windows NT El componente Gestor de catálogos de información está disponible en hebreo y se proporciona en el CD de DB2 Warehouse Manager para Windows NT. La traducción al hebreo se proporciona en un archivo zip llamado IL_ICM.ZIP y está ubicado en el directorio DB2\IL del CD de DB2 Warehouse Manager para Windows NT. Para instalar la traducción al hebreo del Gestor de catálogos de información, primero debe instalar la versión en inglés de DB2 Warehouse Manager para Windows NT y todos los requisitos previos en una versión de Windows NT que tenga habilitado el hebreo. Una vez que se haya instalado DB2 Warehouse Manager para Windows NT, desempaquete el archivo IL_ICM.ZIP desde el directorio DB2\IL en el mismo directorio en que se ha instalado DB2 Warehouse Manager para Windows NT. Asegúrese de que se proporcionen al programa unzip las opciones correctas para crear la estructura de directorios en el archivo zip. Una vez que se haya desempaquetado el archivo, la variable de entorno global LC_ALL se debe pasar de En_US a Iw_IL. Para cambiar este valor: 1. Abra el Panel de control de Windows NT y realice una doble pulsación en el icono Sistema. 2. En la ventana Propiedades del sistema, pulse sobre la pestaña Entorno, después localice la variable LC_ALL en el apartado Variables del sistema. 3. Pulse la variable para visualizar el valor en el recuadro de edición Valor. Cambie el valor de En_US por Iw_IL. 4. Pulse el botón Establecer. 5. Cierre la ventana Propiedades del sistema y el Panel de control. Ahora ya debe estar instalada la versión en hebreo del Gestor de catálogos de información. ------------------------------------------------------------------------ 49.13 El SPM de SNA de DB2 no se inicia después de rearrancar Windows Si está utilizando Microsoft SNA Server Versión 4 SP3 o posteriores, verifique que el SPM de SNA de DB2 se ha iniciado correctamente después de un rearranque. Vea si en el archivo \sqllib\\db2diag.log hay entradas parecidas a las siguientes: 2000-04-20-13.18.19.958000 Instance:DB2 Node:000 PID:291(db2syscs.exe) TID:316 Appid:none common_communication sqlccspmconnmgr_APPC_init Probe:19 SPM0453C Sync point manager did not start because Microsoft SNA Server has not been started. 2000-04-20-13.18.23.033000 Instance:DB2 Node:000 PID:291(db2syscs.exe) TID:302 Appid:none common_communication sqlccsna_start_listen Probe:14 DIA3001E "SNA SPM" protocol support was not successfully started. 2000-04-20-13.18.23.603000 Instance:DB2 Node:000 PID:291(db2syscs.exe) TID:316 Appid:none common_communication sqlccspmconnmgr_listener Probe:6 DIA3103E Error encountered in APPC protocol support. APPC verb "APPC(DISPLAY 1 BYTE)". Primary rc was "F004". Secondary rc was "00000000". Si existen entradas como éstas en db2diag.log y las indicaciones de la hora coinciden con la hora del rearranque más reciente, debe: 1. Invocar a db2stop. 2. Iniciar el servicio SnaServer (en caso de que aún no esté iniciado). 3. Invocar a db2start. Vuelva a comprobar el archivo db2diag.log para verificar que las entradas ya no están añadidas. ------------------------------------------------------------------------ 49.14 Requisitos de la cuenta de servicio para DB2 en Windows NT y Windows 2000 Durante la instalación de DB2 para Windows NT o Windows 2000, el programa de instalación crea varios servicios de Windows y asigna una cuenta de servicio para cada servicio. Para ejecutar DB2 correctamente, el programa de instalación otorga los siguientes derechos de usuario a la cuenta de servicio que está asociada con el servicio de DB2: * Actuar como parte del sistema operativo * Crear un objeto símbolo * Incrementar cuotas * Iniciar la sesión como un servicio * Sustituir un símbolo de nivel de proceso. Si desea utilizar una cuenta de servicio distinta para los servicios de DB2, deberá otorgar estos derechos de usuario a la cuenta de servicio. Además de estos derechos de usuario, la cuenta de servicio también debe tener acceso al directorio en el que esté instalado el producto DB2. La cuenta de servicio para el servicio DB2 Administration Server (servicio DB2DAS00) también debe tener la autorización para arrancar y detener otros servicios DB2 (es decir, la cuenta de servicio debe pertenecer al grupo de Usuarios de Power) y tener autorización SYSADM DB2 sobre todas las instancias de DB2 que administre. ------------------------------------------------------------------------ 49.15 Necesidad de confirmar todos los programas definidos por el usuario que se utilizarán en el Centro de depósito de datos (DWC) Si desea utilizar un procedimiento almacenado creado mediante DB2 Stored Procedure Builder como un programa definido por el usuario en el Centro de depósito de datos (DWC), debe insertar la sentencia siguiente en el procedimiento almacenado antes de la sentencia con.close();: con.commit(); Si no se inserta esta sentencia, las modificaciones que el procedimiento almacenado realice se retrotraerán cuando el procedimiento almacenado se ejecute desde el DWC. Para todos los programas definidos por el usuario en el DWC, es necesario confirmar explícitamente todas las funciones de DB2 incluidas para que las modificaciones entren en vigor en la base de datos; es decir, debe añadir las sentencias COMMIT a los programas definidos por el usuario. ------------------------------------------------------------------------ 49.16 Gestión de la antememoria de la parte de cliente en Windows NT Si un usuario intenta acceder a un archivo READ PERM DB que resida en una máquina servidor de Windows NT en la que está instalado DB2 Datalinks utilizando una unidad compartida que utiliza una señal válida, el archivo se abre tal y como se esperaba. Sin embargo, después de eso, las peticiones de apertura posteriores que utilizan la misma señal no llegan en realidad al servidor, sino que se da servicio a las mismas desde la antememoria del cliente. Incluso después de haber caducado la señal, el contenido del archivo sigue siendo visible para el usuario, puesto que la entrada sigue estando en la antememoria. Sin embargo, este problema no se produce si el archivo reside en una estación de trabajo Windows NT. Una solución sería definir la entrada de registro \\HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Services\Lanmanserver\Parameters\EnableOpLocks en cero en el servidor de Windows NT. Con esta definición de registro, cada vez que se acceda a un archivo que reside en el servidor desde una estación de trabajo cliente por medio de una unidad compartida, la petición siempre llegará al servidor, en vez de recibir servicio desde la antememoria del cliente. Por tanto, la señal vuelve a validarse para todas las peticiones. El impacto negativo de esta solución es que afecta al rendimiento general para todos los accesos a archivos desde el servidor a través de unidades compartidas. Incluso con este valor, si se accede al archivo por medio de una correlación de unidad compartida en el propio servidor, a diferencia de lo que ocurre desde una máquina cliente diferente, parece que sigue dándose servicio a la petición desde la antememoria. Por tanto, la caducidad de la señal no tiene lugar. Nota: En todos los casos, si el acceso a archivo es un acceso local y no a través de una unidad compartida, la validación de señal y la posterior caducidad de señal se producirán tal y como se espera. ------------------------------------------------------------------------ 49.17 Life Sciences Data Connect 49.17.1 Nuevos reiniciadores En el FixPak 4, se han añadido dos nuevos reiniciadores a Life Sciences Data Connect. Uno para Documentum en AIX y otro para Excel en Windows NT. Además, el reiniciador de archivos de estructura por tablas se ha llevado de AIX a Windows NT, Solaris, Linux y HP-UX. Para el FixPak 5, se ha añadido a DB2 Life Sciences Data Connect el reiniciador de BLAST de AIX. El reiniciador de Documentum se ha llevado de AIX a Windows NT, Windows 2000 y al Entorno operativo Solaris. Para el FixPak 6, el reiniciador de BLAST se ha llevado de AIX a Windows NT, Windows 2000, HP-UX y al Entorno operativo Solaris. 49.17.2 Avisos- Life Sciences Data Connect incluye código de The Apache Software e ICU. El código se proporciona "TAL CUAL", SIN GARANTÍAS DE NINGUNA CLASE, EXPLÍCITAS NI IMPLÍCITAS, INCLUIDAS, PERO SIN LIMITARSE A ELLAS, LAS GARANTÍAS DE COMERCIABILIDAD, ADECUACIÓN PARA UN PROPÓSITO DETERMINADO Y NO INFRACCIÓN. Además, no se aplica ninguna obligación de IBM de indemnización. Licencia correspondiente a The Apache Software, Versión 1.1 Copyright (c) 1999-2001 The Apache Software Foundation. Reservados todos los derechos. ICU 1.8.1 y posteriores Copyright (c) 1995-2001 International Business Machines Corporation y otros. Reservados todos los derechos. ------------------------------------------------------------------------ 49.18 Mejora de SQL Assist La herramienta SQL Assist ahora permite al usuario especificar un operador de unión distinto de "=" para uniones de tabla. El diálogo Tipo de unión (Join Type), que se inicia pulsando el botón Tipo de unión (Join Type) de la página Uniones (Joins) de la herramienta SQL Assist, se ha mejorado para incluir una lista desplegable de operadores de unión. Los operadores válidos son "=", "<>", "<", ">", "<=" y ">=". SQL Assist es una herramienta que ayuda al usuario en la creación de sentencias de SQL simples. Está disponible desde el Centro de mandatos (pestaña Interactivo), el Centro de control (diálogos Crear vista y Crear activador), Stored Procedure Builder (asistente "Inserción de procedimiento almacenado de SQL") y el Centro de depósito de datos (paso Proceso de SQL). ------------------------------------------------------------------------ 49.19 Ayuda para los mandatos de copia de seguridad y restauración Aparece información incorrecta cuando escribe db2 ? backup. La salida correcta es la siguiente: BACKUP DATABASE alias-basedatos [USER nombreusuario [USING contraseña]] [TABLESPACE (nombre-espaciotbl [ {,nombre-espaciotbl} ... ])] [ONLINE] [INCREMENTAL [DELTA]] [USE TSM [OPEN núm-ses SESSIONS]] | TO dir/disp [ {,dir/disp} ... ] | LOAD nombre-bib [OPEN núm-ses SESSIONS]] [WITH núm-almint BUFFERS] [BUFFER tamaño-almint ] [PARALLELISM n] [WITHOUT PROMPTING] Aparece información incorrecta cuando escribe db2 ? restore. La salida correcta es la siguiente: RESTORE DATABASE alias-basedatos-origen { opciones-restauración | CONTINUE | ABORT }"; opciones-restauración:"; [USER nombreusuario [USING contraseña]] [{TABLESPACE [ONLINE] |"; TABLESPACE (nombre-espaciotbl [ {,nombre-espaciotbl} ... ]) [ONLINE] |"; HISTORY FILE [ONLINE]}] [INCREMENTAL [ABORT]]"; [{USE TSM [OPEN núm-ses SESSIONS] |"; FROM dir/disp [ {,dir/disp} ... ] | LOAD bib-comp"; [OPEN núm-ses SESSIONS]}] [TAKEN AT fecha-hora] [TO directorio-destino]"; [INTO alias-basedatos-destino] [NEWLOGPATH directorio]"; [WITH núm-almint BUFFERS] [BUFFER tamaño-almint]"; [DLREPORT nombre-archivo] [REPLACE EXISTING] [REDIRECT] [PARALLELISM n]"; [WITHOUT ROLLING FORWARD] [WITHOUT DATALINK] [WITHOUT PROMPTING]"; ------------------------------------------------------------------------ 49.20 "Warehouse Manager" debe ser "DB2 Warehouse Manager" Todas las apariciones de la frase "Warehouse Manager" en las pantallas y en la documentación del producto deben decir "DB2 Warehouse Manager". ------------------------------------------------------------------------ Apéndices ------------------------------------------------------------------------ Apéndice A. Avisos Es posible que IBM no comercialice en todos los países algunos productos, servicios o características descritos en este manual. Consulte al representante local de IBM para obtener información sobre los productos y servicios que actualmente pueden adquirirse en su zona geográfica. Cualquier referencia a un producto, programa o servicio de IBM no pretende afirmar ni implicar que sólo se puede utilizar dicho producto, programa o servicio de IBM. En su lugar se puede utilizar cualquier producto, programa o servicio funcionalmente equivalente que no infrinja ninguno de los derechos de propiedad intelectual de IBM. Sin embargo, es responsabilidad del usuario evaluar y verificar el funcionamiento de cualquier producto, programa o servicio que no sea de IBM. IBM puede tener patentes o solicitudes de patentes en tramitación que afecten al tema tratado en este documento. La posesión de este documento no confiere ninguna licencia sobre dichas patentes. Puede realizar consultas sobre licencias escribiendo a: IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 EE.UU. Para realizar consultas sobre licencias referentes a información de doble byte (DBCS), puede ponerse en contacto con el Departamento de Propiedad Intelectual de IBM en su país o escribir a: IBM World Trade Asia Corporation Licensing 2-31 Roppongi 3-chome, Minato-ku Tokyo 106, Japón El párrafo siguiente no es aplicable al Reino Unido ni a ningún país en el que tales disposiciones sean incompatibles con la legislación local: INTERNATIONAL BUSINESS MACHINES CORPORATION PROPORCIONA ESTA PUBLICACIÓN "TAL CUAL", SIN GARANTÍA DE NINGUNA CLASE, NI EXPLÍCITA NI IMPLÍCITA, INCLUIDAS, PERO SIN LIMITARSE A ELLAS, LAS GARANTÍAS IMPLÍCITAS DE NO VULNERACIÓN DE DERECHOS, COMERCIABILIDAD O IDONEIDAD PARA UN FIN DETERMINADO. Algunos estados no permiten la exclusión de garantías expresas o implícitas en determinadas transacciones, por lo que es posible que esta declaración no sea aplicable en su caso. Esta publicación puede contener inexactitudes técnicas o errores tipográficos. Periódicamente se efectúan cambios en la información aquí contenida; dichos cambios se incorporarán a las nuevas ediciones de la publicación. IBM puede efectuar, en cualquier momento y sin previo aviso, mejoras y/o cambios en los productos y/o programas descritos en esta publicación. Las referencias hechas en esta publicación a sitios Web que no son de IBM se proporcionan sólo para la comodidad del usuario y no constituyen un aval de esos sitios Web. La información contenida en esos sitios Web no forma parte de la información del presente producto IBM y el usuario es responsable de la utilización de esos sitios Web. IBM puede utilizar o distribuir cualquier información que se le facilite de la manera que considere adecuada, sin contraer por ello ninguna obligación con el remitente. Los licenciatarios de este programa que deseen obtener información sobre él con el fin de habilitar: (i) el intercambio de información entre programas creados de forma independiente y otros programas (incluido este) y (ii) el uso mutuo de la información intercambiada, deben ponerse en contacto con: IBM Canada Limited Office of the Lab Director 8200 Warden Avenue Markham, Ontario L6G 1C7 CANADÁ Dicha información puede estar disponible, sujeta a los términos y condiciones apropiados, incluido en algunos casos, el pago de una tarifa. El programa bajo licencia descrito en este manual y todo el material bajo licencia asociado a él, los proporciona IBM según los términos del Acuerdo de Cliente de IBM, el Acuerdo Internacional de Programas Bajo Licencia de IBM o cualquier acuerdo equivalente entre el usuario e IBM. Los datos de rendimiento contenidos en este documento se obtuvieron en un entorno controlado. Por tanto, los resultados obtenidos en otros entornos operativos pueden variar significativamente. Algunas mediciones pueden haberse hecho en sistemas experimentales y no es seguro que estas mediciones sean las mismas en los sistemas disponibles comercialmente. Además, algunas mediciones pueden haberse calculado mediante extrapolación. Los resultados reales pueden variar. Los usuarios del presente manual deben verificar los datos aplicables para su entorno específico. La información referente a productos que no son de IBM se ha obtenido de los proveedores de esos productos, de sus anuncios publicados o de otras fuentes disponibles públicamente. IBM no ha probado esos productos y no puede confirmar la exactitud del rendimiento, la compatibilidad ni cualquier otra afirmación referente a productos que no son de IBM. Las preguntas sobre las prestaciones de productos que no son de IBM deben dirigirse a los proveedores de esos productos. Todas las declaraciones de intenciones de IBM están sujetas a cambio o cancelación sin previo aviso, y sólo representan objetivos. Esta publicación puede contener ejemplos de datos e informes que se utilizan en operaciones comerciales diarias. Para ilustrarlos de la forma más completa posible, los ejemplos incluyen nombres de personas, empresas, marcas y productos. Todos estos nombres son ficticios y cualquier similitud con nombres y direcciones utilizados por una empresa real es totalmente fortuita. LICENCIA DE COPYRIGHT: Este manual puede contener programas de aplicaciones de ejemplo escritos en lenguaje fuente, que muestran técnicas de programación en diversas plataformas operativas. Puede copiar, modificar y distribuir estos programas de ejemplo de la forma que desee, sin pago alguno a IBM, con la intención de desarrollar, utilizar, comercializar o distribuir programas de aplicaciones de acuerdo con la interfaz de programación de aplicaciones correspondiente a la plataforma operativa para la que están escritos los programas de ejemplo. Estos ejemplos no se han probado exhaustivamente bajo todas las condiciones. Por tanto, IBM no puede asegurar ni implicar la fiabilidad, utilidad o función de estos programas. Cada copia o porción de estos programas de ejemplo o cualquier trabajo derivado debe incluir una nota de copyright como la siguiente: (C) (nombre de la empresa) (año). Partes de este código derivan de programas de ejemplo de IBM Corp. (C) Copyright IBM Corp. _especifique el año o años _. Reservados todos los derechos. ------------------------------------------------------------------------ A.1 Marcas registradas Los términos siguientes, que pueden estar indicados por un asterisco (*), son marcas registradas de International Business Machines Corporation en los Estados Unidos y/o en otros países. ACF/VTAM IBM AISPO IMS AIX IMS/ESA AIX/6000 LAN DistanceMVS AIXwindows MVS/ESA AnyNet MVS/XA APPN Net.Data AS/400 OS/2 BookManager OS/390 CICS OS/400 C Set++ PowerPC C/370 QBIC DATABASE 2 QMF DataHub RACF DataJoiner RISC System/6000 DataPropagator RS/6000 DataRefresher S/370 DB2 SP DB2 Connect SQL/DS DB2 Extenders SQL/400 DB2 OLAP Server System/370 DB2 Universal Database System/390 Distributed Relational SystemView Database Architecture VisualAge DRDA VM/ESA eNetwork VSE/ESA Extended Services VTAM FFST WebExplorer First Failure Support TechnologyWIN-OS/2 Los términos siguientes son marcas registradas de otras empresas: Microsoft, Windows y Windows NT son marcas registradas de Microsoft Corporation. Java, y las marcas registradas y logotipos basados en Java y Solaris, son marcas registradas de Sun Microsystems, Inc. en los Estados Unidos y/o en otros países. Tivoli y NetView son marcas registradas de Tivoli Systems Inc. en los Estados Unidos y/o en otros países. UNIX es una marca registrada en los Estados Unidos y/o en otros países bajo licencia exclusiva de X/Open Company Limited. Otros nombres de empresas, productos o servicios, que pueden estar indicados por un doble asterisco (**), pueden ser marcas registradas o marcas de servicio de otras empresas. ------------------------------------------------------------------------ Índice A B C CH D E F G H I J L M N O P Q R S T U V W ------------------------------------------------------------------------ A * acceder a ayuda (1057) * accesibilidad o atajos del teclado (949) * acceso a clientes remotos o configuración de Communication Server para NT (787) * Adobe Acrobat Reader o acceso con entornos nacionales no ingleses (777) * agente iSeries, consideraciones posteriores a la instalación (994) * agente iSeries, utilizar transformadores con (995) * agentes de almacén de datos, instalar (993) * agrupación de almacenamientos intermedios, bloqueo (850) o ejemplos (857) * agrupaciones de almacenamientos intermedios o basadas en bloques (852) o basadas en páginas (851) o páginas contiguas (855) * AIX o errores de instalación (801) o instalación de DB2 en (783) * AIX 4.3.3 o cuando AutoLoader se cuelga después de un fork (910) * alta disponibilidad (843) * aplicaciones Unicode de ODBC (1051) * archivos de lenguaje de códigos o definiciones de claves (979) * archivos PDF o acceso con entornos nacionales no ingleses (778) * AS/400 o capture y apply para (922) * asalto o optimización para (833) * asignación de series a columnas, normas para (1084) * asignaciones o fecha y hora a valor de serie (1100) o series, normas básicas para (1082) o valores de fecha y hora, normas para (1098) * asistente MQSeries Assist (972) * asistente OLE DB Assist (974) * Asistente para crear bases de datos o establecimiento del tamaño de extensión en (970) * Asistentes o Crear base de datos (971) o MQSeries Assist (973) o OLE DB Assist (975) * atajos del teclado o problemas con (951) * autentificación o por dominio utilizando DB2DOMAINLIST (1150) * AutoLoader o si se cuelga durante un fork (909) * Ayuda (1058) * ayuda en línea (1059) B * bases de datos clónicas o creación (846) * bases de datos particionadas o errores al añadir nodos (858) * bloqueo de siguiente clave (932) * búsqueda de información en línea o en el entorno operativo Solaris (770) C * CAPTURE (valor de LOGRETAIN) o comportamiento de la copia de seguridad y restauración (902) * capture y apply o en AS/400 (923) o inicio desde dentro de una aplicación (927) o mensajes de error (926) * características de accesibilidad (1141) * Centro de administración de satélites o Versión 6, utilización para administrar entorno de satélites (895) * Centro de control o arreglo necesario para OS/390 (957) o cuaderno Valores de herramienta (963) o en la plataforma OS/390 (956) o errores con Internet Explorer (764) o fuera de funcionamiento (766) o problema de visualización de infopops en OS/2 (960) o problemas del centro de scripts en Windows 95 (965) o resolución de problemas (958) o resolución de problemas en plataformas UNIX (959) o restricciones sobre applets simultáneos (964) o soporte bidireccional + en Windows NT (945) o utilización con chino simplificado (760) o utilización con japonés (761) o utilización para administrar bases de datos de VM y VSE (944) o Versión 6, utilización para administrar entorno de satélites (894) * centro de depósito de datos o archivos de lenguaje de códigos (981) o definiciones de claves (980) o utilización de procedimientos almacenados (1156) * Centro de depósito de datos * CLI o escritura de una aplicación Unicode (1010) o palabras clave de configuración + CURRENTFUNCTION PATH (1034) + SKIPTRACE (1035) o procedimientos almacenados + varios conjuntos de resultados (1009) o ventajas de la (1008) * CLI0637E (1003) * clientes o bajar (779) o entorno de tres niveles (1015) * clientes Unicode o limitaciones de movimiento de datos (912) * columna o asignación de serie, normas básicas para (1083) * compuesto, SQL (1031) * concatenación o operador (1091) * conexiones o aumento de las velocidades de transferencia de datos (1140) * contenido de ejemplo, ver (967) * conversión de caracteres o normas al comparar series (1087) o normas para las operaciones que combinan series (1085) * conversiones o DBCS a partir de SBCS y DBCS mixtos (1124) o fecha y hora a variable de tipo serie (1099) o serie de caracteres a indicación de fecha y hora (1118) o serie de caracteres de doble byte (1125) * copia de seguridad o cuando LOGRETAIN=CAPTURE (900) * CREATE DATABASE (899) * cursores o actualizable (1022) o atributos, por omisión (1019) o controlado por conjunto de claves + actualización (1026) o desplazable (1024) o desplazables + controlado por conjunto de claves (1014) + estático (1013) + extremo del servidor (1012) + OS/390 (1011) + resolución de problemas de aplicaciones (1029) o sensibilidad (1021) o simultaneidad (1023) o simultaneidad de valores (1027) o tipo (1020) CH * Chino simplif. o valor de entorno nacional en Linux (759) D * daemon de copia (804) * Data Link Manager o métodos de copia de seguridad (906) * Data Links Manager o problemas en la restauración de archivos (808) * DataJoiner o restricciones (1152) * DATALINK o duplicación (917) o problemas al restaurar (805) * datos CLOB o funciones de MQSeries (1078) * DAYOFWEEK_ISO, función escalar (1055) * DB2_BINSORT (861) * DB2_BLOCK_BASED_BP (863) * DB2 Enterprise Edition o configuración como satélite (874) + requisitos previos (881) o Versión 6, utilización como servidor de control de DB2 (892) * DB2_INLIST_TO_NLJN (865) * DB2_NEWLOGPATH (868) * DB2_NEWLOGPATH2 (870) o anteriormente NEWLOGPATH2 (904) * DB2_PARALLEL_IO (836) * DB2 Personal Edition o configuración como satélite (873) + requisitos previos (880) * DB2_REDUCED_ OPTIMIZATION (872) * DB2 Relational Connect o instalación en Unix (814) o instalación en Windows NT (813) * DB2_ROLLFORWARD_ NORETRIEVE * DB2 Server para VM y VSE o administración de bases de datos desde el Centro de control (943) * db2ArchiveLog (1002) * db2iupdt, ejecución de este mandato después de actualizar DB2 (795) * db2move (908) * db2start o en Windows 95, 98 y ME (928) * definiciones de claves o importación/exportación de metadatos (978) * desinstalación o DB2 DFS Client Enabler (1147) * devolver indicación de fecha y hora a partir de valores o función TIMESTAMP (1116) * DFS Client Enabler o desinstalación (1148) * dlfm client_conf o motivos de anomalía (807) * duplicación o con servidores no IBM (913) o DATALINK (916) o determinación de problemas en (920) o marcos hipotéticos para (914) o planificación (918) o requisito previo a una actualización en cualquier parte (update-anywhere) (919) o restricciones en nombres de tabla y de columna (915) * DWC7906, mensaje actualizado (977) E * E/S vectorial (854) * enable_MQFunctions (936), (938) * entorno de satélites o administración con Versión 6 del Centro de administración de satélites (896) o consideraciones sobre la instalación (885) o instalación de archivo de respuestas del satélite (888) o instalación interactiva de satélite (891) o requisitos previos (879) o satélite de DB2 Personal Edition (877) o satélite de DB2 Workgroup Edition (878) * entorno nacional o japonés y chino simplificado en Linux (756) * entorno operativo Solaris o búsqueda de información en línea en (771) * entornos nacionales o chino simplificado en Red Flag Linux (754) * error de acceso a archivo denegado (953) * error de atajo no válido (947) * errores de instalación o AIX (800) * espacio de tablas o al asalto (834) * esperas de bloqueo (931) * estructuras de tabla (924) * expansor de XML o notas del release (935) * expresión o operador de concatenación (1089) o serie (1090) F * fecha y hora, valores o representaciones de serie (837) * fuentes de datos de Microsoft SQL Server o biblioteca MERANT (825) o controlador ODBC (824) o enlace a DB2 (827) o mejora del rendimiento (828) o nombre de DSN (830) o páginas de códigos (832) o rastreos ODBC (831) o reiniciadores MERANT (829) o variables de entorno (826) * fuentes de datos Oracle o reiniciador de Linux (816) o reiniciador de Solaris (815) o variables de entorno (817) * fuentes de datos Sybase (818) o enlace a DB2 (821) o mejora del rendimiento (822) o páginas de códigos (823) o variables de entorno (820) * función DATE o conversión de valor a formato de fecha (1103) o descripción detallada (1102) * función de CLI SQLBindFileToParam, corrección (1036) * función de suspensión de E/S o soporte de la disponibilidad continua (842) * función GRAPHIC o descripción detallada (1104) o valores y argumentos (1105) * función MQPUBLISH o descripción detallada (1061) o valores y argumentos (1062) * función MQREADALLCLOB o descripción detallada (1073) o valores y argumentos (1074) * función MQREADCLOB o descripción detallada (1064) o valores y argumentos (1065) * función MQRECEIVEALLCLOB o descripción detallada (1076) o valores y argumentos (1077) * función MQRECEIVECLOB o descripción detallada (1067) o valores y argumentos (1068) * función MQSEND o descripción detallada (1070) o valores y argumentos (1071) * función SQLColAttribute o SQL_DESC_AUTO_ UNIQUE_VALUE (1039) o SQL_DESC_UPDATABLE (1040) * función SQLGetInfo (1043) * función SQLGetLength o DBCLOB (1045) * función SQLNextResult (1046) * función SQLSetEnvAttr o atributo SQL_ATTR_KEEPCTX (1048) * función SQLSetStmtAttr o atributo SQL_ATTR_ QUERY_TIMEOUT (1050) * función TIME o descripción detallada (1107) o valores y argumentos (1108) * función TIMESTAMP o descripción detallada (1113) o valores y argumentos (1114) * función VARGRAPHIC o descripción detallada (1119) o valores y argumentos (1120) * funciones o en una base de datos Unicode (1095) o escalares + DATE (1101) + GRAPHIC (1106) + MQPUBLISH (1060) + MQREADCLOB (1063) + MQRECEIVECLOB (1066) + MQSEND (1069) + TIME (1109) + TIMESTAMP (1115) + VARGRAPHIC (1121) o tabla + MQREADALLCLOB (1072) + MQRECEIVEALLCLOB (1075) * funciones CLI o SQLBindFileToParam (1037) o SQLColAttribute (1038) o SQLGetInfo (1042) o SQLGetLength (1044) o SQLNextResult (1047) o SQLSetStmtAttr (1049) * funciones de MQSeries o soporte de datos CLOB (1079) * funciones escalares o DAYOFWEEK_ISO (1053) o WEEK_ISO (1054) G * Gestor de catálogos de información o en hebreo (1153) o programa de utilidad (990) * GET ROUTINE (897) * GET_ROUTINE_SAR (1132) H * herramienta db2inidb (841) * Herramienta de transferencia de bases de datos (907) * herramientas o utilización en Linux (942) * herramientas de la gui o errores de vinculación (1143) * hora o devolver indicación de fecha y hora a partir de valores (1117) * HP-UX o sin soporte para Query Enabler (1000) * HP-UX 11 o ventanas de memoria (1146) I * ID de agrupación de almacenamientos intermedios (856) * información en línea o búsqueda + en el entorno operativo Solaris (772) * inicio de DB2 o utilización de db2start en Windows 95, 98 y ME (929) * instalación o cuenta de servicio necesaria en Windows (1155) o DB2 Enterprise-Extended Edition en AIX (782) o detención de los procesos de DB2 durante (793) o se cuelga al utilizar una unidad extraíble (788) * Instalación * instalación, errores o AIX (799) * instalación de archivo de respuestas o palabras clave del servidor de control de DB2 (884) o palabras clave específicas del satélite (889) * Internet Explorer o errores con el Centro de control (765) J * Japonés o DB2 en PTX (763) o valor de entorno nacional en Linux (758) * JDBC o cursores desplazables, acceso (1018) * JDK 1.1 o vía de instalación (961) L * lectura dispersa (853) * Linux o ejecución de herramientas administrativas de DB2 UDB (941) o establecimiento del entorno para el Centro de control (797) o valores de entorno nacional para japonés y chino simplificado (757) M * mandatos o CREATE DATABASE (898) * manejo de la reflexión dividida o en línea (845) * manuales actualizados o Administration Guide (745) o Application Building Guide (744) o Application Development Guide (746) o Consulta de mandatos (747) o Consulta de mensajes (750) o Consulta de SQL (752) o Data Recovery and High Availability Guide and Reference (748) o Data Warehouse Center Administration Guide (749) o DB2 Warehouse Manager Installation Guide (751) * mensajes o para capture y apply (925) * mensajes de error o acceso a archivo denegado (954) o al añadir nodos a bases de datos particionadas (859) o atajo no válido (948) o durante la migración (802) o no se encuentran los archivos de vinculación (1142) o SQL10012N (962) * método de copia de seguridad o para Data Links Manager (905) * migración o ejecución de db2iupdt para actualizar instancias (796) o en Windows 2000 (785) o errores durante (803) o problemas con las vistas (789) * movimiento de datos o límites de clientes Unicode (911) * MQ Functions (937), (939) * multisite update test connect o incompatibilidad entre versiones de instancia (955) N * navegadores de Web o recomendaciones para Windows 2000 (767) * NetQuestion o utilizando TCP/IP en OS/2 (773) * Netscape o mensajes de error (776), (968) o utilización para acceder a la información en línea (768) * NEWLOGPATH2 o ahora se llama DB2_NEWLOGPATH2 (903) * niveles de parche o en Solaris versión 2.6 (781) * normas de conversión o para comparaciones de serie (1088) o para las operaciones que combinan series (1086) * NUMA-Q o sin soporte para Query Enabler o Tracker (1001) O * ODBC o cursores desplazables, acceso (1017) o orientaciones de captación (1025) * operando o serie (1093) * optimista, bloqueo (1028) * OS/2 o instalación del Centro de control (952) o NetQuestion (774) P * pasarelas o entorno de tres niveles (1016) * pasos o planificaciones (984) * perfil estático, en aplicaciones JDBC/ODBC/CLI (1006) * perfil estático JDBC/ODBC/CLI, limitaciones (1005) * perfiles de usuario o cambio del estado del nodo (996) * planificaciones o duplicadas (983) o pasos y procesos (982) * procedimiento de SQL o sentencia GET DIAGNOSTICS (1131) * procedimientos almacenados o en el Centro de depósito de datos (1157) * procedimientos almacenados de CLI o limitaciones (1032) o vinculación automática (1033) * procesos o planificaciones (985), (986) * procesos, detención antes de la instalación (794) * PTX o utilización con japonés (762) * puntos muertos (930) Q * Query Enabler o no soportado en HP-UX y NUMA-Q (999) * Query Patroller o pérdida de privilegios de usuario después de la migración (997) * Query Patroller Tracker o no soportado en NUMA-Q (998) R * recuperación frente a anomalía grave o utilización de la herramienta db2inidb (844) * Red Flag Linux o entorno nacional chino simplificado (755) * reflexión dividida o como base de datos en espera (847) o como base de datos primaria (849) o como imagen de copia de seguridad (848) * rendimiento o al asalto (835) * Replication Analyzer (921) * requisitos previos de instalación o para UDB EE y CEE en Linux para OS/390 (798) * restauración o problemas con columnas DATALINK (806) * restauración de archivos o Data Links Manager (809) * restaurar o cuando LOGRETAIN=CAPTURE (901) * Restricciones o SAP Connector (988) * RESULT_STATUS o sentencia GET DIAGNOSTICS (1129) * resultados de consultas, ver (966) * ROW_COUNT o sentencia GET DIAGNOSTICS (1130) S * SAP Connector o Instalación (987) * satélites o consideraciones sobre la instalación (886) o DB2 Personal Edition (875) o DB2 Workgroup Edition (876) o instalación de archivo de respuestas (887) o instalación interactiva (890) * search discovery (1144) * sentencia CREATE PROCEDURE o sentencia GET DIAGNOSTICS (1127) * sentencia GET DIAGNOSTICS (1128) * serie o expresión (1092) o operando (1094) * serie de caracteres o asignación, vista general (1081) * serie de caracteres de doble byte (DBCS) o devolver serie (1126) * series de caracteres o función escalar VARGRAPHIC (1122) o serie de caracteres de doble byte (1123) * series de fecha o definición (838) * series de hora o definición (839) * series de indicación de fecha y hora o definición (840) * servidor de control de DB2 o instalación de archivo de respuestas (883) o requisitos mínimos (882) o Versión 6, actualización (893) * sistema operativo Solaris o 64-bits + configuración (933) + restricciones (934) * sistemas federados o apodos (811) o reiniciadores (810) o restricciones (812) * sistemas federados, restricciones (1151) * SNA Server o acceso a UDB desde aplicaciones de AS/400 o sistema principal (786) * SNA SPM o verificación del inicio después de rearrancar (1154) * Solaris o falta de soporte para versiones anteriores a UltraSparc (753) o nivel de parche necesario en V2.6 (780) * soporte a idiomas bidireccional o con el Centro de control en Windows NT (946) * Soporte de idioma o SAP Connector (989) * soporte del protocolo IPX/SPX, en Windows 2000 (792) * soporte NLV o Unicode (1136) * SQL compuesto, utilización (1030) * SQLGetData, función (1041) * Sybase o incompatibilidad con ICM en Windows (991) * Sybase Open Client (819) T * tabla o excepción + estructura de columna de mensaje (1134) * tabla de excepciones o estructura de columna de mensaje (1133) * tamaño de extensión o establecimiento en el Asistente para crear bases de datos (969) * TCP/IP o NetQuestion (775) * teclas de cambio de modalidad o problemas con (950) * time o devolver valores basados en hora (1112) o utilizar hora en una expresión (1111) * tipos de datos o promoción en una base de datos Unicode (1080) * tipos de datos de fecha y hora o representación de serie de (1097) * transformaciones ADT (1007) U * Unicode o actualizaciones en la documentación (1137) o base de datos y aplicaciones (1135) o en aplicaciones de ODBC (1052) o funciones en (1096) * utilizar hora en una expresión o función TIME (1110) V * variables de entorno o LD_ASSUME_KERNAL (940) * variables de registro o DB2_BINSORT (860) o DB2_BLOCK_BASED_BP (862) o DB2_INLIST_TO_NLJN (864) o DB2_NEWLOGPATH (866) o DB2_NEWLOGPATH2 (869) o DB2_REDUCED_ OPTIMIZATION (871) o DB2_ROLLFORWARD_ NORETRIEVE (867) o DB2DOMAINLIST (1149) * velocidades de transferencia o aumento (1138) * velocidades de transferencia de datos o aumento (1139) * ventanas de memoria o en HP-UX 11 (1145) * vinculación de programas de utilidad de bases de datos utilizando el Cliente de tiempo de ejecución (1004) * visión general rápida (976) * vistas o no disponibilidad después de la migración (790) W * WEEK_ISO, función escalar (1056) * Windows o incompatibilidad entre Sybase e ICM (992) * Windows 2000 o migración en (784) o navegadores de Web recomendados en (769) o soporte del protocolo IPXX/SPX (791) 1 Una Política de servicio define una serie de opciones de calidad de servicio que se deben aplicar a esta operación de gestión de mensajes. Estas opciones incluyen prioridad y permanencia del mensaje. Consulte el manual MQSeries Application Messaging Interface para obtener más información.