Administración: Rendimiento

8 8 8

Nuevas variables de entorno del sistema (Linux)

8

Se han añadido las variables de entorno del sistema DB2_MAPPED_BASE y 8DB2DBMSADDR al FixPak 8.

8

Sólo se recomienda utilizar estas variables de registro a los usuarios 8avanzados.

8
8DB2_MAPPED_BASE 8

8
8
Nombre de variable
8
DB2_MAPPED_BASE 8
8
Valores
8
0 o dirección virtual (hexadecimal) dentro del rango de direcciones de 31 8bits y 32 bits o NULL (no establecido) 8
8
Sistemas operativos
8
Linux en x86 y Linux en zSeries (31 bits) 8
8
Descripción
8
La variable de registro DB2_MAPPED_BASE se puede utilizar para aumentar 8la cantidad de espacio de direcciones virtuales contiguas disponible para un 8proceso de DB2 Universal Database (UDB) reasignando la dirección de conexión de las bibliotecas compartidas 8para el proceso específico. El espacio de direcciones virtuales contiguas es 8importante para maximizar la cantidad de memoria compartida de base de datos 8disponible para 8DB2 UDB. Esta 8variable sólo es efectiva en distribuciones que incluyan el archivo 8mapped_base en el directorio de identificación de proceso en el sistema de 8archivos proc. 8

DB2 UDB intentará 8reasignar las bibliotecas compartidas a la dirección virtual 0x20000000 si esta 8variable no está establecida.

8

La variable de registro también se puede 8establecer en cualquier dirección virtual (hexadecimal) dentro del rango del 8espacio de direcciones de 31 y 32 bits si la nueva dirección sitúa en una 8posición inferior las bibliotecas compartidas en el espacio de direcciones.

8 8
Nota:
8
Una dirección incorrecta puede producir problemas graves en 8DB2 UDB, desde no poder iniciar DB2 UDB 8hasta no poder conectarse a la base de datos. Una dirección incorrecta es una 8dirección que abarca una área de la memoria que ya está en uso o que está 8predestinada para que se utilice para otra cosa. Para solucionar este 8problema, vuelva a establecer la variable DB2_MAPPED_BASE en NULL utilizando el 8mandato siguiente: 8
db2set DB2_MAPPED_BASE=
8

El mensaje siguiente puede aparecer varias 8veces en el archivo db2diag.log debido a que es necesario efectuar este cambio 8una vez para cada nodo lógico:

8
ADM0506I  DB2 ha actualizado automáticamente el parámetro de kernel
8"mapped_base" de "0x40000000(hex) 1073741824(dec)" al valor recomendado
8"0x20000000(hex) 536870912(dec)".
8

Este 8mensaje sólo aparecerá si se establece satisfactoriamente la variable de 8registro e incluirá la dirección en la que se reubican las bibliotecas 8compartidas.

8
8
8
8DB2DBMSADDR 8

8
8
Nombre de variable
8
DB2DBMSADDR 8
8
Valores
8
Direcciones virtuales dentro del rango de 0x09000000 a 0xB0000000 en 8incrementos de 0x10000 8
8
Sistemas operativos
8
Linux en x86 y Linux 8en zSeries 8(31 bits) 8
8
Descripción
8
Especifica la dirección de la memoria compartida de base de datos 8por omisión en formato hexadecimal. 8 8
Nota:
8
Una dirección incorrecta 8puede producir problemas graves en DB2 UDB, 8desde no poder iniciar DB2 UDB, hasta no poder conectarse a la base de 8datos. Un ejemplo de una dirección incorrecta es una dirección que abarca una 8área de la memoria que ya está en uso o que está predestinada para 8utilizarse para otra cosa. Para solucionar este problema, vuelva a establecer 8la variable DB2DBMSADDR en NULL utilizando el mandato siguiente: 8
db2set DB2DBMSADDR=
8

Esta variable se puede establecer junto con DB2_MAPPED_BASE o sola para ajustar 8correctamente el diseño del espacio de direcciones de procesos de DB2 UDB. Esta variable cambia la ubicación de 8la memoria compartida de instancia desde su ubicación actual en la dirección 8virtual 0x10000000 al nuevo valor proporcionado.

