Restaurar um datafile para outro local

RMAN> RUN {

2> SET NEWNAME FOR DATAFILE ‘/u02/oracle/banco/logix/dados07.dbf’ TO ‘/u03/oracle/banco/logix/dados07.dbf’;

SET NEWNAME FOR DATAFILE ‘/u02/oracle/banco/logix/tbsindxl01.dbf’ TO ‘/u03/oracle/banco/logix/tbsindxl01.dbf’;

restore DATAFILE 32;

restore DATAFILE 35;

SWITCH DATAFILE ALL;

}

3> 4> 5> 6> 7>

executing command: SET NEWNAME

using target database controlfile instead of recovery catalog

executing command: SET NEWNAME

Starting restore at 04-FEB-10

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=14 devtype=DISK

channel ORA_DISK_1: starting datafile backupset restore

channel ORA_DISK_1: specifying datafile(s) to restore from backup set

restoring datafile 00032 to /u03/oracle/banco/logix/dados07.dbf

channel ORA_DISK_1: restored backup piece 1

piece handle=/u03/backup/bkp_LOGIX_15973_1_20100203.bkp tag=FULLBACKUP params=NULL

channel ORA_DISK_1: restore complete

Finished restore at 04-FEB-10

Starting restore at 04-FEB-10

using channel ORA_DISK_1

channel ORA_DISK_1: starting datafile backupset restore

channel ORA_DISK_1: specifying datafile(s) to restore from backup set

restoring datafile 00035 to /u03/oracle/banco/logix/tbsindxl01.dbf

channel ORA_DISK_1: restored backup piece 1

piece handle=/u03/backup/bkp_LOGIX_15976_1_20100203.bkp tag=FULLBACKUP params=NULL

channel ORA_DISK_1: restore complete

Finished restore at 04-FEB-10

datafile 32 switched to datafile copy

input datafilecopy recid=4668 stamp=710093659 filename=/u03/oracle/banco/logix/dados07.dbf

datafile 35 switched to datafile copy

input datafilecopy recid=4669 stamp=710093659 filename=/u03/oracle/banco/logix/tbsindxl01.dbf

RMAN>

Inicio ao backup com RMAN

Existem algumas formas de se fazer o backup a quente. O backup FULL, ou completo, contempla a parte fisica do banco contendo datafiles, arquivo de controle e os ultimos arquivos de redo log arquivados (archives). Já o backup incompleto, é a cópia de parte do banco, por exemplo, de um ou alguns datafiles.Já o backup incremental é aquele que contempla somente as diferenças que foram geradas desde o último backup. Para isso, se deve marcar um backup como nível zero, para que sejam gerados backups diferenciais.O banco de dados deve ficar em modo de arquivamento dos arquivos de redo log.
Assim, podemos garantir que todas as sentenças sejam armazenadas e podemos reconstruir o banco.Os arquivos de redo, geralmente ficam multiplexados em grupos. A ORACLE recomenda que você tenha sempre mais de um arquivo de redo log por grupo. O padrão é se ter três grupos, cada um contendo um arquivo de redo.O ideal é se ter no mínimo dosi e em discos separados para melhorar performance.
A ORACLE recomenda que todo o backup seja feito via o Recovery Manager.O RMAN, aplicativo presente no binário do ORACLE, pode ter executado se conectando a um banco que vai ser seu repositorio e no banco alvo será o banco que será feita as ações: backup, restore, etc.A principal configuração é o modo de arquivamento. Para se verificar se o seu banco esta está nesse modo devemos exeuctar os comandos abaixo no SQL*Plus: archive log list; select log_mode from v$database; Se o seu banco não estiver em modo de arquivamento devemos então configurar alguns outros parâmetros. A localização padrão de arquivamento e do backup é configurado através do parâmetro db_recovery_file_dest e o tamanho em bytes determinado para a área de backup incluindo archives é o parâmetro db_recovery_file_dest_size.
Então vamos ao SQL*PLUS e verificar a configuração atual destes parâmetros: show parameters db_recover; Este comando mostra os parâmetros e seus valores. Poderíamos também fazer:
SELECT * FROM v$parameter;

Para confiogurá-los, vamos ao SQL*Plus e executar os seguintes comandos:
ALTER SYSTEM SET db_recovery_dest=’/oracle’ SCOPE=spfile;
ALTER SYSTEM SET db_recovery_file_dest_size=6G SCOPE=spfile;

Agora, finalmente, devemos colocar o banco em modo de arquivamento. É necessário parar o banco, depois montá-lo. Efetuar a configuração para o modo de arquivamento, abrir o banco e novamente confirmar se o banco está em arquivamento. Para tal, consulte a v$datafile (log_mode) e o comando ‘archive log list;’. Para colocar em modo de arquivamento, no SQL*Plus:
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;

IMPORTANTE: O nosso banco foi criado SEM o arquivo SPFILE. antes de iniciar os exercícios, devemos criá-lo. NO SQL*Plus com o banco de dados aberto, digite:
CREATE SPFILE FROM PFILE;
SHUTDOWN IMMEDIATE;
STARTUP; ======================================================================= -====================- Exercícios de Fixação -====================- =======================================================================[1] O que é BACKUP FULL?
[2] Qual a diferença entre backup quente e frio?
[3] Qual a quantidade de grupos e arquivos de redo log existentes no seu banco? Dica: Use V$LOG e V$LOGFILE.
[4] O que é um arquive?
[5] O que é um backup incremental?
[6] Qual o tamanho atual da sua flas recovery area?
[7] Como colocar o banco em modo de arquivamento?
[8] Qual o aplicativo de backup recomendado pela ORACLE?
[9] O que é um catá-log de recuperação?
[10] O que ocorre se o adm de sistemas remover os backups sem usar o RMAN?
[11] Como se aumenta a área atual de backup?
[12] Por que devemos parar o banco para colocá-lo em modo de arquivamento?