DDLSUBST
Válido para
Extraer y Replicat
Descripción
Utilice el parámetro DDLSUBST para sustituir cadenas en una operación DDL. Por ejemplo, puede sustituir un nombre de tabla por otro o sustituir una cadena en los comentarios. La búsqueda no es sensible a mayúsculas/minúsculas. Para representar comillas en una cadena, utilice comillas dobles.
Directrices para el uso de DDLSUBST
-
No utilice
DDLSUBSTpara convertir nombres de columna y tipos de dato en algo diferente en el destino. Si cambia la estructura de un objeto de destino de esta manera, se producirán errores cuando los datos se replican en él. Del mismo modo, no utiliceDDLSUBSTpara cambiar los nombres de propietario y tabla en una sentenciaDDLde destino. Utilice siempre una sentenciaMAPpara asignar una operaciónDDLreplicada a un objeto de destino diferente. -
DDLSUBSTsiempre se ejecuta después del parámetroDDL, independientemente de su orden relativo en el archivo de parámetros. Puesto que el filtrado se ejecuta en primer lugar, utilice criterios de filtrado compatibles con los criterios que está utilizando para la sustitución de cadenas. Por ejemplo, considere las siguientes sentencias de parámetros:
DDL INCLUDE OBJNAME fin.*
DDLSUBST 'cust' WITH 'customers' INCLUDE OBJNAME sales.*
En este ejemplo, no se produce ninguna sustitución porque los objetos de las sentencias INCLUDE y DDLSUBST son diferentes. Los objetos propiedad de fin se incluyen en la configuración de Oracle GoldenGate DDL, pero los objetos propiedad de sales no lo están.
-
Puede utilizar varios parámetros
DDLSUBST. Se ejecutan en el orden indicado en el archivo de parámetros. -
Para Oracle
DDLque incluye comentarios, no utilice el parámetroDDLOPTIONScon la opciónREMOVECOMMENTS BEFOREsi va a realizar una sustitución de cadena en esos comentarios.REMOVECOMMENTS BEFOREelimina los comentarios antes de que se produzca la sustitución de cadenas. Para eliminar comentarios, pero permitir la sustitución de cadenas, utilice la opciónREMOVECOMMENTS AFTER. -
No hay un tamaño máximo de cadena para las sustituciones, aparte del límite impuesto por la base de datos. Si el tamaño de la cadena supera el límite de la base de datos, el proceso Extract o Replicat que está ejecutando la operación finaliza de forma anormal.
Valor por defecto
Sin sustitución
Sintaxis
DDLSUBST '<search_string>' WITH '<replace_string>'
[INCLUDE <inclusion_clause> | EXCLUDE <exclusion_clause>]
<'search_string'>
Cadena de la sentencia DDL de origen que desea sustituir. Incluya la cadena entre comillas simples. Para representar comillas en una cadena, utilice comillas dobles.
WITH
Palabra clave necesaria.
<'replace_string'>
Cadena que desea utilizar como sustitución en el destino DDL. Incluya la cadena entre comillas simples. Para representar comillas en una cadena, utilice comillas dobles.
INCLUDE <inclusion_clause> | EXCLUDE <exclusion_clause>
Especifica una o más sentencias INCLUDE y EXCLUDE para filtrar las operaciones DDL a las que se aplican las reglas de sustitución de cadena. Consulte "DDL Filtering Options" para obtener información sobre sintaxis y uso.
Ejemplos
Ejemplo 1
A continuación, se sustituye la cadena cust por la cadena customers para las tablas del esquema fin.
DDLSUBST 'cust' WITH 'customers'
INCLUDE ALL OBJTYPE 'table' OBJNAME fin.*
Ejemplo 2
Lo siguiente sustituye un nuevo directorio sólo si el comando DDL incluye la palabra logfile. Si la cadena de búsqueda se encuentra varias veces, la cadena de sustitución se inserta varias veces.
DDLSUBST '/file1/location1' WITH '/file2/location2' INCLUDE INSTR 'logfile'
Ejemplo 3
A continuación se utilizan varias sentencias DDLSUBST, que se ejecutan en el orden mostrado.
DDLSUBST 'a' WITH 'b' INCLUDE ALL
DDLSUBST 'b' WITH 'c' INCLUDE ALL
El efecto neto de las cadenas anteriores sustituye todas las cadenas a y b por c.