8
8
7 7 7

Nueva variable de registro de comunicaciones

7

La variable de registro DB2TCP_CLIENT_RCVTIMEOUT se ha añadido en la Versión 8.2.

7 77777777777777777777777
Tabla 11. Variables de comunicaciones
Nombre de la variable Sistemas operativos Valores
Descripción
DB2TCP_CLIENT_RCVTIMEOUT Todos 7

Valor por omisión=0 (no establecida)

7

Valores: de 0 a 732767 segundos

7

Especifica el 7número de segundos que un cliente espera datos durante una recepción TCP/IP.

7

No hay tiempo de espera excedido si la variable de registro no está establecida o tiene el valor 0. Si la recepción 7TCP/IP devuelve datos antes de que transcurra el valor del tiempo de espera excedido, la aplicación continúa de forma normal. Si el valor de tiempo de espera excedido transcurre antes de que se devuelvan datos, la conexión se cierra.

7

7 7
Nota:
7
Esta 7variable de registro sólo se aplica al Cliente de DB2 y a la parte cliente de la Pasarela de DB2. No se aplica al Servidor de DB2.
7 7 7

Nueva variable de rendimiento

7

La variable de rendimiento 7DB2_LARGE_PAGE_MEM se ha añadido en la Versión 8.2.

7 77777777777777777777777
Tabla 12. Variables de rendimiento
Nombre de la variable Sistemas operativos Valores
Descripción
DB2_LARGE_PAGE_MEM 7

Sólo AIX 5.x de 64 bits

7

Linux

Valor por omisión=NULL 7

Utilice * para indicar que todas 7las regiones de memoria aplicables deben utilizar memoria de página grande o una lista separada por comas de 7regiones de memoria específicas que deben utilizar memoria de página grande. Las regiones disponibles varían por sistema operativo. En 7AIX 5.x de 64 bits, se pueden especificar las 7siguientes regiones: DB, DBMS o PRIVATE. En Linux, se puede especificar la siguiente 7región: DB.

7

La memoria de página grande sólo recibe 7soporte para DB2 Universal Database (UDB) para AIX 5L, Edición de 764 bits, y DB2 UDB para Linux.

7

La variable de registro 7DB2_LARGE_PAGE_MEM se utiliza para 7habilitar el soporte de páginas grandes cuando se ejecuta en 7AIX 5.x o en cualquier arquitectura 7Linux con el soporte de kernel adecuado. Esta 7variable de registro deja obsoleta la variable de registro DB2_LGPAGE_BP, 7que sólo se puede utilizar para habilitar memoria de página grande para la 7región de memoria compartida de base de datos. Ahora esto se puede habilitar 7estableciendo DB2_LARGE_PAGE_MEM=DB. Cualquier documentación que mencione la habilitación de páginas grandes con 7la variable de registro DB2_LGPAGE_BP 7se puede interpretar como sinónimo de establecer DB2_LARGE_PAGE_MEM=DB.

7

El uso de páginas grandes está principalmente destinado a ofrecer mejoras en el rendimiento para 7aplicaciones de cálculo de alto rendimiento. Las aplicaciones con gran cantidad de acceso a memoria que utilizan 7grandes cantidades de memoria virtual pueden mejorar el rendimiento utilizando páginas grandes. Para 7permitir que DB2 UDB utilice páginas grandes, primero debe 7configurar el sistema operativo para que utilice páginas grandes.

7

La 7habilitación de páginas grandes privadas aumentará el uso de memoria de 7DB2 UDB de forma significativa, ya que cada agente de DB2 UDB 7consumirá al menos 1 página grande (16 MB) de memoria física. Para habilitar 7páginas grandes para memoria privada de agentes en 7DB2 UDB para 7AIX de 64 bits (el valor 7DB2_LARGE_PAGE_MEM=PRIVATE), 7se deben cumplir las siguientes condiciones, además de configurar páginas 7grandes en el sistema operativo:

