Operaciones soportadas con evolución automática de esquemas

La evolución automática del esquema está soportada en los destinos Oracle, MySQL, PostgreSQL, SQL Server, Db2 LUW, DB2400, Teradata y Oracle TimesTen.

La evolución automática del esquema está soportada en los orígenes Oracle, MySQL, PostgreSQL, SQL Server, Db2 LUW, Db2 zOS, DB2400, Sybase, Teradata, Oracle TimesTen y Snowflake.

Se admiten las siguientes operaciones:

La evolución automática del esquema soporta las siguientes operaciones en función de los cambios del esquema, detectados en los registros de metadatos de los archivos de pista para mantener sincronizado el esquema de las tablas de origen y destino:

Según los metadatos de cada columna de origen, por defecto se selecciona el tipo de dato más adecuado para la columna de destino correspondiente.

NOTA: Revise las asignaciones de tipo de datos predeterminadas aplicables para el escenario de replicación de base de datos de origen a base de datos de destino de Asignación de tipo de datos antes de implantar la evolución automática del esquema.

Es posible que los tipos de dato de destino no sean exactamente iguales que el tipo de dato de origen en todos los casos. Siempre que sea posible, la elección del tipo de dato de destino se realiza de modo que el tipo de destino sea siempre compatible y lo suficientemente grande (con el mismo tamaño que la columna de origen o más amplio) para poder acomodar los datos de la columna de origen correspondiente. En algunos casos en los que no hay un tipo adecuado disponible para el tipo de dato de columna de origen correspondiente en la base de datos de destino (como los tipos disponibles en la base de datos de destino pueden provocar el truncamiento de datos), se devuelve un error al usuario con una recomendación adecuada.

Creación de la tabla que falta

AutoSchema soporta los siguientes casos de uso:

Modificación de la Tabla Existente

Si se agrega, borra o modifica alguna columna en el origen, las DDL ALTER TABLE correspondientes se generan y ejecutan en las tablas de destino asignadas correspondientes. El esquema automático admite modificaciones relacionadas solo con el tipo (incluido el nombre del tipo de datos, la longitud, la precisión, la escala según corresponda) y la restricción de nulidad. Sin embargo, no cumple ninguna modificación en ningún otro atributo de columna. Si se detecta algún cambio de esquema relacionado con el tipo/nulabilidad en las columnas de origen, se propagan a las columnas de destino.

Uno o varios cambios de esquema en la tabla de origen pueden dar lugar a una o varias DDL ALTER TABLE en las tablas de destino asignadas, tal como están soportadas en la base de datos de destino específica. El número de DDL del destino depende de la sintaxis soportada en una base de datos de destino específica, como en los siguientes casos:

  1. Pocas bases de datos no permiten agregar/soltar/modificar varias columnas en un solo ALTER TABLE DDL.

  2. Pocas bases de datos no permiten modificar tanto el tipo como la nulabilidad de las columnas en una sola sentencia ALTER TABLE DDL.

En estos casos, el número necesario de sentencias ALTER TABLE DDL se ejecuta en la tabla de destino, según los requisitos de la base de datos de destino.

Es posible que el esquema automático afecte a la base de datos de destino que necesita más acciones. Por ejemplo, si un ALTER TABLE MODIFY COLUMN puede dar lugar a algún truncamiento de datos, diferentes bases de datos pueden manejar esto de diferentes maneras. Una base de datos puede detectar que la operación puede truncar algunos datos existentes y hacer que el Replicat se pare, lo que suele ocurrir entre Oracle y MySQL, cuando MySQL se está ejecutando con el modo estricto activado. Sin embargo, si MySQL está configurado en modo no estricto, es posible que se produzca una tracción sin advertencia.

Para IBM i, según la configuración del sistema, puede parecer que el Replicat se bloquea. Para algunas acciones en Db2 (anteriormente Db2 LUW) y Db2 z/OS, es posible que determinadas acciones requieran una reorganización de la tabla. En Db2 z/OS, no se reconocerá una columna de borrado hasta que se realice una reorganización y, para Db2, la tabla podría terminar en un estado pendiente de reorganización y dejar de permitir más operaciones en ella.

NOTA: si es necesario, puede agregar de forma selectiva OPTYPE ADDCOLUMN, OPTYPE DROPCOLUMN y OPTYPE MODIFYCOLUMN a los criterios de inclusión/exclusión DDL AUTOSCHEMA.