› Fóruns › Banco de dados Oracle › Substituir DBF… como fazer isso??? › Substituir DBF… como fazer isso???
Se você quer um backup on line, pode usar o seguinte script…
set pages 0
set lines 1000
Spool backup.txt
Select comando
From (
Select '00' ordem, tablespace_name, 'Alter tablespace ' || tablespace_name || ' begin backup;' comando
From dba_tablespaces
Where contents = 'PERMANENT'
Union
Select '02' ordem, tablespace_name, 'Alter tablespace ' || tablespace_name || ' end backup;' comando
From dba_tablespaces
Where contents = 'PERMANENT'
Union
Select '01' ordem, a.tablespace_name, '!scp ' || file_name || ' 192.168.0.216:/oradata/PD01/backup/' comando
From dba_data_files a,
dba_tablespaces b
Where a.tablespace_name = b.tablespace_name
and b.contents = 'PERMANENT'
Union
Select '04' ordem, a.tablespace_name, '!scp ' || file_name || ' 192.168.0.216:/oradata/PD01/backup/' comando
From dba_data_files a,
dba_tablespaces b
Where a.tablespace_name = b.tablespace_name
and b.contents 'PERMANENT'
Union
Select '10' ordem, 'zzzzz' tablespace_name, '!scp ' || name || ' 192.168.0.216:/oradata/PD01/backup/' comando
From v$controlfile
Union
Select '11' ordem, 'zzzzz' tablespace_name, '!scp ' || member || ' 192.168.0.216:/oradata/PD01/backup/' comando
From v$logfile
Union
Select '12' ordem, 'zzzzz' tablespace_name, '!scp ' || name || ' 192.168.0.216:/oradata/PD01/backup/' comando
From v$tempfile
Union
Select '80' ordem, 'zzzzz' tablespace_name, 'Archive Log Current;' comando From dual
Union
Select '91' ordem, 'zzzzz' tablespace_name, 'Alter System Switch Logfile;' comando From dual
Union
Select '99' ordem, 'zzzzz' tablespace_name, 'Exit;' comando From dual
)
Order by tablespace_name, ordem
;
Spool execucao.txt
@backup.txt
Spool off
set pages 50
Este script irá copiar todos os datafiles para outra máquina, no meu caso 192.168.0.216 e você poderá recupera-lo quando necessário…
Isto serve para o Linux/Unix, se você usa Windows, pode usar o comando OCOPY, que é até mais prático.
Caso o teu processo de recuperação continue dando erros, coloque aqui o erro para que possamos ajuda-lo.