lunes, 7 de mayo de 2018

Copiar Datafile de Filesytem a ASM

Escenario:
Tenemos un datafile que ha sido creado erroneamente en filestem y no en ASM como debio ser.

1 - Conseguimos el nombre del datafile:
SQL> select file_name from dba_data_files where tablespace_name='UNDOTS1'
/oracle/app/oracle/product/11.2.0.4/db_1/dbs/DATA

2 - Colocamos el tablespace OFFLINE si es el caso.
SQL>alter tablespace UNDOTS1 offline;

3 - Nos conectamos a Rman y ejecutamos un copy
RMAN> copy datafile '/oracle/app/oracle/product/11.2.0.4/db_1/dbs/DATA' TO '+DATA';

4 - Muy pendientes en este punto ya que debemos ubicar el nombre del datafile que nos da RMAN
la linea es similar a esta:

output file name=+DATA/mxxxxx/datafile/UNDO1.733.935381641 tag=TAG20170208T041400 RECID=3 STAMP=935381644

5- Ahora desde sqlplus recombramos en nuestro controlfile el dafafile (la ubicacion anterior a la nueva en el ASM)
SQL> alter database rename file '/oracle/app/oracle/product/11.2.0.4/db_1/dbs/DATA' to '+DATA/mxxxxx/datafile/UNDO1.733.935381641';

6- TRaemos el tablespace ONLINE si hicimos el paso 2
SQL> alter tablespace UNDOTS1 online;