Cambio de Metadatos de la Base de Datos
Este procedimiento es necesario para evitar errores de Replicat al cambiar los siguientes metadatos de la base de datos origen:
-
Juego de caracteres de base de datos
-
Juego de caracteres nacional
-
Configuración regional
-
Zona horaria
-
Distinción entre mayúsculas y minúsculas de nombre de objeto
Si estos cambios se realizan sin realizar este procedimiento, se produce el siguiente error:
2013-05-26 20:10:09 ERROR OGG-05500 Detected database metadata mismatch between current trail file ./dirdat/_p/v1000000003 and the previous sequence. *DBTIMEZONE: [GMT]/[UTC].
Este procedimiento detiene Extract y, a continuación, crea un nuevo archivo de pista. Los nuevos metadatos de la base de datos se incluyen en este nuevo archivo con las transacciones que se iniciaron después del cambio.
-
Pare la actividad de transacción en la base de datos origen. Aún no realice el cambio de metadatos en la base de datos.
-
En el sistema de origen, emita el comando
SEND EXTRACTcon la opciónLOGENDhasta que muestre que no hay más datos de redo que capturar.SEND EXTRACT *group* LOGEND -
Parar extracción.
STOP EXTRACT *group* -
En cada sistema de destino, emita el comando
SEND REPLICATcon la opciónSTATUShasta que muestre el estado "At EOF" para indicar que ha terminado de procesar todos los datos de la pista. Esto se debe hacer en todos los sistemas de destino hasta que todos los procesos de Replicat devuelvan "At EOF".SEND REPLICAT *group* STATUS -
Pare los volcados de datos y Replicat.
STOP EXTRACT *group* STOP REPLICAT *group* -
Cambie los metadatos de la base de datos.
-
En el sistema de origen, emita el comando
ALTER EXTRACTcon la opciónETROLLOVERpara que el Extract primario realice un rollback de la pista local hasta el inicio de un nuevo archivo.ALTER EXTRACT *group*, ETROLLOVER -
Iniciar Extracción.
START EXTRACT *group* -
Cambie la posición de los procesos de Replicat para que comiencen en el nuevo número de secuencia de pista.
ALTER REPLICAT *group*, EXTSEQNO *seqno*, EXTRBA *RBA* -
Inicie los procesos de Replicat.
START REPLICAT *group*