7
    7
  • El propietario de la instancia debe poseer las capacidades CAP_BYPASS_RAC_VMM y CAP_PROPOGATE.
  • 7
  • El kernel debe dar soporte a interfaces que permitan que un proceso modifique su tamaño de página en el momento de 7ejecución. .
7

En DB2 UDB para AIX de 64 bits, la habilitación de esta 7variable disminuye el tamaño de la memoria de base de datos de copia de 7seguridad del segmento de memoria compartida al requisito mínimo. El valor por omisión consiste en crear un segmento de 64 GB: consulte el parámetro de configuración de base de datos de tamaño 7de memoria compartida de base de datos 7(database_memory) para obtener más detalles. Esto evita la asignación de más memoria compartida en RAM de la que es probable que se vaya a utilizar.

7

Al establecer esta variable, se limitará la posibilidad de aumentar dinámicamente 7la configuración general de memoria compartida de base de datos (por ejemplo, para aumentar 7el tamaño de las agrupaciones de almacenamientos intermedios).

7

En 7Linux, existe un 7requisito adicional para la disponibilidad de la biblioteca 7libcap.so. Esta biblioteca debe estar instalada para que esta opción funcione. Si 7esta opción está activada, y la biblioteca no está en el sistema, 7DB2 7UDB inhabilitará las páginas grandes de kernel y continuará funcionando como 7anteriormente.

7

En Linux, para verificar si hay páginas grandes de kernel disponibles, emita el 7mandato siguiente:

7
      cat /proc/meminfo
7

Si están disponibles, deben aparecer 7las tres líneas siguientes (con distintos números, en función de la cantidad de memoria configurada en la máquina):

7
      HugePages_Total:   200
7      HugePages_Free:    200
7      Hugepagesize:    16384 KB
7

Si no ve estas líneas, o si 7HugePages_Total es 0, hay que configurar el sistema operativo o el kernel.

8 8 8

Variables de compilador de SQL

8

La siguiente actualización se aplica al tema "Variables de compilador de 8SQL" del Apéndice A "Variables de registro y de entorno de 8DB2" 8del manual Administration Guide: Performance:

8

Cuando una o ambas variables de compilador de 8DB2, 8DB2_MINIMIZE_LISTPREFETCH 8y DB2_INLIST_TO_NLJN, están establecidas en ON (activada), permanecen 8activas incluso si se ha especificado REOPT(ONCE).

8 8 8

Actualizaciones de parámetros de configuración

8

A continuación se proporcionan las actualizaciones que se han efectuado en la 8documentación sobre parámetros de configuración:

8 8

authentication - Tipo de autentificación

8
8

El parámetro de configuración del gestor de bases de datos Tipo de 8autentificación (authentication) también acepta los valores siguientes:

8
8 8

util_impact_lim - Política de impacto de instancia

8
8

A partir de DB2 Universal Database Versión 8.2, el valor por 8omisión del parámetro de configuración del gestor de bases de datos 8Política de impacto de instancia (util_impact_lim) cambia de 100 a 10.

8 8

sysadm_group, sysmaint_group, sysctrl_group, sysmon_group

8
8

Los siguientes parámetros de configuración del gestor de bases de datos 8pueden aceptar nombres de grupo de 30 bytes (o menos) en todas las plataformas:

8 8

La tabla del tema "Resumen de los parámetros de configuración del 8gestor de bases de datos" contiene tipos de datos incorrectos para estos 8parámetros de configuración del gestor de bases de datos. El valor correcto en 8todos los casos es char(30).

8 8

estore_seg_sz - Tamaño de segmento de memoria de 8almacenamiento ampliado

8
8

El tamaño máximo para el parámetro de configuración 8Base de datos de tamaño de segmento de memoria de 8almacenamiento ampliado (estore_seg_size) 8en plataformas basadas en Windows es 16 777 216.

8 8

hadr_timeout - Valor de tiempo de espera excedido de HADR

8
8

El límite superior correcto del parámetro de configuración de base de datos 8Valor de tiempo de espera excedido de HADR 8(hadr_timeout) es 4 294 967 295.

8 8

