DDL
Válido para
Extraer y Replicat
Nota: La replicación de DDL solo está soportada entre las bases de datos Oracle a Oracle y entre las bases de datos MySQL a MySQL.
Descripción
Utilice el parámetro DDL para:
-
activar soporte
DDL -
filtrar operaciones
DDL -
configurar una acción de procesamiento basada en un registro
DDL
Cuando se utiliza sin opciones, el parámetro DDL no realiza ningún filtrado y provoca que todas las operaciones DDL se propaguen de la siguiente forma:
-
Como parámetro Extract, captura todas las operaciones
DDLsoportadas que se generan en todos los objetos de base de datos soportados y los envía a la pista. -
Como parámetro de Replicat, replica todas las operaciones
DDLde la pista de Oracle GoldenGate y las aplica al destino. Es el mismo comportamiento que el comportamiento por defecto sin este parámetro.
Cuando se utiliza con opciones, el parámetro DDL actúa como agente de filtrado para incluir o excluir operaciones DDL en función de:
-
ámbito
-
tipo de objeto
-
tipo de operación
-
nombre de objeto
-
cadenas en la sintaxis o comentarios del comando
DDL, o ambos
Solo se puede utilizar un parámetro DDL en un archivo de parámetros, pero puede combinar varias opciones de inclusión y exclusión para filtrar DDL al nivel necesario.
-
Las opciones de filtrado del parámetro
DDLson válidas para un Extract principal que captura desde el origen de transacción, pero no para un Extract de pump de datos. -
Cuando se combinan, varias especificaciones de opciones de filtro se enlazan lógicamente como sentencias
AND. -
Se deben cumplir todos los criterios de filtro especificados con varias opciones para que se replique una sentencia
DDL. -
Al utilizar criterios de filtrado complejos en una sentencia de parámetro
DDL, se recomienda probar la configuración en un entorno de prueba antes de utilizarla en producción. -
Consulte el Ejemplo 1, "Ejemplo" para obtener más información.
Nota: No utilice el parámetro DDL para un pump de datos de Extract. Estos tipos de proceso no permiten la asignación o conversión de DDL y propagarán los registros DDL automáticamente en modo de transferencia. Replicat aplicará el valor DDL que se realiza en una tabla de origen (por ejemplo, ALTER TABLE TableA...) con el mismo nombre de tabla (ALTER TABLE TableA). No se puede asignar como ALTER TABLE TableB.
Para obtener información adicional sobre cómo utilizar el soporte DDL de Oracle GoldenGate, consulte Oracle: DDL Replication y MySQL: DDL Replication en la documentación de microservicios de Oracle GoldenGate.
Sintaxis
DDL [
{AUTOSCHEMA}
{INCLUDE | EXCLUDE}
[, ALLOWEMPTYOBJECT]
[, ALLOWEMPTYOWNER]
[, MAPPED | UNMAPPED | OTHER | ALL]
[, OPTYPE <type>]
[, OBJTYPE '<type>']
[, OBJNAME <name>]
[, INSTR '<string>']
[, INSTRWORDS '<word_list>']
[, INSTRCOMMENTS '<comment_string>']
[, INSTRCOMMENTSWORDS '<word_list>']
[, SOURCECATALOG <catalog> | ALLCATALOGS]
[, STAYMETADATA]
[, EVENTACTIONS (<action>)]
]
[...]
AUTOSCHEMA
Válido para Replicat en MySQL con Oracle, Oracle con MySQL y de MySQL con MySQL con replicación de datos.
La opción de parámetro DDL AUTOSCHEMA se utiliza para activar la funcionalidad de evolución automática del esquema. Por defecto, esta opción se encuentra desactivada.
Sintaxis
DDL AUTOSCHEMA
Solo las operaciones DDL MAPPED son relevantes para la evolución automática del esquema. Por lo tanto, los nombres de objeto especificados como parte de la cláusula OBJNAME en los criterios de inclusión/exclusión deben corresponderse con los nombres de tabla de destino (y no con los nombres de tabla de origen).
Al utilizar OBJNAME con MAPPED en un archivo de parámetros de Replicat, el valor para OBJNAME debe hacer referencia al nombre especificado con la cláusula TARGET de la sentencia MAP.
Para obtener más información, consulte Uso de la evolución automática de esquemas
INCLUDE | EXCLUDE
DDL Opciones de filtrado
Las siguientes opciones de sintaxis permiten filtrar y operar en DDL que replica Oracle GoldenGate. Estas opciones se aplican a las cláusulas INCLUDE y EXCLUDE del parámetro DDL y otros parámetros que soportan la replicación DDL.
Utilice INCLUDE o EXCLUDE para identificar el comienzo de una cláusula de inclusión o exclusión.
-
Una cláusula de inclusión contiene criterios de filtrado que identifican el
DDLal que afectará este parámetro. -
Una cláusula de exclusión contiene criterios de filtrado que excluyen
DDLespecífico de este parámetro.
La cláusula de inclusión o exclusión debe constar de la palabra clave INCLUDE o EXCLUDE seguida de cualquier combinación válida de las otras opciones de filtrado del parámetro DDL.
Si utiliza EXCLUDE, debe crear una cláusula INCLUDE correspondiente. Por ejemplo, lo siguiente no es válido:
DDL EXCLUDE OBJNAME "hr".*
Sin embargo, puede utilizar alguno de los siguientes métodos:
DDL INCLUDE ALL, EXCLUDE OBJNAME "hr"."*"
DDL INCLUDE OBJNAME fin.* EXCLUDE OBJNAME "fin.ss"
Un EXCLUDE tiene prioridad sobre cualquier INCLUDEs que contenga los mismos criterios. Puede usar varias cláusulas de inclusión y exclusión.
No incluya ningún objeto DDL instalado de Oracle GoldenGate en un parámetro DDL, en un parámetro TABLE o en un parámetro MAP, ni en un parámetro TABLEEXCLUDE o MAPEXCLUDE. Asegúrese de que las especificaciones de comodín en esos parámetros no incluyen objetos DDL instalados por Oracle GoldenGate. Estos objetos no deben formar parte de la configuración de Oracle GoldenGate, pero el proceso Extract debe tener en cuenta las operaciones en ellos y es por eso que no debe excluirlos explícitamente de la configuración con una sentencia de parámetro EXCLUDE, TABLEEXCLUDE o MAPEXCLUDE.
ALLOWEMPTYOBJECT
Utilice ALLOWEMPTYOBJECT para permitir que una especificación OBJNAME procese DDL que no contiene ningún nombre de objeto. Por ejemplo:
DDL INCLUDE OBJNAME sch.* ALLOWEMPTYOBJECT
ALLOWEMPTYOWNER
Utilice ALLOWEMPTYOWNER para permitir que una especificación OBJNAME procese DDL que no contiene ningún nombre de propietario. Por ejemplo:
DDL INCLUDE OBJNAME pdb.sch.* ALLOWEMPTYOWNER
EVENTACTIONS (action)
Hace que el proceso Extract o Replicat realice una acción definida basada en un registro DDL en el registro de transacciones o la pista, que se conoce como registro de eventos. El evento DDL se dispara si el registro DDL es elegible para ser escrito en la pista por Extract o un pump de datos, o para ser ejecutado por Replicat, según lo determinado por las otras opciones de filtrado del parámetro DDL. Puede utilizar este sistema para personalizar el procesamiento en función de los eventos de la base de datos.
Para <action>, consulte EVENTACTIONS en los parámetros MAP y TABLE.
Directrices para utilizar EVENTACTIONS en los registros DDL:
-
CHECKPOINTBEFORE: dado que cada registroDDLes autónomo, se garantiza que el registroDDLsea el inicio de una transacción; por lo tanto, la acción de eventoCHECKPOINT BEFOREestá implícita para un registroDDL. -
IGNORE: esta opción no es válida para los registrosDDL. Debido a que las operacionesDDLson autónomas, ignorar un registro equivale a ignorar toda la transacción.
EVENTACTIONS no soporta los siguientes objetos DDL porque son objetos derivados:
-
índices
-
activadores
-
sinónimos
-
RENAMEen una tabla yALTER TABLE RENAME
MAPPED | UNMAPPED | OTHER | ALL
Utilice MAPPED, UNMAPPED, OTHER y ALL para aplicar INCLUDE o EXCLUDE según el ámbito de operación DDL.
-
MAPPEDaplicaINCLUDEoEXCLUDEa operacionesDDLque tengan el ámbitoMAPPED. El filtradoMAPPEDse realiza antes del filtrado que se especifica con otras opciones de parámetrosDDL. -
UNMAPPEDaplicaINCLUDEoEXCLUDEa operacionesDDLcon un ámbitoUNMAPPED. -
OTHERaplicaINCLUDEoEXCLUDEa operacionesDDLque tienen un ámbitoOTHER. -
ALLaplicaINCLUDEoEXCLUDEa operacionesDDLde todos los ámbitos.
DDL EXCLUDE ALL es una opción de procesamiento especial que mantiene los metadatos de objetos actualizados para Oracle GoldenGate, al tiempo que bloquea la replicación de las propias operaciones DDL. Puede utilizar DDL EXCLUDE ALL cuando utilice un método que no sea Oracle GoldenGate para aplicar DDL al destino, pero desea que Oracle GoldenGate replique los cambios de datos en los objetos de destino. Proporciona los metadatos actuales a Oracle GoldenGate a medida que cambian los objetos, evitando así la necesidad de parar e iniciar los procesos de Oracle GoldenGate. Las siguientes condiciones especiales se aplican a DDL EXCLUDE ALL:
-
DDL EXCLUDE ALLno necesita el uso de una cláusulaINCLUDE. -
Al utilizar
DDL EXCLUDE ALL, puede definir el parámetroWILDCARDRESOLVEenIMMEDIATEpara permitir la resolución inmediata deDMLsi es necesario.
OBJNAME name
Utilice OBJNAME para aplicar INCLUDE o EXCLUDE al nombre totalmente cualificado de un objeto. Para especificar correctamente los nombres de objetos de dos y tres partes y los comodines, consulte Uso de comodines en argumentos de comando.
Incluir nombres de objetos sensibles a mayúsculas/minúsculas entre comillas dobles.
Ejemplo no sensible a mayúsculas/minúsculas:
DDL INCLUDE OBJNAME accounts.*
Ejemplo sensible a mayúsculas/minúsculas:
DDL INCLUDE OBJNAME accounts."cust"
No utilice OBJNAME para el objeto USER de Oracle, porque OBJNAME espera <owner.object> o <container.owner.object>, mientras que USER solo tiene un esquema.
Al utilizar OBJNAME con MAPPED en un archivo de parámetros de Replicat, el valor para OBJNAME debe hacer referencia al nombre especificado con la cláusula TARGET de la sentencia MAP. Por ejemplo, con la siguiente sentencia MAP, el valor correcto es OBJNAME fin2.*.
MAP fin.exp_*, TARGET fin2.*;
En el siguiente ejemplo, una sentencia CREATE TABLE se ejecuta de la siguiente manera en <source>:
CREATE TABLE fin.exp_phone;
Esa misma sentencia se ejecuta de la siguiente manera en el destino:
CREATE TABLE fin2.exp_phone;
Si no se especifica un propietario de destino en la sentencia MAP, Replicat lo asigna al usuario de base de datos que se especifica con el parámetro USERIDALIAS.
Para DDL que crea objetos derivados, como un disparador, el valor de OBJNAME debe ser el nombre del objeto base, no el nombre del objeto derivado.
Por ejemplo, para incluir la siguiente sentencia DDL, el valor correcto es hr.accounts, no hr.insert_trig.
CREATE TRIGGER hr.insert_trig ON hr.accounts;
Para las operaciones RENAME, el valor de OBJNAME debe ser el nuevo nombre de tabla. Por ejemplo, para incluir la siguiente sentencia DDL, el valor correcto es hr.acct.
ALTER TABLE hr.accounts RENAME TO acct;
OBJTYPE <type>
Utilice OBJTYPE para aplicar INCLUDE o EXCLUDE a un tipo específico de objeto de base de datos. Para <type>, utilice cualquier tipo de objeto que sea válido para la base de datos, como TABLE, INDEX y TRIGGER. Para una vista materializada de Oracle y un log de vistas materializadas, los tipos correctos son snapshot y snapshot log, respectivamente. Incluya el nombre del tipo de objeto entre comillas simples. Por ejemplo:
DDL INCLUDE OBJTYPE 'INDEX'
DDL INCLUDE OBJTYPE 'SNAPSHOT'
Para el tipo de objeto de Oracle USER, no utilice la opción OBJNAME, porque OBJNAME espera owner.object o <container.owner.object>, mientras que USER solo tiene un esquema.
OPTYPE <type>
Utilice OPTYPE para aplicar INCLUDE o EXCLUDE a un tipo específico de operación DDL, como CREATE, ALTER y RENAME. Para <type>, utilice cualquier comando DDL que sea válido para la base de datos. Por ejemplo, para incluir operaciones ALTER, la sintaxis correcta es:
DDL INCLUDE OPTYPE ALTER
INSTR string
Utilice INSTR para aplicar INCLUDE o EXCLUDE a sentencias DDL que contengan una cadena de caracteres específica en la propia sintaxis del comando, pero no en los comentarios. Por ejemplo, a continuación se excluye DDL que crea un índice.
DDL INCLUDE ALL EXCLUDE INSTR 'CREATE INDEX'
Incluya la cadena entre comillas simples. La búsqueda de cadena no distingue entre mayúsculas y minúsculas.
INSTR no soporta comillas simples (' ') que estén dentro de la cadena ni soporta valores NULL.
INSTRCOMMENTS comment_string
(Válido para Oracle) Utilice INSTRCOMMENTS para aplicar INCLUDE o EXCLUDE a las sentencias DDL que contienen una cadena de caracteres específica en un comentario, pero no en el propio comando DDL. Mediante INSTRCOMMENTS, puede utilizar comentarios como agente de filtrado.
Por ejemplo, a continuación se excluyen las sentencias DDL que incluyen la cadena 'source only' en los comentarios.
DDL INCLUDE ALL EXCLUDE INSTRCOMMENTS 'SOURCE ONLY'
En este ejemplo, las sentencias DDL, como las siguientes, no se replican.
CREATE USER john IDENTIFIED BY john /<source only>/;
Incluya la cadena entre comillas simples. La búsqueda de cadena no distingue entre mayúsculas y minúsculas. Puede combinar INSTR y INSTRCOMMENTS para filtrar por una cadena en la sintaxis del comando y en los comentarios de la misma sentencia DDL.
INSTRCOMMENTS no soporta comillas simples (' ') que estén dentro de la cadena, ni soporta valores NULL.
INSTRWORDS word_list
Utilice INSTRWORDS para aplicar INCLUDE o EXCLUDE a las sentencias DDL que contienen las palabras especificadas.
Para <word_list>, proporcione las palabras en cualquier orden, entre comillas simples. Para incluir espacios, coloque el espacio (y la palabra, si corresponde) entre comillas dobles. Las comillas dobles también se pueden utilizar para delimitar oraciones.
Todas las palabras especificadas deben estar presentes en DDL para que INSTRWORDS surta efecto.
Ejemplo:
DDL INCLUDE OPTYPE ALTER OBJTEYP 'TABLE' INSTRWORDS 'ALTER CONSTRAINT " xyz"'
Este ejemplo coincide con las siguientes sentencias DDL:
ALTER TABLE ADD CONSTRAINT xyz CHECK
ALTER TABLE DROP CONSTRAINT xyz
INSTRWORDS no soporta comillas simples (' ') que estén dentro de la cadena, ni soporta valores NULL.
INSTRCOMMENTSWORDS word_list
(Válido para Oracle) Funciona de la misma forma que INSTRWORDS, pero solo se aplica a los comentarios dentro de una sentencia DDL, no a la sintaxis DDL en sí. Mediante INSTRCOMMENTS, puede utilizar comentarios como agente de filtrado.
INSTRCOMMENTSWORDS no soporta comillas simples (' ') que estén dentro de la cadena, ni soporta valores NULL.
Puede combinar INSTRWORDS y INSTRCOMMENTSWORDS para filtrar por una cadena en la sintaxis del comando y en los comentarios de la misma sentencia DDL.
SOURCECATALOG catalog | ALLCATALOGS
Utilice estas opciones para especificar cómo se resuelven los nombres de objetos no cualificados en una cláusula OBJNAME en el contenedor correcto. Utilice estas opciones cuando la base de datos origen sea una base de datos de contenedores de Oracle.
SOURCECATALOG especifica un contenedor por defecto para todos los nombres de objeto especificados en la misma cláusula INCLUDE o EXCLUDE. Para que se aplique, se debe especificar SOURCECATALOG antes de la especificación OBJNAME. Consulte "SOURCECATALOG" para obtener más información, incluido el uso de sentencias que contienen nombres de dos partes, donde los nombres de objetos de tres partes son necesarios para identificar completamente un objeto.
ALLCATALOGS especifica que todos los contenedores de la base de datos se deben tener en cuenta al resolver los nombres de objeto especificados en la misma cláusula INCLUDE o EXCLUDE. ALLCATALOGS se puede colocar antes o después de la especificación OBJNAME.
A continuación se muestra el orden de prioridad que se da cuando hay diferentes especificaciones de catálogo en un archivo de parámetros:
-
ALLCATALOGSen una cláusulaINCLUDEoEXCLUDEsustituye todas las especificacionesSOURCECATALOGen la cláusulaINCLUDEoEXCLUDEy en la raíz del archivo de parámetros, y sustituye la especificación de contenedor de un nombre de objeto totalmente cualificado en la cláusulaOBJNAME. -
Una especificación de catálogo explícita en la cláusula
OBJNAMEsustituye todas las instancias deSOURCECATALOG(pero noALLCATALOGS). -
SOURCECATALOGen una cláusulaINCLUDEoEXCLUDEsustituye el parámetroSOURCECATALOGglobal especificado en la raíz de la sentenciaTABLEoMAP. -
El parámetro global
SOURCECATALOGse aplica a cualquier nombre de objeto no cualificado en las cláusulasOBJNAMEsi la cláusulaINCLUDEoEXCLUDEno especificaSOURCECATALOGoALLCATALOGS. -
En ausencia de cualquiera de los parámetros anteriores, se tienen en cuenta todos los catálogos.
STAYMETADATA
(Válido para Oracle). Impide que los metadatos sean capturados por Extract o aplicados por Replicat.
Cuando Extract encuentra por primera vez DML en una tabla, recupera los metadatos de esa tabla. Cuando se encuentra DDL en esa tabla, los metadatos antiguos se invalidan. La siguiente DML de esa tabla coincide con los nuevos metadatos para que la estructura de la tabla de destino siempre esté actualizada con la del origen.
Sin embargo, si sabe que una operación DDL concreta no afectará a los metadatos de la tabla, puede utilizar STAYMETADATA para que los metadatos actuales no se recuperen ni se repliquen. Se trata de una mejora del rendimiento que ha beneficiado a operaciones como las importaciones y exportaciones, en las que a menudo se realizan DDL como truncados y la desactivación de restricciones. Estas operaciones no afectan a la estructura de la tabla, ya que está relacionada con la integridad de la replicación de datos posterior, por lo que se pueden ignorar en estos casos. Por ejemplo, ALTER TABLE ADD FOREIGN KEY no afecta a los metadatos de la tabla.
Un ejemplo de cómo se puede aplicar de forma selectiva es el siguiente:
DDL INCLUDE ALL INCLUDE STAYMETADATA OBJNAME xyz
En este ejemplo se indica que todo DDL se debe incluir para la replicación, pero solo DDL que funciona en el objeto xyz estará sujeto a STAYMETADATA.
STAYMETADATA también se puede utilizar de la misma forma en una cláusula EXCLUDE.
STAYMETADATA se debe utilizar de la misma forma en el origen y el destino para garantizar la integridad de los metadatos.
Cuando STAYMETADATA está en uso, se agrega un mensaje al archivo de informe. El informe DDL se controla mediante el parámetro DDLOPTIONS con la opción REPORT.
Esta misma funcionalidad se puede aplicar globalmente a todos los DDL que se producen en el origen mediante los scripts @ddl_staymetadata:
-
@ddl_staymetadata_ondesactiva globalmente el control de versiones de metadatos. -
@ddl_staymetadata_offactiva de nuevo el control de versiones de metadatos de forma global.
Esta opción se debe utilizar con la ayuda del personal de soporte técnico de Oracle GoldenGate, ya que puede que no siempre sea evidente qué DDL afecta a los metadatos de los objetos. Si se utiliza incorrectamente, puede comprometer la integridad del entorno de replicación.
Ejemplos
A continuación, se muestran algunos ejemplos de diferentes casos de uso:
Ejemplo 1: Uso de DDL AUTOSCHEMA
-
Ejemplo A:
Para activar
AUTOSCHEMAen todas las tablas del esquema de origenatssrcy del esquema de destinoatstgt:DDL AUTOSCHEMA INCLUDE ALL MAP atssrc.*, TARGET atstgt.*; -
Ejemplo B:
El filtrado (similar al que se muestra en el ejemplo 1) también se puede activar según los tipos de DDL mediante la cláusula DDL AUTOSCHEMA INCLUDE/EXCLUDE OPTYPE.
Por ejemplo, para activar AUTOSCHEMA para el esquema hr pero excluir el esquema finance, utilice el siguiente script:
DDL AUTOSCHEMA &
INCLUDE OBJNAME hr.* &
EXCLUDE OBJNAME finance.*
MAP hr.*, TARGET hr.*;
MAP finance.*, TARGET finance.*;
-
Ejemplo C:
Para activar
AUTOSCHEMApara todas las tablas y utilizar unTYPEMAPpersonalizado para utilizar unbiginten la tabla de destino para todas las columnas de tipointde origen aplicables a todas las tablas.DDL AUTOSCHEMA INCLUDE ALL AUTOSCHEMAOPTIONS TYPEMAP 'int'= 'bigint' MAP atssrc.*, TARGET atstgt.tgt_* -
Ejemplo D:
Para activar
AUTOSCHEMApara todas las tablas y utilizar unTYPEMAPpersonalizado para utilizar unbiginten la tabla de destino para todas las columnas de tipointde origen aplicables a todas las tablas, pero para utilizarsmallintcomo tipo de columna de destino para el tipo de origenint, todas las tablas del esquema de finanzas.DDL AUTOSCHEMA INCLUDE ALL AUTOSCHEMAOPTIONS TYPEMAP 'int'= 'bigint' MAP hr.*, TARGET hr.*; MAP finance.*, TARGET finance.*, AUTOSCHEMAOPTIONS (TYPEMAP 'smallint'='bigint');<–>
Ejemplo 2: combinación de opciones de parámetros DDL
A continuación se muestra un ejemplo de cómo combinar las opciones del parámetro DDL.
DDL &
INCLUDE UNMAPPED &
OPTYPE alter &
OBJTYPE 'table' &
OBJNAME users.tab* &
INCLUDE MAPPED OBJNAME * &
EXCLUDE MAPPED OBJNAME temporary.tab
Los criterios de filtro combinados de esta sentencia especifican lo siguiente:
-
INCLUDEtodas las sentenciasALTER TABLEde las tablas que no están asignadas con una sentenciaTABLEoMAP(ámbitoUNMAPPED), pero solo si esas tablas son propiedad deusersy sus nombres empiezan portab, -
INCLUDEtodos los tipos de operaciónDDLpara todas las tablas que se asignan con una sentenciaTABLEoMAP(ámbitoMAPPED), -
EXCLUDEtodos los tipos de operaciónDDLpara todas las tablas que tienen el ámbitoMAPPED, pero solo si esas tablas son propiedad detemporaryy solo si sus nombres empiezan portab.
Ejemplo 3: inclusión de una acción de evento
El siguiente ejemplo especifica una acción de evento de REPORT para todos los registros DDL.
DDL INCLUDE ALL EVENTACTIONS (REPORT)
Ejemplo 4: Uso de una acción de evento en un subjuego de DDL
En el siguiente ejemplo se muestra cómo se puede utilizar EVENTACTIONS en un subjuego de DDL. Todo DDL se debe replicar, pero solo el DDL que se ejecuta en objetos con nombre explícito califica para disparar las acciones de evento de REPORT y LOG.
DDL INCLUDE ALL &
INCLUDE OBJNAME sales.t* EVENTACTIONS (REPORT) &
INCLUDE OBJNAME fin.my_tab EVENTACTIONS (LOG INFO)
Ejemplo 5: Diferentes formas de especificar nombres <catalog> para DDL que se emiten en objetos de una base de datos de contenedores de Oracle <source>
En el siguiente ejemplo se muestran las diferentes formas de especificar nombres de catálogo para DDL que se emiten en objetos de una base de datos de contenedor de Oracle de origen.
- Lo siguiente incluye
pdb1.sch1.obj1ypdb2.sch2.obj2para el procesamiento deDDL.
SOURCECATALOG pdb1
DDL INCLUDE OBJNAME sch1.obj1 INCLUDE SOURCECATALOG pdb2 OBJNAME sch2.obj2
- A continuación se incluyen todos los objetos con el nombre
sch.objen cualquier catálogo para el procesamiento deDDL.
DDL INCLUDE ALLCATALOGS OBJNAME sch.obj
- A continuación se incluyen todos los objetos con el nombre
sch.objen cualquier catálogo para el procesamiento deDDL, porqueALLCATALOGSsustituye cualquier otra especificación de catálogo.
DDL INCLUDE ALLCATALOGS OBJNAME pdb.sch.obj
Ejemplo 6: muestra el uso combinado de ALLOWEMPTYOBJECT y ALLOWEMPTYOWNER
A continuación, se muestra el uso combinado de ALLOWEMPTYOBJECT y ALLOWEMPTYOWNER.
DDL INCLUDE pdb.*.* ALLOWEMPTYOWNER ALLOWEMPTYOBJECT