Uso de varios grupos de procesos
Normalmente, solo se necesita un grupo de Extract para capturar de forma eficaz desde una base de datos. Sin embargo, según los valores de redo (transaccionales) o los tipos de datos y operaciones, puede que tenga que agregar uno o más grupos Extract a la configuración.
Del mismo modo, normalmente solo se necesita un grupo de Replicat para aplicar datos a una base de datos de destino si se utiliza Replicat en modo coordinado. Sin embargo, incluso en algunos casos cuando se utiliza Replicat en modo coordinado, es posible que deba utilizar varios grupos de Replicat. Si utiliza Replicat en modo clásico y sus aplicaciones generan un volumen de transacciones elevado, probablemente tendrá que utilizar grupos de Replicat paralelos.
Cada componente de Oracle GoldenGate, Extract, Trail, DISTPATH y Replicat, es un módulo independiente, por lo que puede combinarlos de forma que se adapten a sus necesidades. Puede utilizar varias pistas y procesos paralelos de Extract y Replicat para gestionar grandes volúmenes de transacciones, mejorar el rendimiento, eliminar cuellos de botella, reducir la latencia o aislar el procesamiento de datos específicos.
En el siguiente diagrama se muestran algunas de las formas en que puede configurar Oracle GoldenGate para mejorar la velocidad de rendimiento y superar los problemas de ancho de banda de red.

Las etiquetas de imagen implican lo siguiente:
-
A: las extracciones paralelas dividen la carga. Por ejemplo, por esquema o para aislar tablas que generan recuperaciones.
-
B: se puede utilizar un Extract con pista local para filtrar, convertir y tolerancia falsa de red.
-
C: varios DISTPATHS resuelven las limitaciones de ancho de banda de red por proceso para activar el rendimiento de TCP/IP. Divida las sentencias de parámetros
TABLEentre ellas. -
D: las réplicas paralelas aumentan el rendimiento de la base de datos. Una o más réplicas pueden leer cualquier pista. Divida las sentencias
MAPentre ellas.
Instrucciones para el Uso de Varios Grupos de Procesos
Antes de configurar varios grupos de procesamiento, revise las siguientes directrices para asegurarse de que la configuración produce los resultados esperados y mantiene la integridad de los datos.
Mantenimiento de la integridad de datos
No todas las cargas de trabajo se pueden particionar en varios grupos y conservar la atomicidad de transacción original. Debe determinar si los objetos de un grupo alguna vez tendrán dependencias de objetos de cualquier otro grupo, ya sea transaccional o de otro tipo. Por ejemplo, las tablas para las que la carga de trabajo actualiza rutinariamente la clave primaria no se pueden particionar fácilmente de esta manera. La replicación de DDL (si está soportada para la base de datos) no es viable en este modo, ni el uso de algunas funciones SQLEXEC o EVENTACTIONS que basan sus acciones en un registro específico.
Si las tablas no tienen dependencias de clave ajena ni actualizaciones de claves primarias, puede utilizar varios procesos. Mantenga el DML relacionado en el mismo flujo de proceso para garantizar la integridad de los datos.
Número de Grupos
El número de grupos de procesos simultáneos de Extract y Replicat que se pueden ejecutar en un sistema depende de la cantidad de memoria disponible del sistema. Cada proceso de Extract y Replicat clásico necesita aproximadamente entre 25 y 55 MB de memoria o más, según el tamaño de las transacciones y el número de transacciones simultáneas. La interfaz de comandos de Oracle GoldenGate soporta por completo hasta 5 000 grupos simultáneos de Extract y Replicat (combinados) por instancia de Oracle GoldenGate. En el nivel soportado, todos los grupos se pueden controlar y visualizar todos los grupos con comandos como INFO y STATUS
Más allá del nivel admitido, la información del grupo no se muestra y pueden producirse errores. Oracle GoldenGate recomienda guardar el número de grupos de Extract y Replicat (combinados) en un nivel más manejable, como 100 o uno inferior, para gestionar la configuración de forma eficaz. El número máximo de grupos se controla mediante el parámetro MAXGROUPS, que tiene un valor por defecto de 1000.
Para los entornos de Windows Server, el número de grupos de procesos que se pueden ejecutar está estrechamente acoplado a la configuración de memoria de pila de escritorio de Windows "no interactiva". La configuración predeterminada para la pila de escritorio de Windows puede ser suficiente para ejecutar un número muy pequeño de grupos de procesos, pero a medida que se acerque a grandes cantidades de grupos de procesos, más de 60 o más, tendrá que ajustar la ' valor non-interactive' del campo SharedSection en el registro, basado en esta información de Microsoft (memoria de pila de escritorio de Windows), o bien aumentar el número de directorios raíz de Oracle GoldenGate y distribuir el número total de grupos de procesos deseados entre estos directorios raíz. Nota: Para obtener más información sobre la modificación de la memoria de pila de Windows Desktop, consulte el siguiente documento de Oracle Knowledge Base (ID de documento 2056225.1).
Memoria
El sistema debe tener suficiente espacio de intercambio para cada proceso de Oracle GoldenGate Extract y Replicat que se vaya a ejecutar. Para determinar el espacio de intercambio necesario:
-
Inicie un Extract o Replicat.
-
Ejecute el cliente de administración.
-
Consulte el archivo de informe y busque la línea
PROCESS VM AVAIL FROM OS (min). -
Si es necesario, redondee el valor al siguiente gigabyte completo. Por ejemplo, redondee 1.76GB a 2 GB.
-
Multiplique ese valor por el número de procesos de Extract y Replicat que se van a ejecutar. El resultado es la cantidad máxima de espacio de intercambio que podría ser necesario
Consulte el parámetro CACHEMGR en Referencia de parámetros y funciones para Oracle GoldenGate para obtener más información sobre cómo se gestiona la memoria.
Aislamiento de Tablas de Procesamiento Intensivo
Puede utilizar varios grupos de procesos para admitir determinados tipos de tablas que tienden a interferir con el proceso normal y provocar que la latencia se cree en el destino. Por ejemplo:
-
Puede que Extract necesite realizar una recuperación de la base de datos debido al tipo de dato de la columna, a las especificaciones de los parámetros o para realizar procedimientos SQL. Cuando los datos se deben recuperar de la base de datos, afecta al rendimiento de Extract. Puede obtener estadísticas de recuperación del comando
STATS EXTRACTsi incluye el parámetroSTATOPTIONS REPORTFETCHen el archivo de parámetros Extract. A continuación, puede aislar esas tablas en sus propios grupos de extracción, suponiendo que se pueda mantener la integridad transaccional. -
En su modo clásico, el proceso de Replicat puede ser un origen de cuellos de botella de rendimiento porque es un proceso de un solo thread que aplica operaciones de una en una mediante SQL normal. Incluso con
BATCHSQLactivado (consulte Referencia de parámetros y funciones para Oracle GoldenGate). El Replicat puede tardar más en procesar tablas que tienen transacciones grandes o de larga ejecución, gran volumen, un gran número de columnas que cambian y datos LOB. A continuación, puede aislar esas tablas en sus propios grupos de Replicat, suponiendo que se pueda mantener la integridad transaccional.