Adición de tablas a Data Gate
Desde el panel de control, siempre puede añadir tablas a sus instancias Data Gate configuradas.
Antes de empezar
La función de sincronización requiere que las tablas tengan una clave exclusiva. Por lo tanto, es posible que tenga que añadir claves exclusivas a algunas de las tablas de origen. Si la columna clave elegida no es una clave principal ni un índice principal, debe especificarla explícitamente como una restricción única informativa. Esto no se puede hacer en Cloud Pak for Data. Modifique o vuelva a crear las tablas en Db2 for z/OS.
Acerca de esta tarea
- Cuando se añade una Db2
for z/OS tabla de origen a Data Gate, se crea un nombre alias para la tabla de destino. Por lo general, este alias tiene el mismo nombre que la tabla de origen, a menos que el nombre del esquema de la tabla de origen comience con la cadena
SYS, como una tabla creada por el usuario denominada"SYSABC"."TABLETEST"o una tabla del catálogo del sistema como"SYSIBM"."SYSTABLES". En este último caso, se elige un nombre de alias diferente, en el que el nombre del esquema del alias comienza con el prefijoDG_seguido del nombre del Db2 subsistema en el que reside la tabla de origen (el nombre Db2 de la ubicación). A esta cadena se le añade un carácter de subrayado (__), seguido del esquema original y el nombre de la tabla. El motivo es una limitación en Db2 y Db2 Warehouse, que no permiten que los nombres alias comiencen con la cadenaSYS. Para obtener más información, consulte la instrucción CREATE ALIAS. En la siguiente tabla encontrará ejemplos de nombres:Nombre de la tabla de origen Nombre del alias de destino "SCHEMATEST"."TABLETEST""SCHEMATEST"."TABLETEST""SYSABC"."TABLETEST""DG_DB2A_SYSABC"."TABLETEST""SYSIBM"."SYSTABLES""DG_DB2A_SYSIBM"."SYSTABLES" - Para Data Gate, las columnas de la tabla siempre se codificarán en Unicode, a menos que seleccione Usar esta Data Gate instancia para acelerar consultas en el paso 11 al crear la Data Gate instancia.
- En general, las tablas de la base de datos de destino son tablas Unicode. Es decir, las tablas que se van a crear en la base de datos de destino se convierten a Unicode si selecciona Db2
for z/OS tablas en un formato diferente. Durante la conversión se tienen en cuenta diferentes requisitos sobre el ancho de las columnas. En muchos casos, las tablas convertidas (Unicode) necesitan columnas más anchas que las tablas codificadas en EBCDIC para evitar el truncamiento de los valores.
Supongamos que tiene una columna VARCHAR en una tabla EBCDIC. Durante la conversión a Unicode, el ancho de columna se determina de la siguiente manera:
- Para columnas EBCDIC con un ancho de columna de hasta 10 caracteres, la longitud se duplica.
- Para las columnas EBCDIC con un ancho de columna mayor, el ancho de columna original se multiplica por un factor de búfer.
- Por último, la longitud máxima de las columnas VARCHAR Unicode se compara con cualquiera de estos valores, y se utiliza el más pequeño como longitud de la columna Unicode. Es decir:
- Para anchos de columna EBCDIC inferiores a 10:
MIN(max. Unicode column width, EBCDIC column width * 2)- Para anchos de columna EBCDIC superiores a 10:
MIN(max. Unicode column width, EBCDIC column width * buffer factor)
La longitud resultante tras la conversión puede ser mayor que la longitud original.
Sin embargo, las tablas no se convierten si ha seleccionado Usar esta Data Gate instancia para el enrutamiento de consultas en el paso 11. En este caso, se conserva la codificación original de las Db2 for z/OS tablas. Por ejemplo, si las columnas de una tabla Db2 for z/OS original están codificadas en EBCDIC, las columnas de la tabla correspondiente en la base de Db2 Warehouse datos de destino también estarán codificadas en EBCDIC.
- Las tablas deben tener una restricción exclusiva (clave primaria o índice primario). Si una clave de este tipo no existe en la tabla o no se puede determinar, debe volver a definir la tabla y especificar dicha clave. Las columnas que elija para la clave deben contener valores exclusivos o formar dichos valores cuando se combinan.
- Si actualiza Db2
for z/OS tablas ejecutando la utilidad LOAD, debe establecer las siguientes palabras clave para la utilidad LOAD:
SHRLEVEL CHANGELOG YES
- Es posible que tenga que volver a cargar o incluso eliminar tablas de Data Gate después de aplicar una instrucción ALTER TABLE o ALTER TABLESPACE en Db2 for z/OS.
- Las Db2 tablas de origen de sus Data Gate réplicas tienen un atributo denominado DATA CAPTURE. El atributo puede llevar el valor Y o N (valor predeterminado), para sí o no. Cuando se habilita la sincronización para una tabla, el atributo DATA CAPTURE de la tabla se establece en el valor Y. Una vez establecido, este valor de atributo persiste, incluso si la tabla se inhabilita posteriormente. Téngalo en cuenta, especialmente si ejecuta aplicaciones que utilizan el atributo DATA CAPTURE.
El atributo DATA CAPTURE se establece mediante una sentencia ALTER TABLE, que se ejecuta como parte del procedimiento almacenado SYSPROC.ACCEL_SET_TABLES_REPLICATION. Sin embargo, el atributo sólo se puede establecer correctamente si el ID del usuario que ejecuta el procedimiento almacenado tiene autorización ALTER TABLE. Si no es así, un administrador de bases de datos debe establecer el atributo para todas las tablas Db2 for z/OS.