locklist - Almacenamiento máximo para lista de bloqueos

8
8

La documentación para el parámetro de configuración de base de datos 8Almacenamiento máximo para lista de bloqueos 8(locklist) indica que el valor máximo para 8servidores de Windows de 64 bits y de 32 bits que 8solamente atienden a clientes locales es de 0 000. Este valor es 8incorrecto y debería ser 524 288.

8 8

num_db_backups - Número de copias de seguridad de base de datos

8
8

El rango de valores para el parámetro de 8configuración de base de datos Número de copias de 8seguridad de base de datos (num_db_backups) 8es incorrecto. El rango correcto es 0 - 32 767.

8 8 8

Archivo de parámetros de configuración de base de datos SQLDBCONF

8

Después de migrar a DB2 Universal Database (UDB) Versión 8.2 desde la 8Versión 8.1, DB2 UDB utiliza un nuevo archivo de parámetros de configuración de base de 8datos de 16 KB denominado SQLDBCONF. (En la Versión 8.1, el archivo de 8parámetros de configuración de base de datos tan solo era de 4 KB y se 8denominaba SQLDBCON).

8 8 8

Cambio del valor por omisión de DB2_HASH_JOIN

8

Como en la Versión 8.1, la variable de registro DB2_HASH_JOIN está 8establecida en ON (activada) como valor por omisión.

8

La variable de unión de generación aleatoria debería utilizarse, pero 8necesita ajustarse para obtener el máximo rendimiento.

8

El máximo rendimiento de unión de generación aleatoria se obtiene si se 8pueden evitar bucles de generación aleatoria y desbordamientos de disco. 8Para ajustar el rendimiento de unión de generación aleatoria, calcule la 8cantidad máxima de memoria disponible para el parámetro 8sheapthres y, a continuación, ajuste el parámetro 8sortheap. Aumente su valor hasta que evite tantos 8bucles de generación aleatoria y desbordamientos como sea posible, pero sin 8alcanzar el límite que especifique el parámetro sheapthres.

8

Para obtener más información, consulte el tema "Métodos de unión" en el 8manual Administration Guide: Performance.

7 7 7

La variable de registro DB2NTNOCACHE ha quedado obsoleta

7

La funcionalidad que antes se conseguía mediante DB2NTNOCACHE se puede 7conseguir a nivel de espacio de tablas 7especificando la cláusula NO FILE SYSTEM CACHING en la sentencia 7CREATE TABLESPACE o ALTER TABLESPACE. Consulte el manual Consulta de SQL para ver detalles sobre su uso. La variable de registro 7DB2NTNOCACHE se eliminará en un futuro release.

7 7 7

Tablas de explicación y organización de la información de explicación

7

Las tablas de explicación pueden ser comunes a más de un usuario. Sin embargo, 7las tablas de explicación se pueden definir para un usuario, y se pueden definir alias para cada usuario adicional 7utilizando el mismo nombre para apuntar a las tablas definidas. Como alternativa, las tablas de explicación se pueden definir 7bajo el esquema SYSTOOLS. El recurso Explain tomará por omisión el esquema 7SYSTOOLS si no se encuentra ninguna otra tabla de explicación o alias bajo el ID de sesión del usuario para 7SQL dinámico o el ID de autorización de sentencia para SQL dinámico. Cada usuario que comparta las tablas de explicación comunes debe insertar permiso sobre dichas tablas. El permiso de lectura para las tablas de explicación comunes también se debe limitar, generalmente a los usuarios 7que analizan la información de explicación.

7 7 7

Directrices para capturar información de explicación

7

Se capturan datos de explicación si así lo solicita al compilar la sentencia SQL. 7Tenga en cuenta cómo espera utilizar la información capturada al solicitar 7datos de explicación.

7
7Captura de información en las tablas de explicación 7
7 7 7

Códigos de retorno adicionales de la API db2CfgGet, parámetro collate_info

7

El parámetro de información de clasificación sólo se puede visualizar utilizando la API db2CfgGet. No se puede visualizar mediante el procesador de línea de mandatos o el Centro de control.

