Notas del release

35.5 Capítulo 13. Utilización de objetos grandes (LOB)

35.5.1 Soporte de objetos grandes (LOB) en sistemas de bases de datos federados

DB2 da soporte a tres tipos de objetos grandes (LOB): objetos grandes de caracteres (CLOB), objetos grandes de caracteres de doble byte (DBCLOB) y objetos grandes binarios (BLOB). Para obtener información general sobre el soporte de LOB de DB2, consulte los siguientes manuales de DB2:

En un sistema de bases de datos federado, puede acceder y manipular LOB en fuentes de datos remotas. Puesto que los LOB pueden ser muy grandes, la transferencia de LOB desde una fuente de datos remota puede llevar mucho tiempo. La base de datos federada de DB2 intenta minimizar la transferencia de datos LOB desde las fuentes de datos y también intenta distribuir los datos LOB solicitados directamente desde la fuente de datos a la aplicación que los solicita sin materializar el LOB en DB2.

Esta sección trata estos temas:

35.5.1.1 Cómo DB2 recupera los LOB

Los sistemas federados de DB2 utilizan dos mecanismos para recuperar LOB: modalidad continua de LOB y materialización de LOB.

Modalidad continua de LOB

En la modalidad continua de LOB, los datos LOB se recuperan por fases. DB2 utiliza la modalidad continua de LOB para datos de grupos de resultados de consultas que están completamente inactivas. Por ejemplo, supongamos que tenemos la siguiente consulta:

SELECT empname, picture FROM orc_emp_table WHERE empno = '01192345'

donde picture representa una columna de LOB y orc_emp_table representa un seudónimo que hace referencia a una tabla de Oracle que contiene datos de empleados. El procesador de consultas de DB2 marca la columna picture para modalidad continua si decide ejecutar la consulta completa en la fuente de datos de Oracle. En el momento de la ejecución, si DB2 nota que hay un LOB marcado para modalidad continua, recupera el LOB por fases de la fuente de datos. Luego DB2 transfiere los datos al espacio de memoria de la aplicación.

Materialización de LOB

En materialización de LOB, DB2 recupera los datos LOB remotos y los almacena localmente en el servidor federado. DB2 utiliza materialización de LOB cuando:

35.5.1.2 Cómo pueden las aplicaciones utilizar localizadores de LOB

Las aplicaciones pueden suministrar localizadores de LOB para los LOB almacenados en fuentes de datos remotas. Un localizador de LOB es un valor de 4 bytes almacenado en una variable de sistema principal que puede utilizar un programa para hacer referencia a un valor LOB (o expresión LOB) mantenido en el sistema de bases de datos. Mediante la utilización de un localizador de LOB, un programa puede manipular el valor LOB como si el LOB estuviera almacenado en una variable de sistema principal normal. La diferencia es que al utilizar el localizador de LOB no es necesario transportar el valor LOB desde el servidor a la aplicación (y posiblemente devolverlo). Consulte el manual DB2 Application Development Guide para obtener más información sobre localizadores de LOB.

DB2 puede recuperar los LOB desde fuentes de datos remotas, almacenarlos en DB2 y luego emitir un localizador de LOB sobre el LOB almacenado. Los localizadores de LOB se liberan cuando:

35.5.1.3 Restricciones de los LOB

Cuando se utilizan y recuperan LOB, tenga en cuenta que:

35.5.1.4 Correlaciones entre tipos de datos LOB y no LOB

Hay algunos casos en que puede correlacionar un tipo de datos LOB de DB2 con un tipo de datos no LOB en una fuente de datos. Cuando tiene que crear una correlación entre una columna con un tipo LOB de DB2 y su correspondiente columna en la fuente de datos, se recomienda utilizar un tipo de datos LOB como columna correspondiente si es posible.

Para crear una correlación, utilice la sentencia de DDL create type mapping. Por ejemplo:

CREATE TYPE MAPPING my_oracle_lob FROM sysibm.clob TO SERVER TYPE oracle TYPElong

donde:

my_oracle_lob
Es el nombre de la correlación de tipos.

sysibm.clob
Es el tipo de datos CLOB de DB2.

oracle
Es el tipo de servidor con el que está conectando.

long
Es el correspondiente tipo de datos de Oracle.

35.5.2 Ajuste del sistema

Si una aplicación que recupera LOB remotos devuelve un mensaje de error que indica que no hay suficientes recursos del sistema para procesar la sentencia, aumente el valor del parámetro de tamaño de pila de la aplicación, APPLHEAPSZ, en el archivo de configuración de base de datos. Por ejemplo:

 DB2 UPDATE DB CFG FOR EMPLOYEE USING APPLHEAPSZ 512

donde EMPLOYEE es el nombre de la base de datos que está ajustando y 512 es el valor del parámetro del tamaño de la pila de aplicación.


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