Pular para o conteúdo

Fóruns Banco de dados Oracle Substituir DBF… como fazer isso??? Substituir DBF… como fazer isso???

#76466
Marcio68Almeida
Participante

    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.