7
7
Tipo de configuración
7
Base de datos 7
7
Tipo de parámetro
7
Informativo 7
7
7

Este parámetro proporciona 260 bytes de información de clasificación de la base de datos. 7Los primeros 256 bytes especifican la secuencia de clasificación de la base de 7datos, donde el byte "n" contiene el peso de clasificación del punto de 7código cuya representación decimal subyacente es "n" en la página de 7códigos de la base de datos.

7

Los últimos 4 bytes contienen información interna sobre el tipo de secuencia de clasificación. Los últimos 4 de collate_info constituyen un entero. El entero es sensible al orden endian de la plataforma. Los valores posibles son:

7 7

Si utiliza esta información de tipos internos, debe tener en cuenta la 7inversión de bytes cuando recupere información para una base de datos en otra 7plataforma.

7

Puede especificar la secuencia de clasificación en el momento de la creación 7de la base de datos.

8 8 8

Establecimiento automático del tamaño de captación previa por omisión y de los valores por omisión de actualización

8

A partir de DB2 Universal Database (UDB) Versión 8.2, se 8puede utilizar el tamaño de captación previa AUTOMATIC (automático) para un espacio de 8tablas. DB2 UDB actualiza automáticamente el tamaño de 8captación previa cuando cambia el número de contenedores para el espacio 8de tablas.

8

La sintaxis de la variable de registro DB2_PARALLEL_IO se amplía para 8reconocer contenedores con distintas características de paralelismo de E/S. 8Mediante la sintaxis ampliada, los contenedores para espacios de tablas 8diferentes pueden tener características de paralelismo de E/S diferentes. 8La característica de paralelismo de E/S de cada espacio de tablas se utiliza 8cuando se especifica un tamaño de captación previa AUTOMATIC (automático) para 8el espacio de tablas. Si la variable de registro DB2_PARALLEL_IO está 8habilitada pero no se utiliza la sintaxis ampliada que identifica las 8características de paralelismo de E/S para los espacios de tablas, se considera 8que se trata de un nivel de paralelismo por omisión. El nivel por omisión es RAID 5 (6+1).

8

La información del tamaño de captación previa que utiliza el optimizador 8sólo se renueva cuando se emite una sentencia ALTER TABLESPACE que cambia el 8tamaño de captación previa de un espacio de tablas o que cambia el número de contenedores 8(utilizando ADD/DROP/BEGIN NEW STRIPE SET/ADD TO NEW STRIPE SET). Si el número 8de discos físicos para los valores de registro de contenedor cambia, debe 8emitirse una sentencia ALTER TABLESPACE <nombre 8espacio tablas> PREFETCHSIZE AUTOMATIC para renovar la información del 8optimizador (a menos que ya se haya emitido una sentencia ALTER TABLESPACE que 8renueve la información del optimizador).

8

Si un espacio de tablas se redirige o restaura para utilizar un número 8diferente de contenedores, renueve la información del optimizador emitiendo una 8sentencia ALTER TABLESPACE <nombre espacio tablas> 8PREFETCHSIZE AUTOMATIC. Si existen varios conjuntos de bandas dentro de un 8espacio de tablas, se utiliza el número máximo de contenedores entre los 8conjuntos de bandas para calcular el tamaño de captación previa. Si el tamaño 8de captación previa calculado supera el tamaño máximo (32 767 páginas), se 8utiliza como tamaño de captación previa el múltiplo más grande del número de 8contenedores que sea inferior al máximo.

8

En un entorno DB2 UDB Enterprise Server Edition, si un espacio de tablas utiliza un 8tamaño de captación previa AUTOMATIC (automático), el tamaño de captación 8previa puede ser diferente en diferentes particiones de bases de datos. Esta 8situación puede producirse dado que diferentes particiones de bases de datos 8pueden utilizar diferentes números de contenedores para calcular el 8tamaño de captación previa. Para generar el plan de acceso de consulta, el 8optimizador utiliza el tamaño de captación previa de la primera partición de un 8grupo de particiones de bases de datos.

[ Principio de página |Página anterior | Página siguiente | Contenido ]