Movimentar os datafiles

As vezes, se faz necessário movimentar os datafiles para outros locais, outros discos ou o ASM. Entao usamos os comandos abaixo. Na versão 10g inclusive, podemos mover o banco de dados todo para o ASM. No exemplo é demonstrado como movimentar o datafile a quente para outro disco – poderia ser o ASM sem maiores problemas.

C:>rman target /

Recovery Manager: Release 10.1.0.4.2 – Production

Copyright (c) 1995, 2004, Oracle. All rights reserved.

conectado ao banco de dados de destino: INFRA (DBID=3796089948)

RMAN> backup as copy tablespace users format ‘e:users.dbf’;

Iniciando backup em 05/11/09
usar o arquivo de controle do banco de dados de destino em vez do catßlogo de re
cuperaþÒo
canal alocado: ORA_DISK_1
canal ORA_DISK_1: sid=370 devtype=DISK
canal ORA_DISK_1: iniciando c¾pia de arquivo de dados
fno=00002 name=C:ORACLEUSERS01.DBF do arquivo de dados de entrada
nome do arquivo de saÝda=E:USERS.DBF tag=TAG20091105T144322 recid=56 stamp=7021
39411
canal ORA_DISK_1: c¾pia de arquivo de dados concluÝda; tempo decorrido: 00:00:15

Finalizado backup em 05/11/09

RMAN> sql ‘alter tablespace users offline immediate’;

instruþÒo sql: alter tablespace users offline immediate

RMAN> switch tablespace users to copy;

arquivo de dados 2 alternado para a c¾pia de arquivo de dados “E:USERS.DBF”

RMAN> sql ‘alter tablespace users online’;

instruþÒo sql: alter tablespace users online
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of sql command on default channel at 11/05/2009 14:44:41
RMAN-11003: failure during parse/execution of SQL statement: alter tablespace us
ers online
ORA-01113: o arquivo 2 precisa da recuperaþÒo de mÝdia
ORA-01110: 2 do arquivo de dados: ‘E:USERS.DBF’

RMAN> recover tablespace users;

Iniciando recover em 05/11/09
utilizando o canal ORA_DISK_1

iniciar recuperaþÒo de mÝdia
recuperaþÒo de mÝdia concluÝda

Finalizado recover em 05/11/09

RMAN> sql ‘alter tablespace users online’;

instruþÒo sql: alter tablespace users online

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?