Buscar

Oracle Database 10g Workshop de Administração II - Apresentação Eletrônica

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 551 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 551 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 551 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Oracle Database 10g:
Workshop de Administração II
Apresentação Eletrônica
D17092BP30
Edição 3.0
Março de 2006 
D45127
®
Autores
Tom Best
M.J. Billings
Revisores e Colaboradores 
Técnicos
Herbert Bradbury
Howard Bradley
Harald van Breederode
M.J. Bryksa
Donna Cooksey
Joe Fong
Andy Fortunak
Gerlinde Frenzen
Joel Goodman
Sushma Jagannath
Christine Jeal
Pierre Labrousse
Jerry Lee
Stefan Lindblad
Wendy Lo
Yi Lu
Andreas Reinhardt
Ira Singer
James Spiller
Janet Stern
Jean-Francois Verrier
Redatores 
Aju Kumar
Nita Pavitran
Designers Gráficos 
Steve Elwood 
Sanjeev Sharma 
Editor
Sujatha Nagendra
Copyright © 2006, Oracle. Todos os direitos reservados. 
Isenção de Responsabilidade
Esta documentação contém informações proprietárias e é protegida pela legislação 
de direitos autorais e por outras leis de propriedade intelectual. A cópia e a 
impressão deste documento são permitidas exclusivamente para uso durante os 
cursos de treinamento da Oracle. O documento não poderá ser modificado de 
nenhuma forma. Salvo quando o uso estiver em conformidade com a lei de direitos 
autorais, é vedado usar, compartilhar, fazer download ou upload, copiar, imprimir, 
exibir, reproduzir, publicar, licenciar, divulgar, transmitir ou distribuir o presente 
documento, no todo ou em parte, sem a expressa autorização da Oracle.
As informações contidas neste documento estão sujeitas a alterações sem aviso 
prévio. Eventuais problemas encontrados no documento deverão ser reportados por 
escrito e enviados para: Oracle University, 500 Oracle Parkway, Redwood Shores, 
California 94065 EUA. Distribuidor no Brasil: Oracle do Brasil Sistemas Ltda. Av. 
Alfredo Egydio de Souza Aranha, 100, São Paulo, SP - 04726-170 - Brasil - CNPJ: 
59.456.277/0001-76 Este documento pode conter erros.
Aviso de Direitos Restritos
Caso o destinatário do presente documento seja o Governo dos Estados Unidos ou 
qualquer pessoa que esteja usando o documento em seu nome, será aplicado o 
seguinte aviso: 
DIREITOS DO GOVERNO DOS EUA
Os direitos do Governo dos EUA de usar, modificar, reproduzir, divulgar, exibir ou 
publicar estes materiais de treinamento são restritos pelas condições estabelecidas 
no contrato de licença da Oracle e/ou no contrato do Governo dos EUA aplicável. 
Aviso de Registro de Marca
Oracle, JD Edwards e PeopleSoft são marcas comerciais da Oracle Corporation e/ou 
de suas coligadas. Outros nomes poderão constituir marcas comerciais de seus 
respectivos titulares.
Copyright © 2006, Oracle. Todos os direitos reservados.
Introdução
Copyright © 2006, Oracle. Todos os direitos reservados.
Objetivos da Lição
Ao concluir esta lição, você será capaz de:
• Listar os objetivos do curso e explicar a estrutura
da aula
• Rever a arquitetura do Oracle Database 10g
Copyright © 2006, Oracle. Todos os direitos reservados.
Objetivos do Curso 
Neste curso, você obterá experiência no: 
• Uso do RMAN (Recovery Manager) em backup e 
recuperação avançados 
• Emprego de práticas de monitoramento de banco de 
dados relacionadas a memória, desempenho e 
armazenamento 
• Gerenciamento de recursos, programações de jobs, 
segurança e problemas de globalização 
Copyright © 2006, Oracle. Todos os direitos reservados.
Programação Sugerida
1: Introdução
2: Configurando o RMAN
3: Usando o RMAN
4: Recuperação Não Crítica
5: Recuperação
6: Flashback
7: Danos
8: Memória
9: Desempenho
10: Esquema
11: Armazenamento
12: ASM
13: Recursos
14: Scheduler
15: Segurança
16: Globalização
17: Workshop
Apêndices
Copyright © 2006, Oracle. Todos os direitos reservados.
Conteúdo do Curso DBAI
1. Introdução
2. Instalação
3. Criação de Bando de Dados
4. Instância
5. Armazenamento
6. Usuários
7. Esquema
8. Dados e Concorrência
9. Operações de Undo
10. Segurança
11. Rede
12. Manutenção Pró-ativa
13. Desempenho
14. Conceitos de Backup 
e Recuperação
15. Backup
16. Recuperação
17. Flashback
18. Movendo Dados
Copyright © 2006, Oracle. Todos os direitos reservados.
Exemplos do Curso: O Esquema HR
REGIONS
REGION_ID (PK)
REGION_NAME
COUNTRIES
COUNTRY_ID (PK)
COUNTRY_NAME
REGION_ID (FK)
LOCATIONS
LOCATION_ID (PK)
STREET_ADDRESS
POSTAL_CODE
CITY
STATE_PROVINCE
COUNTRY_ID (FK)
DEPARTMENTS
DEPARTMENT_ID (PK)
DEPARTMENT_NAME
MANAGER_ID
LOCATION_ID (FK)
JOBS
JOB_ID (PK)
JOB_TITLE
MIN_SALARY
MAX_SALARY
EMPLOYEES
EMPLOYEE_ID (PK)
FIRST_NAME
LAST_NAME
EMAIL
PHONE_NUMBER
HIRE_DATE
JOB_ID (FK)
SALARY
COMMISION_PCT
MANAGER_ID (FK)
DEPARTMENT_ID (FK)
JOB_HISTORY
EMPLOYEE_ID (PK)
START_DATE (PK)
END_DATE
JOB_ID (FK)
DEPARTMENT_ID (FK)
REGIONS
COUNTRIES
LOCATIONS
DEPARTMENTS
JOBS
EMPLOYEES
JOB_HISTORY
Copyright © 2006, Oracle. Todos os direitos reservados.
Oracle Database 10g: 
O Banco de Dados para a Grade 
• ASM (Automatic Storage Management) 
• Clusterware portável 
• RAC (Real Application Clusters) e gerenciamento 
automático de carga de trabalho 
• Resource Manager 
• Oracle Streams 
• Gerenciamento centralizado com o Enterprise 
Manager Grid Control 
• Novos recursos de auto-gerenciamento do Oracle 
Database 10g
Copyright © 2006, Oracle. Todos os direitos reservados.
Arquitetura do Banco de Dados: Revisão
Estruturas de armazenamento
Estruturas de memória
Estruturas do processo
Instância
SGA (System Global Area)
Processos de background
Arquivos do banco de dados
Copyright © 2006, Oracle. Todos os direitos reservados.
Estruturas de Memória Oracle
Java pool Cache de bufferdo banco de dados
Buffer de
redo log
Shared pool Large pool
SGA
Streams pool
Processo
do servidor
1
PGA
Processo
do servidor
2
PGA Processo debackground PGA
Copyright © 2006, Oracle. Todos os direitos reservados.
Processos Oracle
System
Monitor
(SMON)
Database
Writer
(DBWn)
Check-
point
(CKPT)
LogWriter
(LGWR)
Process
Monitor
(PMON)
Archiver
(ARCn)
Processo
do servidor
Processo
do servidor
Processo
do servidor
Processo
do servidor
SGA
(System Global Area)
Processos de background
Copyright © 2006, Oracle. Todos os direitos reservados.
Revisando o Gerenciamento
de Instâncias Oracle
SGA
Database
Writer
(DBWn)
LogWriter
(LGWR)
Cache de buffer
do banco de dados
Buffer
de redo log
1
Processo
do usuário
2
Exemplo:
Iniciando uma instância do 
banco de dados
Estabelecendo uma conexão
System
Monitor
(SMON)
Process
Monitor
(PMON)
Arquivos de dados Arquivos de redo log
Instância
Processo
do servidor3
Copyright © 2006, Oracle. Todos os direitos reservados.
O usuário atualiza
uma linha.
Arquivos
de redo log
Revisando o Gerenciamento
de Instâncias Oracle
Instância
SGA
Database
Writer
(DBWn)
Cache de buffer
do banco de dados
Buffer de
redo log
Processo
do servidor
Processo
do usuário
4
10
7
6
5
8
Exemplo:
Processando uma 
instrução SQL
Archiver
(ARCn)
9
Checkpoint
(CKPT)
Arquivos
de dados
Logs de
arquivamento
Arquivo
de controle
LogWriter
(LGWR)
Copyright © 2006, Oracle. Todos os direitos reservados.
Estrutura Física do Banco de Dados
Arquivos de
redo log on-line
Arquivo de senha
Arquivo de parâmetros Arquivos de log 
de arquivamento
Arquivos de controle Arquivos de dados
Arquivos de log de 
alerta e rastreamento
Arquivos de backup
Copyright © 2006, Oracle. Todos os direitos reservados.
Exemplo:
SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST = '/u01/oradata'; 
SQL> CREATE TABLESPACE tbs_1;
OMF (Oracle Managed Files)
Especificam operações de arquivos em termos de 
objetos do banco de dados, e não por nome de arquivo.
Define o local dos backups do 
RMAN
DB_RECOVERY_FILE_DEST
Define o local dos arquivos de 
redo log e a criação do arquivo de 
controle
DB_CREATE_ONLINE_LOG_DEST_n
Define o local do diretório default 
do sistema de arquivos para 
arquivos de dados e arquivos 
temporários
DB_CREATE_FILE_DEST.
DescriçãoParâmetro
Copyright © 2006, Oracle. Todos os direitos reservados.
Estruturas Lógicas e
Físicas do Banco de Dados
Banco de dados
Lógico Físico
Tablespace Arquivode dados
Bloco do
sistema operacional
Segmento
Extensão
Bloco de dados
Oracle
EsquemaCopyright © 2006, Oracle. Todos os direitos reservados.
Arquitetura do Banco de Dados:
Resumo dos Componentes Estruturais 
• Estruturas de memória 
– SGA (System Global Area): Cache de buffer do banco 
de dados, buffer de redo e vários pools 
– PGA (Program Global Area) 
• Estruturas de processo 
– Processos do usuário e do servidor: 
– Processos de background: SMON, PMON, DBWn, 
CKPT, LGWR, ARCn e assim por diante 
• Estruturas de armazenamento 
– Lógicas: Banco de dados, esquema, tablespace, 
segmento, extensão e bloco Oracle 
– Físicas: Arquivos para dados, parâmetros, redo e 
bloco do sistema operacional 
Copyright © 2006, Oracle. Todos os direitos reservados.
Sumário
Nesta lição, você aprendeu a:
• Listar os objetivos do curso
• Rever a arquitetura do Oracle Database 10g
Copyright © 2006, Oracle. Todos os direitos reservados.
Configurando o Recovery Manager
Copyright © 2006, Oracle. Todos os direitos reservados.
Objetivos 
Ao concluir esta lição, você será capaz de: 
• Descrever o repositório e o catálogo de recuperação 
do RMAN 
• Descrever a interface da MML (Media Management 
Library) 
• Configurar parâmetros de banco de dados que afetam 
as operações do RMAN 
• Conectar-se a três tipos diferentes de bancos de dados 
com o RMAN 
• Configurar dois tipos de políticas de retenção 
• Alterar as definições default do RMAN com CONFIGURE
Copyright © 2006, Oracle. Todos os direitos reservados.
Backup e Recuperação: Revisão 
Os principais tópicos relacionados a backup e 
recuperação abordados no Curso de Administração de 
Banco de Dados I são: 
• Tipos de falhas que podem ocorrer 
– Instrução, sessão, instância, mídia e assim por diante 
• Como configurar o modo ARCHIVELOG
• Como automatizar backups 
• Como fazer backups incrementais 
• Como executar e ajustar a recuperação de instância 
Copyright © 2006, Oracle. Todos os direitos reservados.
Recursos do Recovery Manager 
O RMAN permite realizar as seguintes tarefas de forma 
flexível: 
• Fazer backup do bancos de dados, inclusive de 
arquivos de dados, arquivos de controle e redo logs 
arquivados 
• Gerenciar tarefas de backup e recuperação 
• Executar backup incremental e recuperação de mídia 
no nível do bloco 
• Detectar blocos danificados durante operações de 
backup 
• Usar compactação binária durante a criação de 
backups 
Copyright © 2006, Oracle. Todos os direitos reservados.
Sessão do
servidor
Canal
Sessão do
servidor
Enterprise 
Manager
Componentes do Recovery Manager
Banco de dados 
de destino
Banco de 
dados do 
catálogo de 
recuperação
Banco de 
dados auxiliar
Disco Área de
recuperação flash
Canal Canal
MML
Opções
Recovery
Manager
(RMAN)
Copyright © 2006, Oracle. Todos os direitos reservados.
Etapas de Configuração do RMAN 
1. Determine o local do repositório: arquivo de controle 
ou catálogo de recuperação. 
2. Defina as variáveis do banco de dados e do 
ambiente. 
3. Inicie o RMAN e conecte-se ao banco de dados de 
destino e, opcionalmente, ao catálogo de 
recuperação. 
4. Configure definições persistentes. 
Copyright © 2006, Oracle. Todos os direitos reservados.
Armazenamento de Dados do Repositório 
do RMAN: Comparação de Opções
Arquivo de controle:
– Administração mais simples
– Default
Catálogo de recuperação:
– Replica os dados do arquivo de controle
– Tem espaço para mais dados
– Pode atender vários destinos
– Pode armazenar scripts RMAN
Metadados
Lista de conjuntos de backup
Lista de cópias de imagem
.
.
.
Copyright © 2006, Oracle. Todos os direitos reservados.
Destinos de Backup 
Os backups podem ser gravados no(a): 
• Diretório do disco 
• MML (dispositivo de fita) 
– Geralmente usada na recuperação após desastres, 
quando os backups em disco são perdidos 
• Área de recuperação flash 
– É uma área do disco separada para fins de backup e 
recuperação, bem como de flashback de banco de 
dados. 
– Você define o local e o tamanho. 
– Os arquivos são nomeados automaticamente com o 
recurso Oracle Managed Files. 
– Os arquivos são retidos e deletados automaticamente 
conforme necessário. 
Copyright © 2006, Oracle. Todos os direitos reservados.
Gerenciamento de Mídia
Recovery
Manager
Software do servidor
de gerenciamento
de mídia
Biblioteca de
gerenciamento 
de mídia
Sessão do
servidor
(canal)
Oracle Secure
Backup com
MML incorporada
Ou
Copyright © 2006, Oracle. Todos os direitos reservados.
Usando uma Área de Recuperação Flash 
com o RMAN
Você pode configurar o RMAN para usar a área de 
recuperação flash.
Área do banco
de dados
Processo de backup
do RMAN
Área de
recuperação flash
DB_RECOVERY_FILE_DEST = '/u01/oracle/fra'
DB_RECOVERY_FILE_DEST_SIZE = 2G
Copyright © 2006, Oracle. Todos os direitos reservados.
Monitorando a Área de Recuperação
Flash com o EM
Copyright © 2006, Oracle. Todos os direitos reservados.
Uso do Espaço da Área de Recuperação Flash 
• Configure a política de retenção como o valor 
mínimo apropriado para o banco de dados. 
• Faça backup dos arquivos de log de arquivamento 
regularmente e delete-os após a conclusão do 
backup 
• Use os comandos REPORT OBSOLETE e DELETE
OBSOLETE do RMAN para remover as cópias de 
arquivos e os backups desnecessários 
Copyright © 2006, Oracle. Todos os direitos reservados.
V$FLASH_RECOVERY_AREA_USAGE
Você pode consultar V$FLASH_RECOVERY_AREA_USAGE
para exibir o uso do espaço em disco da área de 
recuperação flash.
SQL> SELECT file_type, 
2 percent_space_used AS used,
3 percent_space_reclaimable AS reclaimable,
4 number_of_files AS number
5 FROM v$flash_recovery_area_usage ;
FILE_TYPE USED RECLAIMABLE FILES 
----------------- --------- ----------- ------
Copyright © 2006, Oracle. Todos os direitos reservados.
V$FLASH_RECOVERY_AREA_USAGE
Saída da consulta V$FLASH_RECOVERY_AREA_USAGE
FILE_TYPE USED RECLAIMABLE FILES
------------ ---------- ----------- ----------
CONTROLFILE 0 0 0
ONLINELOG 0 0 0
ARCHIVELOG 69.13 0 593
BACKUPPIECE 0 0 0
IMAGECOPY 0 0 0
FLASHBACKLOG 1.77 0 37
Copyright © 2006, Oracle. Todos os direitos reservados.
Fazendo Backup da Área de Recuperação Flash
RMAN> BACKUP RECOVERY FILES;
Copyright © 2006, Oracle. Todos os direitos reservados.
Vantagens do Uso de uma
Área de Recuperação Flash
O uso da área de recuperação flash para os arquivos 
relacionados à recuperação: 
• Simplifica a localização dos backups do banco de 
dados 
• Gerencia automaticamente o espaço em disco 
alocado para os arquivos de recuperação 
• Não requer alterações nos scripts existentes 
• Coloca os backups do banco de dados, os logs de 
arquivamento e os backups do arquivo de controle 
na área de recuperação flash 
Copyright © 2006, Oracle. Todos os direitos reservados.
Definindo Parâmetros que Afetam o RMAN 
• Parâmetros de inicialização de banco de dados 
– CONTROL_FILE_RECORD_KEEP_TIME
– DB_RECOVERY_FILE_DEST e 
DB_RECOVERY_FILE_DEST_SIZE, se estiver usando a 
área de recuperação flash 
• Variáveis de ambiente 
– NLS_DATE_FORMAT
– NLS_LANG 
Copyright © 2006, Oracle. Todos os direitos reservados.
Considerações sobre a Utilização do RMAN 
• Recursos: Memória compartilhada, mais processos 
• Privilégios concedidos aos usuários: 
– Banco de dados: SYSDBA
– Sistema operacional: Acesso a dispositivos 
• Operações remotas: 
– Configurar o arquivo de senha 
– Garantir que haja um backup do arquivo de senha 
Copyright © 2006, Oracle. Todos os direitos reservados.
Tipos de Conexão com o RMAN
Banco de dados 
de destino
Banco de dados
do catálogo de 
recuperação
Banco de
dados auxiliar
Recovery
Manager
Copyright © 2006, Oracle. Todos os direitos reservados.
Iniciando o RMAN
• Iniciando o RMAN localmente
• Iniciando o RMAN remotamente
UNIX: $ ORACLE_SID=DB01; export ORACLE_SID
$ rman target / 
rman target sys/password@DB01Windows NT: C:\> set ORACLE_SID=DB01 
C:\> rman target / 
Copyright © 2006, Oracle. Todos os direitos reservados.
Argumentos de Linha de Comandos
Adicionais do RMAN
• Gravando a saída do RMAN em um arquivo de log
• Executando um arquivo de comandos quando o 
RMAN é chamado
• Estabelecendo conexões de banco de dados 
durante a inicialização do RMAN
$ rman TARGET sys/oracle 
CMDFILE=$HOME/scripts/my_rman_script.rcv 
$ rman TARGET sys/oracle 
LOG=$HOME/oradata/u03/rman.log APPEND 
$ rman TARGET SYS/sys_pwd@orcl CATALOG 
rman/rman@rcat 
Copyright © 2006, Oracle. Todos os direitos reservados.
Configurando Definições
Persistentes para o RMAN
• As definições default do RMAN são predefinidas 
• Use o comando CONFIGURE para: 
– Configurar canais automáticos 
– Especificar a política de retenção de backup 
– Especificar o número de cópias de backup a serem 
criadas 
– Definir o tipo de backup default como BACKUPSET ou 
COPY
– Limitar o tamanho dos conjuntos de backup 
– Isentar um tablespace de ser submetido a backup 
– Ativar e desativar a otimização de backup 
– Configurar backups automáticos de arquivos de controle 
Copyright © 2006, Oracle. Todos os direitos reservados.
Configurando as Definições
do RMAN com o EM
Copyright © 2006, Oracle. Todos os direitos reservados.
Backups Automáticos do Arquivo de Controle
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
Melhor prática: A Oracle recomenda ativar o backup 
automático do arquivo de controle.
Copyright © 2006, Oracle. Todos os direitos reservados.
• Uma política de retenção descreve quais backups 
serão mantidos e por quanto tempo.
• Há dois tipos de políticas de retenção:
– Período de recuperação: Estabelece um período 
dentro do qual a recuperação pontual é viável
– Redundância: Estabelece um número fixo de backups 
a serem mantidos.
• Essas políticas são mutuamente exclusivas e 
podem ser definidas com o comando CONFIGURE.
Políticas de Retenção
Agora
Retenção de sete dias
Arquivo1Arquivo2
O Arquivo2 precisa
sofrer backup:
Copyright © 2006, Oracle. Todos os direitos reservados.
Gerenciando Definições Persistentes 
• Use o comando SHOW para listar as definições atuais: 
• Use o comando CLEAR para redefinir qualquer 
definição persistente como seu valor default: 
RMAN> SHOW CONTROLFILE AUTOBACKUP FORMAT; 
RMAN> SHOW EXCLUDE; 
RMAN> SHOW ALL; 
RMAN> CONFIGURE BACKUP OPTIMIZATION CLEAR; 
RMAN> CONFIGURE MAXSETSIZE CLEAR; 
RMAN> CONFIGURE DEFAULT DEVICE TYPE CLEAR; 
Copyright © 2006, Oracle. Todos os direitos reservados.
Alocação de Canais
Canal 
(DISCO)
BACKUP
RESTORE
RECOVER
Sessão do
servidor
Sessão do
servidor
Banco de
dados de
destino
Canal 
(SBT)
RMAN
Copyright © 2006, Oracle. Todos os direitos reservados.
Alocação Automática e Manual de Canais
• Um canal automático é aquele pré-configurado e 
usado para comandos subseqüentes. Para alterar o 
tipo de dispositivo default para a alocação 
automática de canais, use:
• Um canal alocado manualmente é aquele que 
sobrepõe a definição automática de canal. Esse 
canal sobrepõe o canal automático para executar 
este bloco:
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO sbt; 
RMAN> RUN { 
2> ALLOCATE CHANNEL c1 DEVICE TYPE disk;
3> BACKUP DATAFILE '/u01/oradata/user01.dbf';
4> } 
Copyright © 2006, Oracle. Todos os direitos reservados.
Opções de Controle de Canal 
• Configure o paralelismo:
• Especifique o tamanho máximo do componente de 
backup: 
• Formate o nome dos arquivos de backup gerados: 
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 3; 
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK 
2> MAXPIECESIZE 2G; 
RMAN> RUN { 
2> ALLOCATE CHANNEL d1 DEVICE TYPE DISK 
3> FORMAT '/disk1/backups/%U'; 
4> BACKUP DATABASE PLUS ARCHIVELOG; } 
Copyright © 2006, Oracle. Todos os direitos reservados.
Sumário 
Nesta lição, você aprendeu a: 
• Usar o arquivo de controle ou um catálogo de 
recuperação para o repositório do RMAN 
• Alterar as definições default do RMAN com CONFIGURE
• Usar a área de recuperação flash em operações do 
RMAN 
• Monitorar a área de recuperação flash usando views v$
e o Enterprise Manager 
• Implementar as políticas de retenção de período de 
recuperação e de redundância 
• Implementar a alocação manual e automática de canais 
Copyright © 2006, Oracle. Todos os direitos reservados.
Visão Geral do Exercício:
Configurando o RMAN
Este exercício aborda os seguintes tópicos: 
• Utilização do Recovery Manager para estabelecer 
conexão com um banco de dados de destino no 
modo default NOCATALOG
• Exibição das definições default do RMAN 
• Configuração de backups automáticos do arquivo de 
controle 
• Alteração da política de retenção de backup para um 
banco de dados 
Copyright © 2006, Oracle. Todos os direitos reservados.
Usando o Recovery Manager
Copyright © 2006, Oracle. Todos os direitos reservados.
Objetivos
Ao concluir esta lição, você será capaz de:
• Usar o comando BACKUP do RMAN para criar 
conjuntos de backup e cópias-imagem
• Gerenciar os backups e as cópias-imagem feitas 
com o RMAN
Commands
BACKUP
Block C.T.
Inc. Update
LIST
REPORT
DELETE
Copyright © 2006, Oracle. Todos os direitos reservados.
Executando Comandos do Recovery Manager 
• Cliente interativo 
– Informe comandos no prompt do RMAN. 
– Use ao fazer análises ou ao executar relatórios ou 
scripts armazenados. 
• Modo batch 
– Use com jobs automatizados. 
– Especifique um arquivo de comandos quando iniciar o 
RMAN. 
– Especifique o nome do arquivo de log para capturar o 
log da sessão. 
• Interface de pipe 
– Especifique o argumento de linha de comandos PIPE. 
– Use para transferir dados entre sessões ou entre o 
RMAN e uma aplicação externa. 
Copyright © 2006, Oracle. Todos os direitos reservados.
Tipos de Comandos do RMAN 
Estes são os tipos de comandos do RMAN: 
• Comando stand-alone: 
– Executado individualmente no prompt do RMAN 
– Não pode ser incluído como subcomando do
comando RUN
• Comando de job: 
– Deve estar entre as chaves de um comando RUN
– Executado como um grupo 
Alguns comandos podem ser executados como 
comandos stand-alone ou de job. 
Copyright © 2006, Oracle. Todos os direitos reservados.
Comandos de Job: Exemplo
Os comandos de job aparecem dentro de um bloco do 
comando RUN:
RMAN> RUN {
2> BACKUP AS BACKUPSET
3> FORMAT '/u01/db01/backup/%d_%s_%p'
4> DURATION 10:00 MINIMIZE LOAD 
5> (DATABASE); 
6> SQL 'alter system archive log current'; 
7> } 
Copyright © 2006, Oracle. Todos os direitos reservados.
Comandos do RMAN: Visão Geral
Banco de
dados de
destino
REPORT
LIST
Banco de dados 
do catálogo
Enterprise 
Manager
RESTORE
RECOVER
FLASHBACK
SPFILE
BACKUP
Arquivo de
controle
Arquivos de log
armazenados
RMAN
Manutenção de 
catálogo
CROSSCHECK
DELETE…EXPIRED
CHANGE
Scripts
armazenados
Copyright © 2006, Oracle. Todos os direitos reservados.
Comando BACKUP
RMAN> BACKUP AS BACKUPSET
2> FORMAT '/BACKUP/df_%d_%s_%p.bus'
3> TABLESPACE hr_data; 
Conjunto
de backup
Arquivo de 
dados 1
Arquivo de 
dados 2
Arquivo de 
dados 3
Arquivo de 
dados 1
Arquivo de 
dados 2
Arquivo de 
dados 3
Tablespace 
HR_DATA
Commands 
> BACKUP
Block C.T.
Inc. Update
LIST
REPORT
DELETE
Copyright © 2006, Oracle. Todos os direitos reservados.
Restrições de Backup 
• O banco de dados deve estar montado ou aberto. 
• Não é possível fazer o backup de redo logs on-line. 
• Somente os backups “limpos” podem ser usados no 
modo NOARCHIVELOG. 
• Somente os backups de arquivos de dados “atuais” 
podem ser usados no modo ARCHIVELOG. 
Copyright © 2006, Oracle. Todos os direitos reservados.
Paralelização de Conjuntos de Backup 
Por questão de desempenho, aloque vários canais e 
designe arquivos aos canais específicos. 
Arquivo de 
dados 4
Arquivo de 
dados 1
Arquivo de 
dados 5 Canal
MML Componente
de backup 1
Componente
de backup 2
Arquivo de 
dados 2
Arquivo de 
dados 3
Arquivo de 
dados 9 Canal
MML
Arquivo de 
dados 6
Arquivo de 
dados 7
Arquivo de 
dados 8
Componente
debackup 3
Canal
MML
Copyright © 2006, Oracle. Todos os direitos reservados.
Backups Compactados
RMAN> BACKUP AS 
2> COMPRESSED BACKUPSET
3> DATABASE;
RMAN> CONFIGURE DEVICE TYPE
2> DISK PARALLELISM 2
3> BACKUP TYPE TO 
4> COMPRESSED BACKUPSET;
Arquivos
de backup 
compactados
Arquivos do 
banco de dados
Copyright © 2006, Oracle. Todos os direitos reservados.
Cópia-Imagem
Cópia do arquivo de dados 3
Cópia do log arquivado
Arquivo de 
dados 3
Arquivo de 
log arquivado
Arquivo de 
dados 3
Arquivo de
log arquivado
RMAN> BACKUP AS COPY
2> DATAFILE '/ORADATA/users_01_db01.dbf' 
3> FORMAT '/BACKUP/users01.dbf';
RMAN> BACKUP AS COPY 
4> ARCHIVELOG LIKE 'arch_1060.arc' 
5> FORMAT 'arch_1060.bak'; 
Copyright © 2006, Oracle. Todos os direitos reservados.
Tags para Backups e Cópias-Imagem
Uma tag é um nome lógico designado a um conjunto de 
backup ou cópia-imagem.
month_full_backup week_full_backup
Arquivo de 
dados 3
Arquivo de 
dados 4
Conjunto de backup
Arquivos de 
dados 1, 3
Arquivos de 
dados 2, 4
Conjunto de backup
Copyright © 2006, Oracle. Todos os direitos reservados.
Opções do Comando BACKUP
• Verifica danos em blocos físicos. 
• Verifica danos lógicos e físicos. 
• Define um limite para o número de danos detectados 
permitido antes de abortar. 
• Valida os arquivos de entrada de destino antes de 
executar uma operação de backup. 
• Duplexa o conjunto de backup. 
• Sobregrava um conjunto de backup ou cópia-
imagem existente. 
• Passa o controle da transferência de dados entre 
dispositivos de armazenamento e arquivos de dados 
em disco para a camada de gerenciamento de mídia. 
• Criptografa os arquivos de backup. 
Copyright © 2006, Oracle. Todos os direitos reservados.
Fazendo Backup de Redo Logs Arquivados 
• A alternância do arquivo de redo log on-line é 
automática. 
• É efetuado o failover do log arquivado. 
• Você pode especificar uma faixa de redo logs 
arquivados para o backup. 
• Conjuntos de backups de arquivos de redo log 
arquivados não podem conter outro tipo de arquivo. 
RMAN> BACKUP 
2> FORMAT '/disk1/backup/ar_%t_%s_%p' 
3> ARCHIVELOG FROM SEQUENCE=234 
4> DELETE INPUT; 
Copyright © 2006, Oracle. Todos os direitos reservados.
Backup Completo do Banco de Dados
RMAN> BACKUP DATABASE
PLUS ARCHIVELOG; 
Cópias do 
arquivo de log 
arquivado
SPFILE
Arquivo de
controleCópias do 
arquivo de 
dados
Copyright © 2006, Oracle. Todos os direitos reservados.
Tipos de Backup com o RMAN
• Um backup integral contém todos os 
blocos de arquivos de dados usados.
• Um backup incremental de nível 0 é 
equivalente a um backup integral que 
tenha sido marcado como nível 0.
• Um backup incremental cumulativo 
de nível 1 contém apenas 
blocos modificados desde o último
backup incremental 
de nível 0.
• Um backup incremental de
nível 1 diferencial contém 
apenas blocos modificados desde 
o último backup incremental.
Backup
incremental diferencial
Backup
incremental cumulativo 
Integral ou "backup
incremental de nível 0"
Copyright © 2006, Oracle. Todos os direitos reservados.
Comparação entre Diferencial e Cumulativo 
• Um backup incremental diferencial contém todos os 
blocos alterados desde o último backup incremental. 
• Um backup incremental cumulativo contém todos os 
blocos alterados desde o último backup incremental 
de nível 0. 
Nível
Dia Dom Seg Ter Qua Qui Sex Sáb Dom
Nível 0 Nível 0
1 1 1c 110 01c
Copyright © 2006, Oracle. Todos os direitos reservados.
Rastreamento de
Alterações em Blocos
O processo de backup pode ser dinamizado ativando-se 
o rastreamento de alterações em blocos, que: 
• Registra os blocos alterados em um arquivo de 
rastreamento de alterações 
• É usado automaticamente pelo RMAN, se ativado 
• Otimiza os backups incrementais evitando 
verificações integrais de arquivos de dados durante o 
backup 
Lista de blocos 
alterados
Geração
de redo
Redo log
1011001010110
0001110100101
1010101110011
Arquivo de
rastreamento de
alterações
SGA
CTWR
Commands 
BACKUP
> Block C.T. 
Inc. Update
LIST
REPORT
DELETE
Copyright © 2006, Oracle. Todos os direitos reservados.
Ativando o Rastreamento
de Alterações em Blocos
SQL> ALTER DATABASE ENABLE 
2> BLOCK CHANGE TRACKING 
3> USING FILE '/mydir/rman_change_track.f' 
4> REUSE; 
Copyright © 2006, Oracle. Todos os direitos reservados.
Atualização Incremental
de Backups
Arquivos de backup 
incremental
Arquivo de dados recuperado
Cópia-imagem
do arquivo de dados
Cópia-imagem do arquivo 
de dados atualizada para 
um estado mais recente
RMAN> RECOVER COPY OF
2> DATAFILE {n|'file_name'}
3> WITH TAG 'incr_upd_df1';
Commands 
BACKUP
Block C.T. 
> Inc. Update 
LIST
REPORT
DELETE
Copyright © 2006, Oracle. Todos os direitos reservados.
Comando LIST
• Lista conjuntos de backup e cópias de
arquivos de dados:
• Lista conjuntos de backup e cópias de arquivos de 
dados de um tablespace específico: 
• Lista conjuntos de backup e cópias com logs de 
arquivamento incluídos em uma faixa específica: 
RMAN> LIST BACKUP OF DATAFILE 
2> “/db01/ORADATA/u03/users01.dbf”; 
RMAN> LIST BACKUP OF DATABASE; 
RMAN> LIST COPY OF TABLESPACE “SYSTEM”; 
RMAN> LIST COPY OF DATABASE ARCHIVELOG 
2> FROM TIME='SYSDATE-7'; 
Commands 
BACKUP
Block C.T. 
Inc. Update 
> LIST
REPORT
DELETE
Copyright © 2006, Oracle. Todos os direitos reservados.
Comando REPORT
• Faz uma análise detalhada do 
repositório
• Gera relatórios para responder 
a perguntas como:
– Quais são os arquivos de 
dados do banco de dados?
– Quais arquivos precisam de 
backup?
– Quais backups podem ser 
deletados?
– Quais arquivos são 
irrecuperáveis?
Commands 
BACKUP 
Block C.T. 
Inc. Update
LIST 
> REPORT
DELETE
Copyright © 2006, Oracle. Todos os direitos reservados.
Comando REPORT NEED BACKUP
• Lista todos os arquivos de dados que precisam de 
backup 
• Supõe que o backup mais recente será utilizado 
durante uma restauração 
• Oferece quatro opções: 
– Incremental 
– Days 
– Redundancy 
– Recovery window 
• Usa a configuração de política de retenção atual, 
caso nenhuma opção seja especificada 
Copyright © 2006, Oracle. Todos os direitos reservados.
REPORT NEED BACKUP: Exemplos 
• Arquivos que precisam de mais de três backups 
incrementais para recuperação: 
• Arquivos sem backup há três dias: 
• Backup necessário caso ainda não existam dois ou 
mais backups: 
• Backup necessário para recuperar três dias: 
RMAN> REPORT NEED BACKUP days 3; 
RMAN> REPORT NEED BACKUP incremental 3; 
RMAN> REPORT NEED BACKUP redundancy 2; 
RMAN> REPORT NEED BACKUP 
2> recovery window of 3 days; 
Copyright © 2006, Oracle. Todos os direitos reservados.
REPORT OBSOLETE e
DELETE OBSOLETE
• Localizam todos os arquivos de recuperação 
obsoletos de acordo com as definições
da política de retenção atual: 
• Listam os arquivos de recuperação obsoletos, se 
não forem necessárias mais do que duas cópias de 
backup: 
• Deletam o conjunto de backup com uma chave de 
conjunto de backup igual a 4: 
• Deletam os arquivos de recuperação considerados 
obsoletos, porque têm mais de dois backups: 
RMAN> REPORT OBSOLETE REDUNDANCY 2; 
RMAN> REPORT OBSOLETE; 
RMAN> DELETE BACKUPSET 4; 
RMAN> DELETE OBSOLETE REDUNDANCY 2; 
Commands 
BACKUP
Block C.T. 
Inc. Update 
LIST 
REPORT
> DELETE
Copyright © 2006, Oracle. Todos os direitos reservados.
Gerenciando Backups com o EM
Auxílio de navegação:
Home page do banco de dados > Maintenance > Manage Current Backups
Copyright © 2006, Oracle. Todos os direitos reservados.
Views Dinâmicas do RMAN
• V$ARCHIVED_LOG
• V$BACKUP_CORRUPTION
• V$BACKUP_DEVICE
• V$BACKUP_FILES
• V$BACKUP_PIECE
• V$BACKUP_REDOLOG
• V$BACKUP_SET
• V$BACKUP_SPFILE
• V$COPY_CORRUPTION
• V$RMAN_CONFIGURATION
Copyright © 2006, Oracle. Todos os direitos reservados.
Monitorando Backups com o RMAN 
• Correlacione as sessões do servidor e os canais 
usando o comando SET COMMAND ID. 
• Consulte as views V$PROCESS e V$SESSION para 
determinar uma correspondênciaentre sessões e 
canais do RMAN. 
• Consulte a view V$SESSION_LONGOPS para 
monitorar o andamento dos backups e das cópias. 
• Use um utilitário do sistema operacional para 
monitorar o processo ou os threads. 
Copyright © 2006, Oracle. Todos os direitos reservados.
Sumário 
Nesta lição, você aprendeu a: 
• Usar o comando BACKUP do RMAN para criar 
conjuntos de backup e cópias-imagem 
• Listar os backups e as cópias-imagem feitas com o 
RMAN 
• Informar e deletar backups obsoletos do RMAN 
Copyright © 2006, Oracle. Todos os direitos reservados.
Visão Geral do Exercício: Fazendo o 
Backup do Banco de Dados
Este exercício aborda os seguintes tópicos: 
• Ativação do arquivamento de redo logs para um 
banco de dados 
• Uso do RMAN para exibir a estrutura do banco de 
dados 
• Uso do Recovery Manager para fazer backup de 
arquivos de dados e do arquivo de controle 
• Uso do Recovery Manager para criar cópias-imagem 
dos arquivos de dados 
• Criação de um backup compactado de um banco de 
dados 
• Programação de um job de backup 
Copyright © 2006, Oracle. Todos os direitos reservados.
Recuperando Perdas Não Críticas 
Copyright © 2006, Oracle. Todos os direitos reservados.
Objetivos 
Ao concluir esta lição, você será capaz de: 
• Recuperar tablespaces temporários 
• Recuperar um membro de um grupo de redo logs 
• Recuperar um índice perdido 
• Recriar o arquivo de senha 
Copyright © 2006, Oracle. Todos os direitos reservados.
Causas da Perda de Dados
A perda de arquivos pode ser causada por:
• Erro do usuário
• Erro da aplicação
• Falha de mídia
Copyright © 2006, Oracle. Todos os direitos reservados.
Corrija o problema tomando uma destas medidas:
• Crie um novo arquivo.
• Reconstrua o arquivo.
• Recupere o arquivo perdido ou danificado.
Comparação entre Crítico e Não Crítico
Uma perda de arquivo não crítica é aquela em que o 
banco de dados pode continuar funcionando.
Copyright © 2006, Oracle. Todos os direitos reservados.
Perdendo um TEMPFILE
SQL> select * from big_table order by 
1,2,3,4,5,6,7,8,9,10,11,12,13;
select * from big_table order by 
1,2,3,4,5,6,7,8,9,10,11,12,13
*
ERROR at line 1:
ORA-01565: error in identifying file 
'/u01/app/oracle/oradata/orcl/temp01.dbf'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
As instruções SQL que exigem espaço TEMP para 
serem executadas falham caso esteja faltando um dos 
arquivos temporários.
Copyright © 2006, Oracle. Todos os direitos reservados.
Recuperando a Perda de um TEMPFILE
Arquivo de
senha
Arquivo de
parâmetros
SYSTEM
SYSAUX
UNDO
USERS
INDEX
Arquivo de
redo log 1B
Arquivo de
redo log 1A
Arquivo de
redo log 2B
Arquivo de
redo log 2A
Arquivos
de controle
TEMP
Copyright © 2006, Oracle. Todos os direitos reservados.
Status do Grupo de Logs: Revisão
Um grupo de redo logs tem um dos seguintes 
valores de status em qualquer momento 
específico:
• CURRENT: O processo LGWR está gravando 
dados de redo no grupo de redo logs no 
momento.
• ACTIVE: Não são mais feitas gravações no 
grupo de redo logs, mas ele ainda é 
necessário para a recuperação de instâncias.
• INACTIVE: Não são mais feitas gravações no 
grupo de redo logs, e ele não é mais 
necessário para a recuperação de instâncias.
Copyright © 2006, Oracle. Todos os direitos reservados.
Errors in file 
/u01/app/oracle/admin/orcl/bdump/orcl_arc1_25739.trc:
ORA-00313: open failed for members of log group 2 of 
thread 1
ORA-00312: online log 2 thread 1: 
'/u01/app/oracle/oradata/orcl/redo02b.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Perdendo um Membro do Grupo de Redo Logs
O log de alerta e o arquivo de rastreamento do 
processo archiver (ARCn) registram um erro quando 
está faltando um membro do grupo de arquivos de
redo log.
Copyright © 2006, Oracle. Todos os direitos reservados.
Recriando Arquivos de Redo Log
SQL> ALTER DATABASE DROP LOGFILE MEMBER
> '/u01/app/oracle/oradata/orcl/redo02b.log'; 
SQL> !rm /u01/app/oracle/oradata/orcl/redo02b.log
SQL> ALTER DATABASE ADD LOGFILE MEMBER
> '/u01/app/oracle/oradata/orcl/redo02b.log'
> TO GROUP 2; 
Arquivo de
senha
Arquivo de
parâmetros
SYSTEM
SYSAUX
UNDO
USERS
INDEX
Arquivo de
redo log 1B
Arquivo de
redo log 1A
Arquivo de
redo log 2A
Arquivos
de controle
TEMP
Arquivo de
redo log 2B
Copyright © 2006, Oracle. Todos os direitos reservados.
Recriando Arquivos de Redo Log
Copyright © 2006, Oracle. Todos os direitos reservados.
Recriando Índices
Use estas opções para reduzir o tempo de criação do 
índice:
• PARALLEL
• NOLOGGING
SQL> CREATE INDEX rname_idx
2 ON hr.regions (region_name)
3 PARALLEL 4;
Copyright © 2006, Oracle. Todos os direitos reservados.
Administração remota
do banco de dados
Administração local
do banco de dados
Sim Sim
Não Não
Você
tem uma conexão
segura?
Use a
autenticação
do sistema
operacional.
Use um
Arquivo
de senha.
Métodos de Autenticação para 
Administradores de Bancos de Dados
Você deseja
usar a autenticação
do sistema
operacional?
Copyright © 2006, Oracle. Todos os direitos reservados.
Recriando um Arquivo de 
Autenticação de Senha 
1. Efetue login no banco de dados usando a 
autenticação do sistema operacional. 
2. Defina o parâmetro REMOTE_LOGIN_PASSWORDFILE
como NONE e reinicie o banco de dados. 
3. Recrie o arquivo de senha usando orapwd. 
4. Defina REMOTE_LOGIN_PASSWORDFILE como 
EXCLUSIVE. 
5. Adicione usuários ao arquivo de senha e designe os 
privilégios apropriados a cada usuário. 
6. Reinicie a instância. 
$ orapwd file=$ORACLE_HOME/dbs/orapwORCL
password=admin entries=5
Copyright © 2006, Oracle. Todos os direitos reservados.
Sumário 
Nesta lição, você aprendeu a: 
• Recuperar tablespaces temporários 
• Recuperar um membro de um grupo de redo logs 
• Recuperar um índice perdido 
• Recriar o arquivo de senha 
Copyright © 2006, Oracle. Todos os direitos reservados.
Visão Geral do Exercício: Recuperando a Perda 
de um TEMPFILE e de um Arquivo de Redo Log 
Este exercício aborda os seguintes tópicos: 
• Inicialização de um banco de dados sem um arquivo 
temporário 
• Criação de um novo tablespace temporário 
• Alteração do tablespace temporário default de um 
banco de dados 
• Recuperação de um membro de redo log on-line 
perdido 
Copyright © 2006, Oracle. Todos os direitos reservados.
Recuperação de Banco de Dados
Copyright © 2006, Oracle. Todos os direitos reservados.
Objetivos 
Ao concluir esta lição, você será capaz de: 
• Executar uma recuperação completa ou
incompleta gerenciada pelo usuário
• Identificar situações nas quais é necessária uma 
recuperação incompleta 
• Executar uma recuperação completa ou incompleta 
usando o RMAN 
• Executar uma recuperação incompleta baseada em 
horário, SCN, seqüência de log, pontos de 
restauração ou método de cancelamento 
• Recuperar um arquivo de controle com backup 
automático 
• Usar o Enterprise Manager para executar 
recuperações 
• Recuperar tablespaces somente para leitura 
Ger. usuário
RMAN CLI
EM
Completa
Incompleta
Arquivo de controle
RO TBS
Copyright © 2006, Oracle. Todos os direitos reservados.
Métodos de Recuperação 
Existem dois métodos de recuperação: 
• Recuperação gerenciada por usuário 
– Os arquivos devem ser mantidos e movidos 
manualmente. 
– Use comandos SQL*Plus. 
• Recuperação do RMAN 
– Os arquivos são gerenciados automaticamente. 
– Use a funcionalidade do RMAN, incluindo todos os 
recursos de manutenção do repositório e de geração 
de relatórios. 
– Pode ser feita com o Enterprise Manager. 
– Método recomendado pela Oracle Corporation. 
Copyright © 2006, Oracle. Todos os direitos reservados.
Recuperação Gerenciada por Usuário:
Comando RECOVER
• Restaure todos os arquivos do banco de dados a 
partir de um backup e recupere o banco de dados:
• Restaure os arquivos de dados danificados a 
partir de um backup e recupere esses arquivos: 
Ou:
SQL> RECOVER DATABASE 
SQL> RECOVER TABLESPACE index_tbsSQL> RECOVER DATAFILE 
2> '/oradata/indx01.dbf'
Copyright © 2006, Oracle. Todos os direitos reservados.
Recuperação do RMAN:
Comandos RESTORE e RECOVER
run{
sql "ALTER TABLESPACE inv_tbs OFFLINE IMMEDIATE";
RESTORE TABLESPACE inv_tbs;
RECOVER TABLESPACE inv_tbs DELETE ARCHIVELOG;
sql "ALTER TABLESPACE inv_tbs ONLINE";
}
Ger. usuário 
> RMAN CLI 
EM
Completa
Incompleta
Arquivo de controle
RO TBS
Copyright © 2006, Oracle. Todos os direitos reservados.
Recuperação com
o Enterprise Manager 
Com o Recovery Wizard do Enterprise
Manager, você pode criar e executar um script do 
RMAN para realizar a recuperação. 
RMAN> RECOVER DATABASE …
Ger. usuário 
RMAN CLI 
> EM
Completa
Incompleta
Arquivo de controle
RO TBS
Copyright © 2006, Oracle. Todos os direitos reservados.
Recuperação Completa e Incompleta 
Existem dois tipos de recuperação: 
• A recuperação completa atualiza o banco de dados 
até o presente, incluindo todas as alterações de 
dados efetuadas até o momento em que a 
recuperação foi solicitada. 
• A recuperação incompleta leva o banco de dados até 
um momento específico anterior à solicitação da 
operação de recuperação.
Tarefa de
recuperação iniciada
neste momento
Recuperação
completa
Recuperação
incompleta
Transações ausentes após
recuperação incompleta
Restauração
deste backup
Copyright © 2006, Oracle. Todos os direitos reservados.
Recuperação Completa
Arquivos de dados
restaurados
Arquivos de dados
com transações
submetidas ou
não a commit
Arquivos de dados
recuperados
Alterações aplicadas
Undo aplicado
6
5
3
2
1
Log
arquivadoLog
arquivadoRedo log
on-line
4
Banco de
dados aberto
Ger. usuário 
RMAN CLI 
EM 
> Completa
Incompleta
Arquivo de controle
RO TBS
Copyright © 2006, Oracle. Todos os direitos reservados.
Recuperação Incompleta
Arquivos de dados com
transações submetidas
ou não a commit até
um momento específico
Arquivos de dados
ecuperados até um
momento específico
Undo aplicado
6
5
3
2
1
Log
arquivadoLog
arquivadoRedo log
on-line
4
Banco de
dados aberto
X
X
Alterações aplicadas até
um momento específico
Arquivos de dados
restaurados até o
momento necessário
no passado
Ger. usuário 
RMAN CLI 
EM 
Completa 
> Incompleta
Arquivo de controle
RO TBS
Copyright © 2006, Oracle. Todos os direitos reservados.
Situações Que Exigem Recuperação Incompleta 
• Há uma falha na recuperação completa em 
decorrência da falta de um arquivo de log arquivado. 
• Um ou mais arquivos de redo log não arquivados e 
um arquivo de dados são perdidos. 
• Um backup do arquivo de controle é usado para 
abrir ou recuperar o banco de dados. 
Copyright © 2006, Oracle. Todos os direitos reservados.
Tipos de Recuperação Incompleta 
Existem quatro tipos de recuperação incompleta: 
• Recuperação baseada em horário 
• Recuperação baseada em cancelamento 
• Recuperação baseada em alteração 
• Recuperação de seqüência de log 
Copyright © 2006, Oracle. Todos os direitos reservados.
Executando a Recuperação Incompleta 
Gerenciada por Usuário 
• Recupere um banco de dados até um horário 
especificado: 
• Recupere um banco de dados até o cancelamento: 
• Recupere usando um arquivo de controle de backup: 
SQL> RECOVER DATABASE UNTIL CANCEL
SQL> RECOVER DATABASE UNTIL
2 TIME '2005-12-14:12:10:03';
SQL> RECOVER DATABASE 
2 UNTIL TIME '2005-12-14:12:10:03'
3 USING BACKUP CONTROLFILE;
Copyright © 2006, Oracle. Todos os direitos reservados.
Executando a Recuperação Incompleta 
Gerenciada por Usuário 
Para executar a recuperação incompleta gerenciada 
por usuário, siga este procedimento:
1. Faça shutdown do banco de dados.
2. Restaure os arquivos de dados.
3. Monte o banco de dados.
4. Recupere o banco de dados.
5. Abra o banco de dados com a opção RESETLOGS.
Copyright © 2006, Oracle. Todos os direitos reservados.
Recuperação Baseada em Horário 
Gerenciada por Usuário: Exemplo 
Este é o cenário: 
• Um job executado com erro e seus efeitos precisam 
ser desfeitos. 
• Isso ocorreu há 15 minutos e houve pouca atividade 
de banco de dados desde então. 
• Você decide executar uma recuperação incompleta 
para restaurar o estado do banco de dados de 15 
minutos atrás. 
SQL> SHUTDOWN IMMEDIATE
$ cp /BACKUP/* /u01/db01/ORADATA
SQL> STARTUP MOUNT
SQL> RECOVER DATABASE UNTIL TIME '2005-11-28:11:44:00';
SQL> ALTER DATABASE OPEN RESETLOGS;
Copyright © 2006, Oracle. Todos os direitos reservados.
Recuperação Baseada em Cancelamento 
Gerenciada por Usuário: Exemplo 
O cenário é o mesmo do exemplo baseado em horário, 
exceto pelas seguintes descobertas: 
• Os redo logs não são multiplexados. 
• Um dos redo logs on-line não foi encontrado. 
• O redo log ausente não foi arquivado. 
• O redo log continha informações das 11:34. 
• Vinte e seis minutos de dados foram perdidos. 
• Os usuários podem reinserir seus dados 
manualmente. 
Copyright © 2006, Oracle. Todos os direitos reservados.
Recuperação Baseada em Cancelamento 
Gerenciada por Usuário: Exemplo 
Recupere o banco de dados da seguinte maneira: 
1. Faça shutdown do banco de dados. 
2. Restaure todos os arquivos de dados do backup 
mais recente. 
3. Você já tem um backup válido; portanto, monte o 
banco de dados. 
4. Execute RECOVER DATABASE UNTIL CANCEL. 
5. Execute ALTER DATABASE OPEN RESETLOGS para 
abrir o banco de dados. 
Copyright © 2006, Oracle. Todos os direitos reservados.
Executando a Recuperação
Incompleta com o RMAN
1. Monte o banco de dados. 
2. Aloque vários canais para fins de paralelização. 
3. Restaure todos os arquivos de dados. 
4. Recupere o banco de dados usando UNTIL TIME, 
UNTIL SEQUENCE ou UNTIL SCN. 
5. Abra o banco de dados usando RESETLOGS. 
Copyright © 2006, Oracle. Todos os direitos reservados.
Recuperação Baseada em
Horário com o RMAN: Exemplo
RMAN> RUN {
2> SET UNTIL TIME = '2005-11-28:11:44:00';
3> RESTORE DATABASE;
4> RECOVER DATABASE;
5> ALTER DATABASE OPEN RESETLOGS; }
Copyright © 2006, Oracle. Todos os direitos reservados.
Recuperação de Seqüência
de Log com o RMAN: Exemplo
RMAN> RUN {
2> SET UNTIL SEQUENCE 120 THREAD 1;
3> ALTER DATABASE MOUNT;
4> RESTORE DATABASE;
5> RECOVER DATABASE; # recovers through log 119
6> ALTER DATABASE OPEN RESETLOGS;
7> }
Copyright © 2006, Oracle. Todos os direitos reservados.
Recuperação Incompleta com
o Enterprise Manager
Copyright © 2006, Oracle. Todos os direitos reservados.
Recuperação Incompleta e o Log de Alerta 
Veja abaixo algumas das melhores práticas referentes 
ao log de alerta em cenários de recuperação 
incompleta: 
• Verifique o log de alerta antes e depois da 
recuperação. 
• Procure informações sobre erros, dicas e SCNs. 
• Confirme se as etapas do processo de recuperação 
foram bem-sucedidas. 
Copyright © 2006, Oracle. Todos os direitos reservados.
Pontos de Restauração 
Um ponto de restauração: 
• Serve como um apelido para um
SCN ou momento específico 
• É armazenado no arquivo de controle 
• Pode ser usado com: 
– RECOVER DATABASE 
– FLASHBACK DATABASE 
– FLASHBACK TABLE
SQL> CREATE RESTORE POINT before_load;
before_load
RMAN> RECOVER DATABASE UNTIL RESTORE POINT before_load;2
1
Copyright © 2006, Oracle. Todos os direitos reservados.
Recuperação Incompleta: Melhores Práticas 
• Planeje e teste cenários com antecedência. 
• Investigue e verifique a necessidade da recuperação 
incompleta. 
• Siga todas as etapas com cuidado. 
• Faça backups do banco de dados inteiro antes e 
depois da recuperação. 
• Sempre verifique se a recuperação foi bem-sucedida. 
• Aproveite as vantagens dos pontos de restauração. 
Copyright © 2006, Oracle. Todos os direitos reservados.
Recuperando um Arquivo de
Controle por Backup Automático
Recovery
Manager
(RMAN) Área de recuperação
flash
Banco de 
dados
Arquivo de
controle
RECOVER DATABASE;
ALTER DATABASE OPEN 
RESETLOGS;
ALTER TABLESPACE temp ADD 
TEMPFILE...;
RMAN> RESTORE CONTROLFILE TO 
2> '/oradata/ctlfile.bak' FROM AUTOBACKUP;
Ger. usuário 
RMAN CLI 
EM 
Completa 
Incompleta> Arquivo de controle
RO TBS
Copyright © 2006, Oracle. Todos os direitos reservados.
Criando um Novo Arquivo de Controle
SQL> ALTER DATABASE BACKUP CONTROLFILE 
TO TRACE;
Arquivo de
senha
Arquivo de
parâmetros
SYSTEM
SYSAUX
UNDO TEMP
USERS
INDEX
Arquivo de
redo log 1B
Arquivo de
redo log 1A
Arquivo de
redo log 2B
Arquivo de
redo log 2A
Arquivos
de controle
Copyright © 2006, Oracle. Todos os direitos reservados.
Criando um Novo Arquivo de Controle
Copyright © 2006, Oracle. Todos os direitos reservados.
Recuperando Tablespaces
Somente para Leitura
Alteração de
Estado de
Tablespace
Falha e 
recuperação
Caso 1
Caso 2
Caso 3
Backup
Somente para leitura
Leitura/gravação
Somente para leitura
Somente para leitura
Leitura/gravação
*
*
*
* Backup de arquivo decontrole a ser usado
para recuperação se
o atual for perdido 
Ger. usuário 
RMAN CLI 
EM 
Completa 
Incompleta
Arquivo de controle 
> RO TBS
Copyright © 2006, Oracle. Todos os direitos reservados.
Questões Relativas à Recuperação de 
Tablespaces Somente para Leitura 
É necessário tomar alguns cuidados especiais em 
relação aos tablespaces somente para leitura durante: 
• A recriação de um arquivo de controle 
• A renomeação de arquivos de dados 
• A utilização de um arquivo de controle de backup 
Copyright © 2006, Oracle. Todos os direitos reservados.
Sumário 
Nesta lição, você aprendeu a: 
• Executar uma recuperação completa ou incompleta 
gerenciada pelo usuário 
• Executar uma recuperação completa ou incompleta 
usando o RMAN 
• Identificar situações nas quais é necessária uma 
recuperação incompleta 
• Executar uma recuperação incompleta baseada em 
horário, SCN, seqüência de log, pontos de 
restauração ou método de cancelamento 
• Recuperar um arquivo de controle com backup 
automático 
• Usar o Enterprise Manager para executar 
recuperações 
• Recuperar tablespaces somente para leitura 
Copyright © 2006, Oracle. Todos os direitos reservados.
Visão Geral do Exercício: Executando uma
Recuperação Incompleta
Este exercício aborda os seguintes tópicos:
• Recuperação pontual usando o RMAN
• Recuperação após perda de arquivos de controle
Copyright © 2006, Oracle. Todos os direitos reservados.
Flashback
Copyright © 2006, Oracle. Todos os direitos reservados.
Objetivos 
Ao concluir esta lição, você será capaz de: 
• Consultar a lixeira 
• Configurar o Flashback de Banco de Dados 
• Executar o Flashback de Banco de Dados em um 
momento específico 
• Monitorar estatísticas de log de flashback 
• Ativar e desativar o recurso Flashback de Banco
de Dados 
• Usar o Recovery Wizard do Enterprise Manager
para executar o Flashback de Banco de Dados 
• Usar pontos de restauração garantidos com o 
Flashback de Banco de Dados 
Lixeira
Flashback de BD
Config. FB de BD
Monitorar FB de BD
Pt. Rest. Gar.
Copyright © 2006, Oracle. Todos os direitos reservados.
Tecnologia de Flashback: Revisão
SIMDados de 
undo
TabelaAtualizar com a cláusula 
WHERE incorreta
Dados de 
undo
Dados de 
undo
Dados de 
undo
Lixeira
Logs de 
flashback
Usos
Transação
Versão
Consulta
Eliminação
Banco de 
Dados
Tecnologia
de Flashback
NÃOComparar dados atuais 
com dados antigos
NÃOInvestigar vários estados 
históricos de dados
Transação
NÃOComparar versões de uma 
linha
SIMEliminar tabelaTabela
SIMTruncar tabela; alterações
indesejadas em várias 
tabelas
Banco de 
Dados
Afeta
DadosExemplos de Cenários
Nível do 
Objeto
Copyright © 2006, Oracle. Todos os direitos reservados.
Flashback de Eliminação e Lixeira
DROP TABLE employees; FLASHBACK TABLE
employees
TO BEFORE DROP;
Um erro
foi cometido.
RECYCLEBIN=ON
Copyright © 2006, Oracle. Todos os direitos reservados.
3
2
1
Lixeira
DROP TABLE employees; 
BIN$zbjra9wy==$0 EMPLOYEES_PK
EMPLOYEES
Lixeira
DBA_FREE_SPACE
BIN$zbjrBdpw==$0
USER_OBJECTS
BIN$zbjrBdpw==$0 EMPLOYEES
BIN$zbjra9wy==$0 EMPLOYEES_PK 
4
Os objetos são:
– Renomeados
– Não movimentados
Copyright © 2006, Oracle. Todos os direitos reservados.
Restaurando Tabelas a Partir da Lixeira 
• Restaure tabelas eliminadas e respectivos objetos 
dependentes. 
• Se várias entradas da lixeira tiverem o mesmo nome 
original: 
– Use os nomes exclusivos gerados pelo sistema para 
restaurar uma versão específica 
– Quando são usados os nomes originais, a tabela 
restaurada é LIFO (last in, first out) 
• Altere o nome original caso ele esteja em uso no 
momento. 
FLASHBACK TABLE <table_name>
TO BEFORE DROP [RENAME TO <new_name>];
Copyright © 2006, Oracle. Todos os direitos reservados.
Lixeira: Reutilização
Automática de Espaço
BIN$zbjrBdpw==$0 
BIN$zbjra9wy==$0 
BIN$zbjra9wy==$0
BIN$zbjrBdpw==$0
1
2
3
Lixeira
DBA_FREE_SPACE - RECYCLEBIN
Expansão automática
Copyright © 2006, Oracle. Todos os direitos reservados.
Lixeira: Reutilização Manual de Espaço
PURGE {TABLE <table_name>|INDEX <index_name>}
PURGE TABLESPACE <ts_name> [USER <user_name>]
PURGE [USER_|DBA_]RECYCLEBIN
Copyright © 2006, Oracle. Todos os direitos reservados.
Ignorando a Lixeira
DROP TABLESPACE <ts_name> 
[INCLUDING CONTENTS] ;
DROP USER <user_name> [CASCADE] ;
DROP TABLE <table_name> [PURGE] ;
Copyright © 2006, Oracle. Todos os direitos reservados.
Consultando a Lixeira
SELECT owner, original_name, object_name, 
type, ts_name, droptime, related, space
FROM dba_recyclebin
WHERE can_undrop = 'YES';
SELECT original_name, object_name, 
type, ts_name, droptime, related, space
FROM user_recyclebin
WHERE can_undrop = 'YES';
SQL> SHOW RECYCLEBIN
Copyright © 2006, Oracle. Todos os direitos reservados.
Consultando Dados de
Tabelas Eliminadas
SELECT ... 
FROM "BIN$zbjrBdpw==$0" [AS OF ...]
WHERE ... 
Lixeira
USER_INDEXES
YES
INDEX_NAMEDROPPED
NO SALES_PK
USER_TABLES
TABLE_NAMEDROPPED
YES
NO SALES
BIN$zbjrBdpw==$0 EMPLOYEES
BIN$zbjra9wy==$0 EMPLOYEES_PK
Copyright © 2006, Oracle. Todos os direitos reservados.
Flashback de Banco
de Dados: Revisão
A operação de Flashback de Banco de Dados: 
• Funciona como um botão Retroceder do banco de 
dados 
• Pode ser utilizada em caso de danos nos dados 
lógicos provocados pelos usuários 
O banco de 
dados está 
danificado.
O banco
de dados 
“retrocede”.
Você pressiona 
o botão 
“Retroceder”.
Os usuários 
geram os 
erros.
Lixeira
> Flashback de BD
Config. FB de BD
Monitorar FB de BD
Pt. Rest. Gar.
Copyright © 2006, Oracle. Todos os direitos reservados.
Arquitetura do Flashback de Banco de Dados
Buffer de
flashback
Buffer de
redo log
SGA
LGWR
RVWRLogs de
flashback
Redo
logs
… …
Cache de buffer
1
Registrar imagens
anteriores de 
blocos
periodicamente. 
Reverter alterações no 
banco de dados usando 
imagens anteriores.
Encaminhar 
recuperação 
de mídia.
Todas as
alterações
Nem todas as
alterações!
2
Copyright © 2006, Oracle. Todos os direitos reservados.
Configurando o Flashback
de Banco de Dados
1. Configure a área de 
recuperação flash.
3. Ative o Flashback 
de Banco de Dados.
2. Defina o alvo
de retenção.
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT EXCLUSIVE;
SQL> ALTER SYSTEM SET
2 DB_FLASHBACK_RETENTION_TARGET=2880 SCOPE=BOTH;
SQL> ALTER DATABASE FLASHBACK ON;
SQL> ALTER DATABASE OPEN;
Lixeira
Flashback de BD
> Config. FB de BD
Monitorar FB de BD
Pt. Rest. Gar.
Copyright © 2006, Oracle. Todos os direitos reservados.
Configurando o Flashback de
Banco de Dados com o EM
Verifique se o banco de dados está no modo 
ARCHIVELOG.
Copyright © 2006, Oracle. Todos os direitos reservados.
Configurando o Flashback de
Banco de Dados com o EM
Ative o log de flashback e especifique a área de 
recuperação flash
Copyright © 2006, Oracle. Todos os direitos reservados.
Flashback de Banco de Dados: Exemplos
RMAN> FLASHBACK DATABASE TO TIME = 
2> "TO_DATE('2004-05-27 16:00:00',
3> 'YYYY-MM-DD HH24:MI:SS')";
RMAN> FLASHBACK DATABASE TO SCN=23565;
RMAN> FLASHBACK DATABASE 
2> TO SEQUENCE=223 THREAD=1;
SQL> FLASHBACK DATABASE 
2 TO TIMESTAMP(SYSDATE-1/24);SQL> FLASHBACK DATABASE TO SCN 53943;
SQL> FLASHBACK DATABASE TO RESTORE POINT b4_load; 
Copyright © 2006, Oracle. Todos os direitos reservados.
Executando o Flashback de
Banco de Dados com o EM
Selecione o tipo de
objeto e de
operação
Copyright © 2006, Oracle. Todos os direitos reservados.
Executando o Flashback de
Banco de Dados com o EM
Iniciando o Recovery Wizard:
Copyright © 2006, Oracle. Todos os direitos reservados.
Executando o Flashback de
Banco de Dados com o EM
Copyright © 2006, Oracle. Todos os direitos reservados.
Excluindo Tablespaces do
Flashback de Banco de Dados 
• Coloque o tablespace off-line antes de executar a 
recuperação de Flashback de Banco de Dados. 
• Elimine o tablespace ou recupere os arquivos off-
line com a recuperação pontual tradicional. 
ALTER TABLESPACE <ts_name> FLASHBACK {ON|OFF}
SQL> SELECT name, flashback_on
2 FROM v$tablespace; 
Copyright © 2006, Oracle. Todos os direitos reservados.
Considerações sobre o Flashback de 
Banco de Dados 
• Quando a operação de Flashback de Banco de 
Dados for concluída, abra o banco de dados: 
– No modo somente para leitura para verificar se o SCN 
ou o tempo-alvo correto foi utilizado 
– Com uma operação RESETLOGS para permitir DML 
• O contrário de “flashback” é “recuperação”. 
• Não é possível usar o Flashback de Banco de Dados 
nas seguintes situações: 
– Se o arquivo de controle tiver sido restaurado ou 
recriado. 
– Se um tablespace tiver sido eliminado. 
– Se um arquivo de dados tiver sido comprimido. 
• Use TO BEFORE RESETLOGS para fazer flashback para 
um momento anterior à operação RESETLOGS. 
Copyright © 2006, Oracle. Todos os direitos reservados.
Monitorando o Flashback
de Banco de Dados 
Para monitorar a capacidade de atender o
alvo de retenção: 
• Exiba a cota de disco da área de recuperação flash: 
• Determine o período de flashback atual: 
• Monitore a geração de logs do Flashback de Banco 
de Dados:
SQL> SELECT estimated_flashback_size, 
2 flashback_size
3 FROM V$FLASHBACK_DATABASE_LOG;
SQL> SELECT *
2 FROM V$FLASHBACK_DATABASE_STAT;
SQL> SELECT oldest_flashback_scn, 
2 oldest_flashback_time
3 FROM V$FLASHBACK_DATABASE_LOG;
Lixeira
Flashback de BD
Config. FB de BD
> Monitorar FB de BD
Pt. Rest. Gar.
Copyright © 2006, Oracle. Todos os direitos reservados.
Monitorando o Flashback de
Banco de Dados com o EM
Copyright © 2006, Oracle. Todos os direitos reservados.
Pontos de Restauração
Garantidos
Um ponto de restauração garantido assegura que você 
possa executar um comando FLASHBACK DATABASE
para um SCN em qualquer momento. 
SQL> CREATE RESTORE POINT before_load
2 GUARANTEE FLASHBACK DATABASE;
Lixeira
Flashback de BD
Config. FB de BD
Monitorar FB de BD 
> Pt. Rest. Gar. 
Copyright © 2006, Oracle. Todos os direitos reservados.
Sumário 
Nesta lição, você aprendeu a: 
• Consultar a lixeira 
• Configurar o Flashback de Banco de Dados 
• Executar o Flashback de Banco de Dados até um 
momento específico usando o Enterprise Manager 
ou o RMAN 
• Monitorar estatísticas de log de flashback 
• Ativar e desativar o recurso Flashback de Banco de 
Dados 
• Usar pontos de restauração garantidos com o 
Flashback de Banco de Dados 
Copyright © 2006, Oracle. Todos os direitos reservados.
Visão Geral do Exercício: Executando o 
Flashback de Banco de Dados 
Este exercício aborda os seguintes tópicos: 
• Execução do Flashback de Banco de Dados para 
desfazer transações indesejadas 
• Monitoramento da retenção do Flashback de Banco 
de Dados 
• Determinação do tamanho dos logs de flashback 
Copyright © 2006, Oracle. Todos os direitos reservados.
Lidando com Bancos de Dados Danificados
Copyright © 2006, Oracle. Todos os direitos reservados.
Objetivos 
Ao concluir esta lição, você será capaz de: 
• Identificar os motivos de danos em bancos de dados: 
– Hardware 
– Software 
• Detectar danos em bancos de dados usando: 
– ANALYZE 
– DBVERIFY 
– DB_BLOCK_CHECKING 
– DBMS_REPAIR
• Corrigir danos usando o RMAN 
Copyright © 2006, Oracle. Todos os direitos reservados.
O Que É um Bloco Danificado? 
• Sempre que um bloco é lido ou gravado, é executada 
uma verificação de consistência. 
– Versão do bloco 
– O valor do DBA (endereço do bloco de dados) no 
cache comparado ao valor do DBA no buffer do bloco 
– Checksum do bloco, se estiver ativado 
• Um bloco danificado é identificado por uma destas 
características: 
– Danos de mídia 
– Danos lógicos (ou de software) 
Copyright © 2006, Oracle. Todos os direitos reservados.
Sintomas de Blocos Danificados: ORA-01578 
O erro ORA-01578: "ORACLE data block 
corrupted (file # %s, block # %s)": 
• É gerado quando um bloco de dados danificado é 
localizado 
• Sempre retorna o número absoluto do arquivo e do 
bloco 
• É retornado à sessão responsável pela consulta que 
estava em execução quando o dano foi descoberto 
• Aparece no arquivo alert.log
Copyright © 2006, Oracle. Todos os direitos reservados.
Como Lidar com Danos 
• Verifique o log de alerta e o arquivo de log do 
sistema operacional. 
• Use as ferramentas de diagnóstico disponíveis para 
descobrir o tipo de dano. 
• Determine se os erros são persistentes executando 
verificações diversas vezes. 
• Recupere dados do objeto danificado se necessário. 
Copyright © 2006, Oracle. Todos os direitos reservados.
Como Lidar com Danos 
• Solucione os problemas de hardware: 
– Placas de memória 
– Controladoras de disco 
– Discos 
• Recupere ou restaure os dados do objeto danificado
se necessário. 
Copyright © 2006, Oracle. Todos os direitos reservados.
Recursos Relacionados a Danos
SIMNenhumRecuperação de mídia de bloco
SIMLógicoFlashback
SIMLógicoDBMS_REPAIR
NÃOLógicoDB_BLOCK_CHECKING
Físico
Físico
Lógico
Físico
Dano
Detectado
NÃODB_BLOCK_CHECKSUM
NÃOexp
NÃOANALYZE
NÃODBVERIFY
Repara
Danos
Recurso
Copyright © 2006, Oracle. Todos os direitos reservados.
Utilitário DBVERIFY 
• Só funciona em arquivos de dados; não é possível 
verificar arquivos de redo log 
• Verifica a consistência dos blocos 
• Pode ser usado com o banco de dados aberto 
• Nome do programa utilitário: dbv
$ dbv file=/u01/oradata/users01.dbf \
blocksize=8192
Copyright © 2006, Oracle. Todos os direitos reservados.
Interpretando a Saída DBVERIFY 
• Uma “página” é um bloco. 
• Se o cabeçalho e o final do bloco não 
corresponderem, o DBVERIFY lerá o bloco 
novamente. Se corresponderem, será informado um 
bloco de influxo; caso contrário, será sinalizado um 
dano. 
Total Pages Examined : 12800
Total Pages Processed (Data) : 4408
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 1264
.
.
.
Total Pages Marked Corrupt : 4
Total Pages Influx : 0
Highest block SCN : 654836 (0.654836)
Copyright © 2006, Oracle. Todos os direitos reservados.
Comando ANALYZE
• Executa uma verificação lógica dos blocos 
• Não marca danos lógicos em blocos; apenas 
informa esses danos 
• Valida entradas de índices e tabelas 
SQL> ANALYZE TABLE table_name VALIDATE 
2 STRUCTURE CASCADE;
SQL> ANALYZE INDEX index_name VALIDATE 
2 STRUCTURE;
Copyright © 2006, Oracle. Todos os direitos reservados.
Verificando a Integridade de Blocos em 
Tempo Real: DB_BLOCK_CHECKING
O parâmetro de inicialização DB_BLOCK_CHECKING: 
• Controla o grau de verificações de autoconsistência 
executadas em cada bloco, à medida que é 
processado 
• Pode evitar danos à memória e aos dados 
• Pode ser definido por meio do comando ALTER
SESSION ou ALTER SYSTEM DEFERRED
Copyright © 2006, Oracle. Todos os direitos reservados.
Verificando a Integridade de Blocos em 
Tempo Real: DB_BLOCK_CHECKSUM
O parâmetro de inicialização DB_BLOCK_CHECKSUM:
• Determina se um checksum deve ou não ser mantido 
e verificado em cada bloco
• Pode evitar danos causados por sistemas de 
entrada/saída subjacentes
a14f
Copyright © 2006, Oracle. Todos os direitos reservados.
Usando EXP para Detectar Danos
A exportação convencionalpode ser usada para 
detectar danos.
$ exp hr/hr tables=departments
About to export specified tables via Conventional Path 
...
. . exporting table DEPARTMENTS
EXP-00056: ORACLE error 1578 encountered
ORA-01578: ORACLE data block corrupted (file # 5, block # 
51)
ORA-01110: data file 5: 
'/u01/app/oracle/oradata/orcl/example01.dbf'
Copyright © 2006, Oracle. Todos os direitos reservados.
Usando o Flashback para Danos Lógicos
DBA
USUÁRIO
SQL de 
Undo ou 
Flashback 
de Tabela
Dados danificados
localizados
Flashback 
de Consulta 
de Versão
Flashback de 
Consulta de 
Transação
Copyright © 2006, Oracle. Todos os direitos reservados.
Package DBMS_REPAIR
Procedures disponíveis 
• CHECK_OBJECT 
• FIX_CORRUPT_BLOCKS 
• DUMP_ORPHAN_KEYS 
• REBUILD_FREELISTS 
• SEGMENT_FIX_STATUS 
• SKIP_CORRUPT_BLOCKS 
• ADMIN_TABLES 
Copyright © 2006, Oracle. Todos os direitos reservados.
Usando o DBMS_REPAIR
1. Detecte e informe danos. 
2. Avalie os custos e as vantagens do DBMS_REPAIR. 
SET SERVEROUTPUT ON
DECLARE num_corrupt INT;
BEGIN
num_corrupt := 0;
DBMS_REPAIR.CHECK_OBJECT (
schema_name => 'HR',
object_name => 'DEPARTMENTS',
repair_table_name => 'REPAIR_TABLE',
corrupt_count => num_corrupt);
END;
Copyright © 2006, Oracle. Todos os direitos reservados.
Usando o DBMS_REPAIR
3. Torne os objetos utilizáveis.
SET SERVEROUTPUT ON
DECLARE num_fix INT;
BEGIN
num_fix := 0;
DBMS_REPAIR.FIX_CORRUPT_BLOCKS (
schema_name => 'HR',
object_name => 'DEPARTMENTS',
object_type => DBMS_REPAIR.TABLE_OBJECT,
repair_table_name => 'REPAIR_TABLE',
fix_count => num_fix);
END;
Copyright © 2006, Oracle. Todos os direitos reservados.
Usando o DBMS_REPAIR
4. Corrija danos e reconstrua dados perdidos. 
SET SERVEROUTPUT ON
DECLARE num_orphans INT;
BEGIN
num_orphans := 0;
DBMS_REPAIR.DUMP_ORPHAN_KEYS (
schema_name => 'SCOTT',
object_name => 'PK_DEPT',
object_type => DBMS_REPAIR.INDEX_OBJECT,
repair_table_name => 'REPAIR_TABLE',
orphan_table_name => 'ORPHAN_KEY_TABLE',
key_count => num_orphans);
DBMS_OUTPUT.PUT_LINE('orphan key count: ' || 
TO_CHAR(num_orphans));
END;
Copyright © 2006, Oracle. Todos os direitos reservados.
BMR (Block Media Recovery) 
Recuperação de mídia de bloco: 
• Reduz o MTTR (mean time to recover, tempo médio 
para recuperação) 
• Aumenta a disponibilidade durante a recuperação de 
mídia 
– O arquivo de dados permanece on-line durante a 
recuperação. 
– Apenas os blocos em recuperação ficam inacessíveis. 
• É chamada no RMAN por meio do comando 
BLOCKRECOVER. 
– Restaura blocos individuais de backups disponíveis 
– Faz a coordenação com o servidor para a recuperação 
dos blocos de dados 
Copyright © 2006, Oracle. Todos os direitos reservados.
Comando BLOCKRECOVER
O comando BLOCKRECOVER do RMAN: 
• Identifica os backups que contêm os blocos a serem 
recuperados 
• Lê os backups e acumula os blocos necessários em 
buffers de memória 
• Gerencia a sessão de recuperação de mídia de bloco 
lendo os logs de arquivamento no backup, se 
necessário 
• Não pode ser usado na recuperação incompleta 
RMAN> BLOCKRECOVER DATAFILE 6 BLOCK 3;
Copyright © 2006, Oracle. Todos os direitos reservados.
Exemplos de Uso do Comando BLOCKRECOVER
• Recuperando um grupo de blocos danificados 
• Limitando a recuperação de mídia de bloco por tipo 
de restauração 
• Limitando a recuperação de mídia de bloco por tag 
de backup 
• Limitando a recuperação de mídia de bloco por 
horário, SCN ou seqüência de log 
Copyright © 2006, Oracle. Todos os direitos reservados.
A Interface do RMAN BMR 
Views dinâmicas mostram o estado atual do dano. 
• A view V$DATABASE_BLOCK_CORRUPTION mostra a 
lista de blocos do banco de dados danificados no 
momento. 
• A view V$BACKUP_CORRUPTION mostra a lista de 
blocos danificados em backups de arquivos de 
dados. 
• A view V$COPY_CORRUPTION mostra a lista de 
blocos danificados em cópias de arquivos de 
imagens. 
RMAN> BLOCKRECOVER CORRUPTION LIST
2> RESTORE UNTIL TIME 'sysdate – 10';
Copyright © 2006, Oracle. Todos os direitos reservados.
Ações Alternativas 
• Tabela: Os dados do bloco danificado são perdidos. 
– Elimine e recrie a tabela. Em seguida, importe os 
dados de um dump de exportação. 
– Use SQL ou PL/SQL a fim de extrair dados da tabela 
para uma tabela criada recentemente. 
• Índice: Elimine e recrie o índice. 
Copyright © 2006, Oracle. Todos os direitos reservados.
Sumário 
Nesta lição, você aprendeu a: 
• Identificar os motivos de danos em bancos de dados: 
– Hardware 
– Software 
• Detectar danos em bancos de dados usando: 
– ANALYZE 
– dbverify 
– DB_BLOCK_CHECKING 
– DBMS_REPAIR 
• Corrigir danos usando o RMAN 
Copyright © 2006, Oracle. Todos os direitos reservados.
Visão Geral do Exercício:
Executar uma Recuperação de Mídia de Bloco 
Este exercício aborda os seguintes tópicos: 
• Detecção de danos 
• Identificação do local do dano 
• Recuperação do dano usando a recuperação de 
mídia de bloco 
Copyright © 2006, Oracle. Todos os direitos reservados.
Monitorando e Gerenciando a Memória
Copyright © 2006, Oracle. Todos os direitos reservados.
Objetivos 
Ao concluir esta lição, você será capaz de: 
• Descrever os componentes da memória na SGA 
• Implementar o Gerenciamento Automático da 
Memória Compartilhada 
• Configurar manualmente os parâmetros da SGA 
• Configurar o gerenciamento automático da memória 
PGA 
Copyright © 2006, Oracle. Todos os direitos reservados.
Gerenciamento de Memória: Visão Geral 
O DBA deve considerar o gerenciamento de memória 
como parte essencial de seu trabalho porque: 
• O volume de memória disponível é finito 
• A alocação de mais memória para atender a certos 
tipos de funções pode melhorar o desempenho geral 
• A alocação de memória ajustada automaticamente é, 
com freqüência, a configuração adequada, mas 
ambientes específicos ou até mesmo condições de 
curto prazo podem exigir mais atenção 
Copyright © 2006, Oracle. Todos os direitos reservados.
Estruturas de Memória Oracle
SGA
Java pool Cache de bufferdo banco de dados
Shared pool
Buffer de
redo log
Large poolStreams pool
Processo
do servidor
1
PGA
Processo
do servidor
2
PGA
Processo
de
background
PGA
Keep buffer 
cache
Recycle 
buffer cache
Caches de buffer com
tamanho de bloco nK
Copyright © 2006, Oracle. Todos os direitos reservados.
Cache de Buffer
Arquivos de dados
SGA
Fila de 
checkpoints
....
DBWn
Servidor
DB_BLOCK_SIZE
DB_CACHE_SIZE
DB_RECYCLE_CACHE_SIZE
DB_KEEP_CACHE_SIZE
Listas 
LRU
....
Cache de buffer do 
banco de dados
Copyright © 2006, Oracle. Todos os direitos reservados.
Usando Vários Pools de Buffers
SGA
Caches de buffer
do banco de dados
Keep pool 
Recycle pool 
Pool default 
Copyright © 2006, Oracle. Todos os direitos reservados.
Usando Vários Pools de Buffers
CREATE INDEX cust_idx … 
STORAGE (BUFFER_POOL KEEP …); 
ALTER TABLE oe.customers 
STORAGE (BUFFER_POOL RECYCLE); 
ALTER INDEX oe.cust_lname_ix 
STORAGE (BUFFER_POOL KEEP); 
Copyright © 2006, Oracle. Todos os direitos reservados.
Shared pool
Cache de
biblioteca
Cache de
dicionário de
dados
UGA
Shared pool
Shared pool
Shared Pool 
• O tamanho é especificado pelo uso de 
SHARED_POOL_SIZE. 
• O cache de biblioteca contém o texto da instrução, o 
código analisado por parse e o plano de execução. 
• O cache de dicionário de dados contém definições 
de tabelas, colunas e privilégios das tabelas de 
dicionário de dados. 
• A UGA (User Global Area) contém informações da 
sessão quando o servidor compartilhado Oracle é 
usado. 
Copyright © 2006, Oracle. Todos os direitos reservados.
Shared pool
Cache de buffer
do banco de dados
Buffer de
redo log
Large pool
Large Pool 
• Pode ser configurado como uma área separada da 
memória na SGA 
• É dimensionado pelo parâmetro LARGE_POOL_SIZE
• É usado no armazenamento de dados na memória para: 
– UGA 
– Operações de backup e restauração 
– Sessões dos servidores compartilhados 
– Mensagens de consulta paralela 
Cachede biblioteca
Cache de dicionário
UGA Backup
Sessão
Paralelo
Copyright © 2006, Oracle. Todos os direitos reservados.
Java Pool 
• Pode ser configurado como uma área separada da 
memória na SGA 
• É dimensionado pelo parâmetro JAVA_POOL_SIZE
• É usado para armazenar na memória todos os 
códigos Java específicos da sessão e dados da JVM 
Shared pool
Cache de buffer
do banco de dados
Buffer de
redo log
Large poolCache de biblioteca
Cache de dicionário Java pool
Copyright © 2006, Oracle. Todos os direitos reservados.
Buffer de Redo Log
SQL> UPDATE employees
2 SET salary=salary*1.1
3 WHERE employee_id=736;
LGWR
Arquivos de controle
ARCn
Arquivos de log
armazenadosArquivos
de redo log
Arquivos
de dados
Shared pool
Buffer de
redo log
Cache de buffer
do banco de dados Cache de biblioteca
Cache de dicionário
Processo do
servidor
Copyright © 2006, Oracle. Todos os direitos reservados.
Gerenciamento Automático da Memória 
Compartilhada: Visão Geral
• Adapta-se automaticamente a alterações de carga de 
trabalho
• Maximiza a utilização da memória
• Ajuda a eliminar erros de falta de memória
Cache de buffer
Large pool
Shared pool
Java pool
Cache de buffer
Large pool
Shared pool
Java pool
Usuários on-line Jobs batch
Streams pool Streams pool
Exemplo:
Copyright © 2006, Oracle. Todos os direitos reservados.
Vantagens do Gerenciamento Automático
da Memória Compartilhada
DB_CACHE_SIZE
SHARED_POOL_SIZE
LARGE_POOL_SIZE
JAVA_POOL_SIZE
STREAMS_POOL_SIZE
Tamanho total da SGA
SGA_TARGET
Copyright © 2006, Oracle. Todos os direitos reservados.
Como Funciona o ASMM 
• O ASMM baseia-se em informações de carga de 
trabalho capturadas pelo MMAN em background. 
• O MMAN usa advisors de memória. 
• A memória é movida para o local em que ela é mais 
necessária. 
• Se for usado um SPFILE (o que é recomendado): 
– Os tamanhos dos componentes serão salvos entre 
shutdowns. 
– Os valores salvos serão usados para fazer bootstrap 
do tamanho dos componentes. 
– Não será necessário reaprender os valores ideais. 
Copyright © 2006, Oracle. Todos os direitos reservados.
Configurando o ASMM com o
Database Control
Copyright © 2006, Oracle. Todos os direitos reservados.
Configurando o ASMM Manualmente 
Para atribuir tamanhos mínimos a alguns 
componentes da memória, será necessário configurar 
manualmente esses tamanhos:
• Se, por qualquer motivo, os tamanhos calculados 
automaticamente não servirem aos seus 
propósitos
• Se houver pequenas altas ou baixas no volume de 
memória necessária não detectadas pelo ASMM
• Se você simplesmente quiser garantir um volume 
mínimo de memória para um componente 
específico
Copyright © 2006, Oracle. Todos os direitos reservados.
Configurando o ASMM Manualmente
SGA_TARGET = 8G
Tamanho total da SGA = 8 GB
Java pool
Cache de buffer
do banco de dados
Buffer de
redo logShared pool
Large poolSGA fixa
STATISTICS_LEVEL = TYPICAL
Auto-ajustável Auto-ajustável
Auto-ajustávelAuto-ajustável
Streams
pool
Pool de
buffers keep
Auto-ajustável
Copyright © 2006, Oracle. Todos os direitos reservados.
Comportamento de Parâmetros
Auto-ajustáveis da SGA 
• Quando SGA_TARGET não é definido ou é igual a zero: 
– Os parâmetros auto-ajustáveis apresentam 
comportamento normal 
– Talvez seja necessário aumentar a definição de 
SHARED_POOL_SIZE em relação aos valores usados em 
versões anteriores do banco de dados. 
• Quando SGA_TARGET é definido como um valor 
diferente de zero: 
– O valor default dos parâmetros auto-ajustáveis é zero 
– O valor especificado é usado como um tamanho mínimo 
SELECT SUM(bytes)/1024/1024 size_mb 
FROM v$sgastat WHERE pool = 'shared pool';
SELECT component, current_size/1024/1024 size_mb 
FROM v$sga_dynamic_components;
Copyright © 2006, Oracle. Todos os direitos reservados.
Comportamento de Parâmetros da SGA
Ajustados Manualmente 
• Alguns componentes não são auto-ajustáveis. 
– Caches de buffer KEEP e RECYCLE
– Caches com diferentes tamanhos de bloco 
– Buffer de log 
• É necessário configurar esses componentes 
manualmente usando os parâmetros do banco de 
dados. 
• A memória usada por esses componentes reduz o 
volume de memória disponível para o auto-ajuste
da SGA.
Copyright © 2006, Oracle. Todos os direitos reservados.
Usando a View V$PARAMETER
SGA_TARGET = 8G
SELECT name, value, isdefault 
FROM v$parameter
WHERE name LIKE '%size';
DB_CACHE_SIZE = 0
JAVA_POOL_SIZE = 0
LARGE_POOL_SIZE = 0
SHARED_POOL_SIZE = 0
STREAMS_POOL_SIZE = 0 
Copyright © 2006, Oracle. Todos os direitos reservados.
Modificando o Parâmetro SGA_TARGET
• O parâmetro de inicialização SGA_TARGET:
– É dinâmico
– Pode ser aumentado até o valor de SGA_MAX_SIZE
– Pode ser reduzido até que todos os componentes 
atinjam o tamanho mínimo
• Uma alteração no valor de SGA_TARGET afeta 
somente os componentes dimensionados 
automaticamente.
Copyright © 2006, Oracle. Todos os direitos reservados.
Tamanho da
SGA = 8 GB
Desativando o ASMM 
• A definição de SGA_TARGET como zero desativa o 
auto-ajuste. 
• Os parâmetros auto-ajustáveis são definidos como 
os respectivos tamanhos atuais. 
• O tamanho da SGA como um todo não é afetado. 
Parâmetros:
sga_target = 8G
shared_pool_size = 1G
Parâmetros:
sga_target = 0
db_cache_size = 5G
shared_pool_size = 2G
large_pool_size = 512M
java_pool_size = 256M
streams_pool_size = 256M
Tamanho da
SGA = 8 GB
Valores originais
Copyright © 2006, Oracle. Todos os direitos reservados.
Redimensionando Manualmente os 
Parâmetros da SGA Dinâmica 
• Em parâmetros auto-ajustáveis, o redimensionamento 
manual: 
– Resultará no redimensionamento imediato do 
componente se o novo valor for maior que o valor atual 
– Alterará o tamanho mínimo se o novo valor for menor 
que o tamanho atual 
• O redimensionamento de parâmetros ajustados 
manualmente só afeta a parte ajustável da SGA. 
Copyright © 2006, Oracle. Todos os direitos reservados.
PGA (Program Global Area)
 PGA
Processo
do servidor PGA
 Shared pool
ou
large pool 
PGA
Conexões
dedicadas
Servidor
compartilhado PGA
Conexões
de servidor
compartilhado
 Áreas
privadas
para 
SQL 
 Cursor 
 e área 
para 
 SQL 
 Memória
da
sessão
 Área de
trabalho 
Copyright © 2006, Oracle. Todos os direitos reservados.
Gerenciamento Automático da Memória PGA 
• Ajusta dinamicamente o volume de memória PGA 
dedicado às áreas de trabalho, com base no 
parâmetro PGA_AGGREGATE_TARGET
• Ajuda a maximizar o desempenho de todas as 
operações SQL que usam muita memória 
• É ativado por default 
Copyright © 2006, Oracle. Todos os direitos reservados.
Recursos de Gerenciamento da PGA 
• Estatísticas para gerenciar o parâmetro de 
inicialização PGA_AGGREGATE_TARGET, como PGA 
cache hit percentage
• As views utilizadas para monitorar a área de trabalho 
da PGA são: 
– v$sql_workarea_histogram 
– v$pgastat 
– v$sql_workarea_active 
– v$sql_workarea 
– v$tempseg_usage 
• As views utilizadas para auxiliar no 
dimensionamento da área de trabalho da PGA são: 
– v$pga_target_advice 
– v$pga_target_advice_histogram 
Copyright © 2006, Oracle. Todos os direitos reservados.
Usando o Memory Advisor para
Dimensionar a SGA
Copyright © 2006, Oracle. Todos os direitos reservados.
Usando o Memory Advisor
para Dimensionar a PGA
Copyright © 2006, Oracle. Todos os direitos reservados.
Uso de Memória Eficiente: Diretrizes 
• Tente adequar a SGA à memória física. 
• Faça um ajuste para uma relação de cache hits de 
buffer mais alta, com os seguintes cuidados: 
– Até varreduras integrais de tabela válidas e 
necessárias reduzem essa relação. 
– É possível que leituras repetidas desnecessárias dos 
mesmos blocos estejam aumentando a relação 
artificialmente. 
• Use o Memory Advisor. 
Copyright © 2006, Oracle. Todos os direitos reservados.
Diretrizes de Ajuste da Memória
para o Cache de Biblioteca 
• Estabeleça convenções de formatação para 
desenvolvedores de forma que as instruções SQL 
tenham correspondentes no cache.

Continue navegando