domingo, 24 de enero de 2010

Borrar una Base de Datos en ASM/OMF [TRUCO]

Leas donde leas Oracle aconseja a sus DBA's utilizar ASM y OMF, pero solo te explican las ventajas. Los introduzco brevemente:
  • Automatic Storage Management (ASM), una mezcla de gestor de volúmenes y sistema de archivos propiedad de Oracle. Solo diré que logré cambiar de edificio una base de datos en caliente gracias a ASM. Para soluciones realmente avanzadas 11gR2.
  • Oracle Managed Files (OMF), aunque también funciona con sistemas de archivos tradicionales, yo le encontré el sentido con ASM. Si nos abstraemos de los discos, no tendría mucho sentido tener que preocuparse por estructuras de directorios y nombres de archivo. Con OMF también nos abstraeremos de esta tarea.
Pues si señores, esto funciona y funciona muy bien, pero sobretodo para crecer. Crear y ampliar serán tareas que ya no supondrán un problema. Pero cuando queramos mover o borrar, la cosa cambia. Y es que la facilidad al crear se convierte en inconveniente al borrar, ya que tendremos que indicar implícitamente que estamos haciendo para que Oracle no siga teniendo en cuenta lo que estamos borrando... o utilizar un pequeño truco.

Por eso os presento los pasos para borrar una base de datos en ASM y que utilice OMF, en una sentencia y sin que queden "restos" raros, el secreto utilizar RMAN:

$ sqlplus / as sysdba
SQL> shutdown immediate;
SQL> startup mount exclusive;
SQL> alter system enable restricted session;
SQL> exit

$ rman target / nocatalog
RMAN> DROP DATABASE;


Si además incluimos la cláusula INCLUDNIG BACKUPS para que también haga limpieza de las copias de seguridad.

Si queréis haceros una idea de lo "trascendental" de este tema, "googlear" un poco y veréis la cantidad de referencias que existen.

No hay comentarios: