Detalles de Soporte de Objetos y Operaciones en Oracle DML
A continuación, se muestra una lista de objetos y operaciones de Oracle que soporta Oracle GoldenGate para la captura y replicación de operaciones DML.
Base de Datos de Contenedor Multi-inquilino
Oracle GoldenGate captura y entrega desde una base de datos de contenedores multiinquilino. Consulte Configuración de una base de datos de contenedores multiinquilino.
Oracle GoldenGate no soporta la replicación de extremo a extremo raíz de contenedor de aplicaciones
Tablas, Vistas y Vistas Materializadas
Las siguientes operaciones DML están soportadas para tablas normales, tablas organizadas por índices, tablas en cluster y vistas materializadas:
-
INSERT -
UPDATE -
DELETE -
Operaciones de control de transacciones asociadas
A partir de Oracle GoldenGate 23ai, las siguientes funciones están disponibles para las tablas:
-
Columna 4K en tablas con un tamaño de fila inferior a 4 MB
-
Blockchain y tablas inmutables
Consulte Limitaciones del soporte para blockchain y tablas inmutables para obtener más información.
Consejo:
Puede utilizar la vista del diccionario de datos DBA_GOLDENGATE_SUPPORT_MODE para mostrar información sobre el nivel de soporte del proceso de captura de Oracle GoldenGate para las tablas de la base de datos. El valor PLSQL de DBA_GOLDENGATE_SUPPORT_MODE indica que la tabla está soportada de forma nativa, pero requiere un registro complementario de procedimiento. Para obtener más información, consulte DBA_GOLDENGATE_SUPPORT_MODE. Si necesita mostrar todas las tablas que no tienen índices únicos primarios y no nulos, puede utilizar DBA_GOLDENGATE_NOT_UNIQUE. Para obtener más información, consulte DBA_GOLDENGATE_NOT_UNIQUE.
Limitaciones del soporte para tablas normales
Estas limitaciones se aplican a Extract.
-
Oracle GoldenGate soporta tablas que contienen cualquier número de filas.
-
Una fila puede tener hasta 4 MB de longitud. Si Oracle GoldenGate está configurado para incluir tanto la imagen anterior como la posterior de una columna en su ámbito de procesamiento, la longitud máxima de 4 MB se aplica a la longitud total de la imagen anterior completa más la longitud de la imagen posterior. Por ejemplo, si hay operaciones
UPDATEen las columnas que se utilizan como identificador de fila, se procesan las imágenes antes y después y no pueden superar los 4 MB en total. Las imágenes de antes y después también son necesarias para las columnas que no son identificadores de fila pero que se utilizan como columnas de comparación en la detección y resolución de conflictos (CDR). Las columnas de caracteres que permiten más de 4 KB de datos, comoCLOB, solo tienen los primeros 4 KB de datos almacenados en fila y contribuyen a la longitud máxima de fila de 4 MB. Columnas binarias que permiten más de 4 KB de datos, comoBLOB, los primeros 8 KB de datos se almacenan en fila y contribuyen a la longitud máxima de fila de 4 MB. -
Oracle GoldenGate soporta el número máximo de columnas por tabla soportado por la base de datos.
-
Oracle GoldenGate soporta el tamaño máximo de columna soportado por la base de datos.
-
Oracle GoldenGate soporta tablas que solo contienen una columna, excepto cuando la columna contiene uno de los siguientes tipos de dato:
-
LOB -
LONG -
LONG VARCHAR -
Nested table -
Tipo Definido por Usuario (UDT)
-
VARRAY -
XMLType
-
-
Defina
DBOPTIONS ALLOWUNUSEDCOLUMNantes de replicar las tablas de origen y destino con columnas no utilizadas. -
Oracle GoldenGate soporta tablas con estos atributos de partición:
-
Particionamiento de rango
-
Partición de Intervalos de Partición Hash
-
Partición Compuesta
-
Partición Virtual Basada en Columnas
-
Partición de referencia
-
Partición de Lista
-
-
Oracle GoldenGate soporta tablas con columnas virtuales, pero no captura los datos de cambio de estas columnas ni les aplica datos de cambio: la base de datos no escribe columnas virtuales en el log de transacciones y Oracle AI Database no permite el DML en columnas virtuales. Por el mismo motivo, los datos de carga inicial no se pueden aplicar a una columna virtual. Puede asignar los datos de columnas virtuales a columnas de destino no virtuales.
-
Oracle GoldenGate no tendrá en cuenta el índice/único con columnas virtuales.
-
Oracle GoldenGate soporta la replicación desde y hacia Oracle Exadata. Para soportar la compresión de columnas híbridas de Exadata, la compatibilidad de la base de datos de origen se debe definir en 11.2.0.0.0 o superior.
-
Oracle GoldenGate soporta el cifrado de datos transparente (TDE).
-
Oracle GoldenGate soporta sentencias
TRUNCATEcomo parte de su soporte de replicación de DDL o como funcionalidad autónoma independiente del soporte de DDL. -
Oracle GoldenGate soporta la captura de carga directa
INSERT, con la excepción de la inserción de ruta de acceso directa de SQL*Loader para XML Binary y XML Object Relational. Se debe activar el registro complementario y la base de datos debe estar en modo archive log. Se admiten los siguientes métodos de carga directa.-
Indicación
/*+ APPEND */ -
Indicación
/*+ PARALLEL */ -
SQLLDRconDIRECT=TRUE
-
-
Oracle GoldenGate soporta por completo la captura de objetos comprimidos para Extract.
-
Oracle GoldenGate soporta transacciones distribuidas XA y PDML.
-
Oracle GoldenGate soporta operaciones DML en tablas con
FLASHBACK ARCHIVEactivado. Sin embargo, Oracle GoldenGate no soporta el DDL que crea tablas con la cláusulaFLASHBACK ARCHIVEo el DDL que crea, modifica o suprime el flashback de archivo de datos en sí.
Limitaciones del soporte para vistas
Estas limitaciones se aplican a Extract.
-
Oracle GoldenGate soporta la captura desde una vista cuando Extract está en modo de carga inicial (capturando directamente desde la vista de origen, no desde el redo log).
-
Oracle GoldenGate no captura los datos de cambio de una vista, pero soporta la captura desde las tablas subyacentes de una vista.
Limitaciones del soporte para vistas materializadas
Extract soporta las vistas materializadas con las siguientes limitaciones.
-
Las vistas materializadas creadas
WITH ROWIDno están soportadas. -
El log de vista materializada se puede crear
WITH ROWID. -
La tabla de origen debe tener una clave primaria.
-
Los truncados de vistas materializadas no están soportados. Puede utilizar una sentencia
DELETE FROM. -
DML (pero no DDL) desde un refrescamiento completo de una vista materializada está soportado. Si se necesita soporte de DDL para esta función, abra un caso de soporte de Oracle GoldenGate.
-
Para Replicat, el comando
Create MVdebe incluir la cláusulaFOR UPDATE -
Las vistas materializadas se pueden replicar o las tablas base subyacentes, pero no ambas.
Limitaciones del soporte para blockchain y tablas inmutables
A partir de Oracle AI Database 26ai, se admiten tablas inmutables y de blockchain. Estas son las operaciones admitidas para la función:
Soporte para replicación unidireccional
-
Tanto las versiones de tabla de cadena de bloques v1 (introducidas en Oracle Database 19.10) como v2 (introducidas en Oracle AI Database 26ai), así como las versiones de tabla inmutables v1 (introducidas en Oracle Database 19.11) y v2 (introducidas en Oracle AI Database 26ai) están soportadas para todos los Replicats excepto para Replicat coordinado.
-
Interoperabilidad entre tipos y versiones:
-
Soporte para la replicación de blockchain y tablas inmutables de cualquier versión en el origen a tablas convencionales en el destino.
-
No se admite la replicación de tablas convencionales en el origen en ninguna cadena de bloques ni tablas inmutables de ninguna versión en el destino.
-
-
Se debe activar DML, DDL y la replicación de procedimiento. Para la replicación de procedimientos, se debe agregar la tabla Blockchain.
-
Las operaciones de supresión de filas caducadas no se replican. Cada sistema de base de datos gestiona la caducidad por separado.
Compatibilidad con replicación bidireccional (activa-activa)
-
Soporte solo para la versión v2.
-
Soporte para Replicat paralelo solo en modo integrado y Replicat integrado.
-
Se debe configurar ACDR. ACDR para blockchain y tablas inmutables contiene los siguientes métodos de resolución:
-
Último registro de hora
-
Nota: No se admiten otros métodos de resolución (como el grupo de columnas o la resolución delta). No hay soporte para CDR manual.
-
-
Un blockchain o una tabla inmutable pueden tener como máximo una clave primaria o una restricción única y no pueden tener índices únicos.
-
Restricción de clave primaria o clave única en blockchain o tablas inmutables para ACDR utiliza índices no únicos.
-
ACDR solo gestiona los conflictos INSERT-INSERT porque la cadena de bloques y las tablas inmutables son tablas solo INSERT. ACDR agrega dos columnas ocultas para el registro de hora (
CDRTS$ROW) y la visibilidad (ORABCTAB_INVISIBLE$).
Estas columnas ocultas funcionan de la siguiente manera:
ACDR resolverá un conflicto y conservará ambas copias de la fila. Marcará un INSERT en conflicto que normalmente se habría descartado o sobrescrito como lógicamente inválido configurando la columna oculta
ORABCTAB_INVISIBLE$en 1. Como resultado, puede haber varias filas con el mismo valor de clave, pero como máximo 1 fila para cada clave será válida y tendráORABCTAB_INVISIBLE$definido en 0. -
Captura automática de DML
Oracle GoldenGate soporta las siguientes operaciones DML con modo de captura automática:
-
El parámetro
TABLEEXCLUSIONestá soportado. -
El parámetro
TABLEestá soportado. -
Extract escribe los registros DML de la tabla entregados por la base de datos para la captura automática en el archivo de pista.
Partición del Sistema
La partición del sistema es una función de Oracle AI Database que permite crear una tabla con particiones con nombre. La base de datos no mantiene una tabla particionada por el sistema. Cada DML debe especificar la partición en la que residirá la fila. Extract y todos los modos de Replicat soportan la partición del sistema. Cada encabezado de registro de archivo de pista perteneciente a una tabla particionada por el sistema incluye el nombre de la partición. A partir de Oracle GoldenGate 21c, se genera un registro de nombre de partición (PNR) para las tablas particionadas del sistema, si se incluye en el parámetro PARTITION.
Consulte PARTITION \| PARTITIONEXCLUDE en la Referencia de parámetros y funciones para Oracle GoldenGate.
Secuencias y Columnas de Identidad
-
Las columnas de identidad están soportadas desde la base de datos Oracle 18c en adelante y requieren Extract, Parallel Replicat en modo integrado o Integrated Replicat.
Nota: La replicación de las secuencias generadas por el sistema para las columnas de identidad no está soportada.
-
Oracle GoldenGate soporta la replicación de valores de secuencia y columnas de identidad en una configuración de alta disponibilidad unidireccional y activo-pasivo.
-
Oracle GoldenGate garantiza que los valores de secuencia de destino siempre serán superiores a los del origen (o iguales a ellos, si la caché es cero).
Limitaciones del soporte para secuencias
Estas limitaciones se aplican a Extract.
-
Oracle GoldenGate no soporta la replicación de valores de secuencia en una configuración bidireccional activa-activa.
-
El tamaño de la caché y el intervalo de incremento de las secuencias de origen y destino deben ser idénticos. La caché puede tener cualquier tamaño, incluido 0 (
NOCACHE). -
La secuencia se puede definir en ciclo o no, pero las bases de datos de origen y destino se deben definir de la misma forma.
-
Las tablas con columnas de secuencia por defecto se excluyen de la replicación para Extract.
Objetos y Operaciones No Soportados en Oracle DML
Los siguientes son objetos u operaciones de Oracle adicionales que Extract no soporta:
-
REFestá soportado de forma nativa para la compatibilidad con Oracle Database 12.2 y versiones posteriores, pero no conREFsbasado en clave primaria (PKREFs) -
Valores de secuencia en una configuración bidireccional activa-activa
-
Reproducción de Base de Datos
-
Tablas creadas como
EXTERNAL