- Verifica que tu base de datos se ejecute en modo
ARCHIVELOG
.
Para ello, accede a tu base de datos de Oracle y ejecuta el siguiente comando en el símbolo del sistema de SQL:
- Si el resultado es
ARCHIVELOG
, continúa con el paso 2. - Si el resultado es
NOARCHIVELOG
, deberás habilitar el modoARCHIVELOG
para tu base de datos. - Ejecuta los siguientes comandos cuando accedas como
SYSDBA
:SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER DATABASE ARCHIVELOG; ALTER DATABASE OPEN;
- Los archivos de registro archivados consumen espacio en el disco, por lo que te recomendamos que configures el parámetro DB_RECOVERY_FILE_DEST_SIZE para tu base de datos. Usa este parámetro para especificar (en bytes) el límite estricto del espacio total que usarán los archivos de recuperación de la base de datos de destino. Con la configuración de este parámetro, puedes administrar la compensación entre proteger la base de datos para que no se quede sin espacio en el disco y que la transmisión falle debido a la pérdida de posición del registro.
- Define una política de retención de datos para tu base de datos mediante la ejecución de estos comandos de Oracle Recovery Manager (RMAN):
TARGET / CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 4 DAYS;
Te recomendamos conservar las copias de seguridad y archivar los registros durante un mínimo de 4 días y se recomiendan 7 días.
- Regresa al mensaje de SQL de la herramienta de base de datos que usas para configurar la política de rotación de archivos de registro de Oracle. Recomendamos configurar un tamaño máximo de archivo de registro de no más de 512 MB.
- Habilita los datos de registro complementarios. Para ello, primero habilita el registro complementario mínimo a nivel de la base de datos ejecutando el siguiente comando:
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
A continuación, elige si quieres activar el registro para tablas específicas o para toda la base de datos.
Para registrar los cambios realizados solo en tablas específicas, ejecuta el siguiente comando para cada tabla que quieras replicar:
ALTER TABLE SCHEMA.TABLE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS
Reemplaza lo siguiente:
- SCHEMA: Es el nombre del esquema que contiene la tabla.
- TABLE: Es el nombre de la tabla en la que deseas registrar los cambios.
Para replicar la mayoría o todas las tablas de tu base de datos, considera activar el registro para toda la base de datos.
Ejecuta el siguiente comando para habilitar los datos de registro complementarios en toda la base de datos:
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
- Otorga los privilegios adecuados a la cuenta de usuario que se usará para conectarse a tu base de datos. Para hacerlo, ejecuta los siguientes comandos:
GRANT EXECUTE_CATALOG_ROLE TO USER_NAME; GRANT CONNECT TO USER_NAME; GRANT CREATE SESSION TO USER_NAME; GRANT SELECT ON SYS.V_$DATABASE TO USER_NAME; GRANT SELECT ON SYS.V_$ARCHIVED_LOG TO USER_NAME; GRANT SELECT ON SYS.V_$LOGMNR_CONTENTS TO USER_NAME; GRANT EXECUTE ON DBMS_LOGMNR TO USER_NAME; GRANT EXECUTE ON DBMS_LOGMNR_D TO USER_NAME; GRANT SELECT ANY TRANSACTION TO USER_NAME; GRANT SELECT ANY TABLE TO USER_NAME;
Si tu organización no permite otorgar el permiso
GRANT SELECT ANY TABLE
, usa la solución que se describe en la sección Captura de datos modificados (CDC) de Oracle de la página de preguntas frecuentes de Datastream.Si tu base de datos de origen es Oracle 12c o posterior, otorga el siguiente privilegio adicional:
GRANT LOGMINING TO USER_NAME;
- Otorga a la cuenta de usuario
SELECT
acceso a la vistaDBA_EXTENTS
en tu base de datos. Este privilegio te permite usar el reabastecimiento basado enROWID
para tu fuente de Oracle:GRANT SELECT ON DBA_EXTENTS TO USER_NAME;
SELECT LOG_MODE FROM V$DATABASE;
¿Qué sigue?
- Obtén más información sobre cómo funciona Datastream con las fuentes de Oracle.