Uso de la Redefinición Basada en Edición

Oracle GoldenGate soporta el uso de la redefinición basada en edición (EBR) con bases de datos Oracle, lo que le permite actualizar el componente de base de datos de una aplicación mientras está en uso, lo que minimiza o elimina el tiempo de inactividad.

Las ediciones son objetos no de esquema a los que pertenecen los objetos editados. Las ediciones se pueden considerar como propiedad de objetos editados o como un espacio de nombres. Cada base de datos comienza con una edición denominada ORA$BASE; esto incluye las bases de datos actualizadas. Puede haber más de una edición en una base de datos y cada una solo puede tener un secundario. Por ejemplo, si crea tres ediciones sucesivas, edition1, edition2, edition3, edition1 es el principal de edition2, que es el principal de edition3. Esto es independientemente del usuario o de la sesión de base de datos que los crea o de la edición actual cuando se crea la nueva. Al crear una edición, hereda todos los objetos editados de su principal. Para utilizar ediciones con Oracle GoldenGate, debe crearlas.

Un objeto se considera editado si es un tipo editable, se crea con el atributo EDITIONABLE y el esquema se activa para la edición de ese tipo de objeto. Al crear, modificar o borrar un objeto editado, el redo log contendrá el nombre de la edición a la que pertenece. En una base de datos de contenedores, las ediciones pertenecen al contenedor y cada contenedor tiene su propia edición por defecto.

Las DDL CREATE | DROP EDITION se capturan para todas las configuraciones de Extract. Se encuentran en la categoría OTHER y se les ha asignado un valor de opción OBJTYPE de EDITION. La opción OBJTYPE se puede utilizar para filtrar, por ejemplo:

DDL EXCLUDE OBJTYPE EDITION
DDL EXCLUDE OBJTYPE EDITION OPTYPE CREATE
DDL EXCLUDE OBJTYPE EDITION OPTYPE DROP
DDL EXCLUDE OBJTYPE EDITION OPTYPE DROP ALLOWEMPTYOWNER OBJNAME *edition_name*

Debe utilizar la siguiente sintaxis para excluir una edición de Extract o Replicat:

EXCLUDE OBJTYPE EDITION, ALLOWEMPTYOWNER OBJNAME *edition_name*

Las ediciones entran en la categoría OTHER, por lo que no se realiza ninguna asignación en el nombre de la edición. Cuando se aplica, el permiso USE se otorga automáticamente al usuario de Replicat. Replicat también realizará un grant use on edition nombre with grant option para el usuario de creación original si ese usuario existe en la base de datos de destino. Debido a que las ediciones no son operaciones asignables, no tienen propietarios, por lo que la sentencia EXCLUDE estándar no funciona.

Las DDL utilizadas para crear o modificar ediciones no permiten al usuario las ediciones, sino que activan el esquema para las ediciones. Esta es una distinción importante porque significa que el usuario de Replicat no tiene que estar activado para que las ediciones apliquen DDL a los objetos editados. Cuando Replicat aplica un DDL CREATE EDITION, otorga al usuario de creación original permiso para USE si el usuario original existe en la base de datos de destino. Para las sentencias CREATE EDITION no replicadas, debe emitir un permiso USE WITH GRANT OPTION al usuario de Replicat.

El esquema en el que se aplica controla si un objeto editable se edita o no. Replicat cambia su edición de sesión actual antes de aplicar un DDL si el atributo de nombre de edición existe en el archivo de pista y no está vacío.

Los entornos de base de datos de contenedores están soportados tanto para Extract como para Replicat. No se necesita ninguna configuración adicional. El esquema del usuario de Replicat no se puede activar para las ediciones si es un usuario común. No es necesario activar el esquema del usuario de Replicat para ediciones al aplicar DDL a objetos editados en otros esquemas.

A partir de Oracle Database 23ai, se pueden realizar operaciones DDL en línea que se bloquearon anteriormente. Esto proporciona flexibilidad adicional para las actualizaciones de aplicaciones de Oracle que se realizan con la redefinición basada en edición (EBR). Consulte Using Edition-Based Redefinition en la Oracle AI Database Development Guide para obtener más información.

Oracle GoldenGate Extract y Replicat también pueden gestionar la replicación de dichas operaciones DDL para que los cambios de las actualizaciones de aplicaciones de Oracle se repliquen correctamente. Además, podrá borrar las columnas no utilizadas en línea de las tablas en las que se elimina ACDR.