UnDomain Un friki suelto por la red

Recrear Phisical StandBy en DataGuard con Oracle 10g


El otro día me encontré con que el DataGuard que monté hace unas semanas tenia la StandBy sin actualizar.
Resulta que al ser maquinas de prueba, el disco se llenó sin que saltaran alarmas, con lo que algunos Archivers no se replicaron y los que si se replicaron no se pudieron ejecutar.

Cuando te encuentras con estos casos tienes dos posibilidades:
1) Recuperar la StandBy partiendo de un backup de los archivers de la BDD Primary.
2) Recrear la StandBy desde cero.

La primera opción tiene la ventaja de que no requiere parar en ningún momento la Primary, y los archivers se siguen replicando (aunque sin ejecutarse).

En mi caso, al ser un entorno de pruebas que no tiene ni backup ni monitorización ni nada por el estilo, me toca la opción... y eso es lo que voy a explicar: Como recrear la Standby desde cero.



Antes de empezar hay tener presente que este proceso necesita que la Primary se pare durante unos minutos (depende del tamaño.... a mas grande, mas tiempo parada).
Este proceso consiste en repetir algunos de los pasos que se hicieron al montar el DataGuard.

Lo primero de todo es identificar que realmente la StandBy está sin actualizarse. Esto lo podemos ver con la siguiente sentencia:

SQL> SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

Esta consulta con dará un listado con la secuencia de archivers que tiene y si están ejecutados o no:

SEQUENCE# APP
---------- ---
        62 YES
        63 YES
        64 NO
        65 NO
        85 NO
        86 NO
        91 NO
        92 NO
        93 NO

Como vemos, hay un par de saltos en la secuencia, y poco antes del primer salto ha dejado de aplicar los archivers.
Esto significa que ha pasado "algo" y que, aunque se hayan replicado algunos archivers, estos no se han ejecutado.



Lo primero que se ha de hacer es detener las dos BDD, la Primary y la StandBy. Para esto basta con cerrar la BDD normalmente:

SQL> SHUTDOWN IMMEDIATE

Ahora, se han de copiar los DataFiles y los ControlFiles de la Primary a la StandBy reemplazando los existentes. Es aconsejable hacer un backup previo.
RECUERDA QUE LA PRIMARY TIENE QUE ESTAR PARADA.

Cuando se termine de copiar los ficheros, se tiene que recrear el Control File para la StandBy. Para esto, tenemos que ejecutar los siguientes comandos en la Primary:
IMPORTANTE: Si el fichero ya existe, bórralo antes. Esto no lo reemplaza.

SQL> STARTUP MOUNT;
SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS 'c:\stdby.ctl';
SQL> ALTER DATABASE OPEN;

Con esto, ya tenemos la Primary funcionando. Ahora solo tenemos que copiar el ControlFile recién creado en la StandBy reemplazando el existente.

Ya solo nos queda poner en marcha la StandBy con los siguientes comandos:

SQL> STARTUP MOUNT
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;



Ya tenemos nuestra StandBy resucitada y funcionando... ahora solo es cuestión de tener mas cuidado con ella :)

Muchas gracias por los datos,

Muchas gracias por los datos, hace tiempo que estoy buscando como realizar estas acciones en Oracle 10g sinceramente... los quiero

Pues tuyos son :) Me alegro

Pues tuyos son :)
Me alegro que te sean útiles.

Muy bueno el detalle de como

Muy bueno el detalle de como crear una phisical standby database, pero como hago para configurar el switch over?
Ya que es importante que el segudno equipo tome el control para cuando el principal deje de funcionar.
Y la otra pregunta es, que pasa si se corta la energia general, ambos equipos dejan de funcionar, cuando vuelve la energia, solo el nodo secundario se enciende, pero no toma el rol principal, por lo que no fue automarico, por que?

Mil gracias por la respuesta!!!

Lo que comentas es normal.

Lo que comentas es normal. Con esta configuración no se hace un SwitchOver automático... eso lo tengo pendiente.
En cuanto tenga información suficiente para un articulo, lo pondré.

Si te corre prisa, lo que tendrias que hacer es mirar en el metalink de Oracle.

Enviar un comentario nuevo

El contenido de este campo se mantiene privado y no se mostrará públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.

Más información sobre opciones de formato

Image CAPTCHA
Enter the characters shown in the image.

Todo el contenido mostrado ha sido obtenido libremente por la red. Las marcas indicadas son propiedad de sus legítimos dueños y se muestran a modo informativo de manera libre y voluntaria, sin intención publicitaria ni ánimo de lucro. Todo el material propio, y salvo que se indique lo contrario, se encuentra bajo licencia Creative Commons. Si tienes el Copyright de algún contenido o has detectado algna anomalia, por favor, infórmalo al correo undomain@gmail.com para ser corregido cuanto antes. El autor de esta Web no se hace responsable del contenido de terceras personas y de sites ajenos a este.

Powered by Drupal, an open source content management system