Sincronización detenida / ORA-01274

Recientemente una amiga se comunicó conmigo pues tenía una emergencia: su base de datos standby había dejado de sincronizar. Revisando el archivo alert.log se encontró el error ORA-01274, llegándose a la conclusión que se había agregado un datafile en la base de datos primaria y al tratar de replicar el cambio en el standby, este datafile no se había creado por falta de espacio en disco.

Ayer por la noche, en el foro de Oracle Technet, alguien reportaba una situación similar, pero en este caso el origen del error era menos claro, el resultado el mismo: no se replicó la creación de uno o más datafiles. ¿Qué hacer en una situación como esta?

Ya antes me había tocado ayudar a otros DBAs en la resolución de este problema, la clave está en seguir los pasos indicados en la nota 221130.1 Recovery failed with error 1274 ORA-19502 ORA-27063 skgfospo SVR4 Error 28.

En escenarios como este, en los que no se logra crear un datafile en la base de datos standby, el datafile es registrado en el controlfile con un nombre similar a UNNAMED0000 y la sincronización se suspende con el error  ORA-1274: cannot add datafile.

Los pasos a seguir para superar el impasse son:

1. Desactivar el manejo automático de archivos

SQL> alter system set standby_file_management = manual scope=memory;
2. Hallar el nombre del datafile no creado
SQL> select name from v$datafile where name like '%UNNAMED%';
NAME
--------------------------------------------------------
e:\oracle\product\10.2.0\database\UNNAMED00033
3. Crear el datafile faltante
SQL> alter database create datafile 
'e:\oracle\product\10.2.0\database\UNNAMED00033' as 'e:\oradata\orcl\dat04.dbf';
4. Activar el manejo automático de archivos
SQL> alter system set standby_file_management = auto scope=memory;
Ahora ya se puede reiniciar el recovery, ¡problema resuelto!
¿Te pareció interesante este artículo?, ¿te quedaron algunas dudas?, ¿quieres sugerirme un tema a tratar?, pues déjame tus comentarios o ¡contáctame ahora mismo!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Posts Relacionados

Sobre cómo un error causado por ejecutar analyze a una tabla con indices unusable es resuelto con expresiones regulares y dbms_stats.
¿Estás por añadir, remover o reemplazar discos en ASM? Puede que no estés haciéndolo de la forma más eficiente. Aprende cómo.
Sabias que AutoUpgrade falla si los nombres de los servidores no están en minúsculas y estás trabajando con una base de datos RAC One Node.

¿Necesitas Ayuda?

Completa estos datos y estaré en contacto a la brevedad.