MAP para extracción
Válido para
Extracción
Descripción
También puede utilizar MAP en un archivo de parámetros de Extract para cambiar el nombre de las transacciones que almacena Oracle GoldenGate para la tabla.
Por ejemplo, tenga en cuenta que captura la tabla scott.emp. Para el primer caso de uso, debe capturarlo para aplicar todos los cambios a una tabla anter denominada scott.emp con la misma estructura, pero también desea capturar scott.emp con un juego diferente de columnas y replicarlo en una tabla denominada scott.emp_old. Para que esto funcione, necesitará un archivo de parámetros Extract similar al siguiente:
TABLE scott.emp;
MAP scott.emp,
cols(emp_no, employee_name),
target scott.emp_old;
En Replicat, puede hacer lo siguiente:
MAP *.*, target *.*;
Y los cambios de scott.emp irían a scott.emp, los datos de pista de scott.emp_old irían a scott.emp_old.
Utilice el parámetro MAP para Extract cuando Extract funcione en modo de captura clásica y debe utilizar el componente ALTID de este parámetro para asignar un objeto ID a un nombre de objeto. ALTID especifica el objeto correcto ID si Extract está capturando desde los logs de transacciones de Oracle generados por una base de datos distinta de aquella a la que está conectado Extract. Esta configuración es necesaria cuando Extract no tiene permiso para conectarse directamente a la base de datos de producción (origen) para capturar transacciones de producción.
Cuando Extract no se puede conectar directamente a una base de datos origen, se conecta a una base de datos en espera activa u otra base de datos de fax, pero lee los logs de transacciones que se envían desde la base de datos origen. Al consultar el catálogo de la base de datos alternativa, Extract puede obtener los metadatos que necesita para ampliar los datos de transacción en sentencias SQL válidas, pero no puede utilizar el objeto ID de esta consulta. El objeto local ID de una tabla es diferente del objeto ID de esa tabla en la base de datos de origen (y, por lo tanto, en el log de transacciones). Debe asignar manualmente cada nombre de tabla al objeto de origen ID mediante una sentencia MAP con ALTID.
Para usar el mapa con ALTID
-
Cree una sentencia
MAPconALTIDpara cada tabla que desee capturar. Los nombres de tabla con comodines no están permitidos para un parámetroMAPque contieneALTID. -
Para especificar otro procesamiento para la misma tabla (o tablas), como el filtrado o la manipulación de datos, también debe crear una sentencia
TABLEpara cada una de esas tablas. Los comodines se pueden utilizar para especificar varias tablas con una sentenciaTABLE, si procede. -
Utilice una sentencia
MAPde Replicat normal en el archivo de parámetros de Replicat, como de costumbre.MAPpara Extract no sustituye aMAPpara Replicat, que es necesario para asignar tablas de origen a tablas de destino. -
La captura y la replicación de
DDLno están soportadas al utilizarALTID.
Valor por defecto
Ninguno
Sintaxis
MAP *[<container>.]<schema>.*<table>, ALTID <object_ID> [, <object_ID>]
[<container>.]<schema.table>
Nombre totalmente cualificado de la tabla de origen.
<object_ID>
El objeto ID de la tabla tal y como existe en la base de datos de producción (origen).
Si una tabla está particionada, puede mostrar los ID de objeto de las particiones que desea replicar, separando cada una con una coma.
Ejemplos
Ejemplo 1
Este ejemplo asigna una tabla no particionada o solo una partición de una tabla particionada.
MAP QASOURCE.T2, ALTID 75740;
Ejemplo 2
En este ejemplo, se asignan particiones de una tabla particionada.
MAP QASOURCE.T_P1, ALTID 75257,75258;