Tienen que tener ojo, por que este script funciona adecuadamente para los Tablespaces que tienen sólo un datafile asociado.
en el fondo pone el tablespace en modo backup, copia el datafile en una carpeta /data/Backup, y luego sale del modo backup.
siempre prueben antes de poner en ambiente productivo.
SELECT
'sqlplus /nolog <<TOPE ' || CHR(10) ||
'connect /as sysdba'|| CHR(10) ||
'alter tablespace '|| TABLESPACE_NAME || ' begin backup;'|| CHR(10) ||
'TOPE'|| CHR(10) ||
'cp '|| FILE_NAME || ' /data/Backup'|| CHR(10) ||
'sqlplus /nolog <<TOPE' || CHR(10) ||
'connect /as sysdba'|| CHR(10) ||
'alter tablespace '|| TABLESPACE_NAME || ' end backup;'|| CHR(10)||
'TOPE'|| CHR(10) EJECUTAR
FROM DBA_DATA_FILES order by TABLESPACE_NAME desc;
Para identificar los Tablespaces que tienen más de un Datafile asociado, pueden ver con el siguiente script.
select
TABLESPACE_NAME
FROM DBA_DATA_FILES
having count(file_name) > 1
group by TABLESPACE_NAME;
Espero que les sea de utilidad, cualquier cosa comenten.