a. SIST OPERATIVO: Verificamos si el datafile está siendo utilizado en el sistema operativo, si lo está, esperar que sea liberado o si podemos, matamos la sesión que lo está utilizando.
b. SIST OPERATIVO: Verificamos si existe el mismo nombre de datafile en el nuevo destino. Este punto parace sin importancia, pero créanme! En bases con miles de datafiles, a menudo nos encontramos con nombres de dbf repetidos en distintos FS. Una vez que comprobamos que NO existe, continuamos con el siguiente paso. (Si existe, tendremos que renombrar el datafile a traspasar)
c. SIST OPERATIVO: Movemos el archivo del data1 al data2.
d. SQL: Renombramos el datafile para que la BD se entere de la nueva ubicación.
‘/etc/fuser ‘ || File_Name A2_Sop_Fuser,
‘ll ‘ || Replace(File_Name, ‘data1’, ‘data2’) A3_Sop_Existe,
‘mv ‘ || File_Name || ‘ ‘ || Replace(File_Name, ‘data1’, ‘data2’) A4_Sop_Mv_Dbf,
‘alter database rename file »’ || File_Name || »’ to »’ ||
Replace(File_Name, ‘data1’, ‘data2′) || »’;’ A5_Sql_Rename_Dbf,
‘alter tablespace ‘ || Tablespace_Name || ‘ online;’ A6_Sql_Tbs_Online,
File_Id,
File_Name,
Tablespace_Name,
Bytes / 1024 / 1024 / 1024 Tamanio_Gb
From Dba_Data_Files
Where File_Name Like ‘%/BASE_A/data1%’
Order By Tablespace_Name, File_Name
Mover datafiles de un FS a otro por Gisela Velazco se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 3.0 Unported.