Estoy lidiando con un problema por el cual tengo una base de datos que se administra mediante protección de datos usando Redo Apply, por lo que los registros de rehacer se copian a la base de datos de destino, se aplican y se mantienen sincronizados listos para la conmutación por error.
La base de datos de destino (DR) ha estado fuera de línea por un tiempo y, al realizar una investigación, se descubrió que estaba fuera de línea y no podía iniciarse debido a que faltaba un archivo de control.
La base de datos original era una copia exacta, por lo que las rutas de archivo relativas y el nombre son consistentes con la base de datos principal.
Tengo algunas ideas sobre cómo solucionar esto y me preguntaba si alguien puede ofrecer alguna experiencia.
1) Copie el archivo de control que falta del servidor primario al servidor DR e intente iniciar. Supongo que con el tiempo es posible que se hayan agregado archivos adicionales al archivo principal que pueden no estar en el DR. ¿También me preocupa estropear lo que actualmente se podría recuperar?
2) Exportar el archivo de control principal actual a trace > sql, modificarlo para que se ajuste a la base de datos de destino y luego crear el archivo de control usando sql.
3) Comience de nuevo, cree un nuevo objetivo de DR. Al no haber creado la configuración inicial de DR (protección de datos), no estoy completamente seguro de qué tan fácil es esto, pero sé que al menos funcionaría.
Cualquier consejo bienvenido TIA
Respuesta1
Debe tener más de una copia del archivo de control en cada lado. En uso principal:
ALTER DATABASE CREATE STANDBY CONTROLFILE as '/path../control01.ctl';
Esto creará una copia en el archivo de control, donde se establece una bandera especial. Esto permitirá que la base de datos aplique rehacer registros que sean más nuevos o más antiguos que el SCN del archivo de control.