1CENTRO UNIVERSITÁRIO MAURICIO DE NASSAUESPECIALIZAÇÃO EM BANCO DE DADOS ORACLE        FABIANE TELLES L. MACIEL      JOSÉ ...
2  FABIANE TELLES L. MACIELJOSÉ KARLOS SOARES DA SILVA   WASHINGTON LUIZ VAZORACLE DATA GUARD    Trabalho realizado pelos ...
3INDICEINTRODUÇÃO .................................................................................................... 41 ...
4INTRODUÇÃO         As operações comerciais eficazes, o atendimento ao cliente de alta qualidade,a conformidade com as nor...
52 DATA GUARD                       “O Active Data Guard 11g é uma solução com retorno rápido! Nós                       f...
6    Oracle Active Data Guard 11g estende a funcionalidade da Guarda básico dedados, permitindo o acesso somente leitura a...
7a continuidade dos negócios minimizando o impacto do tempo de inatividadeplanejado e não planejado.      Os bancos de dad...
8pelo SQL Apply não poderem ser modificados, outras tabelas locais podem seradicionadas e estruturas locais de índice pode...
93 COMO O DATA GUARD FUNCIONA – DETALHES TÉCNICOS      Uma configuração do Data Guard inclui um banco de dados de produção...
10      O Data Guard 11g Release 2 é projetado para reduzir o impacto nodesempenho principal do transporte síncrono. Os da...
11potencial de uma pequena quantidade de perda de dados uma vez que não hágarantia de que todos os dados de recuperação te...
124 MODOS DE PROTEÇÃO      O Data Guard fornece três modos de proteção de dados para equilibrarcustos, disponibilidade, de...
135 SERVIÇOS DE APLICAÇÃO DO DATA GUARD      Os Serviços de aplicação leem os dados de recuperação de um arquivo deredo lo...
146 REDO APPLY - BANCO DE DADOS FÍSICO EM STANDBY      Um banco de dados físico em standby aplica os dados de recuperaçãor...
157 REDO APPLY E ACTIVE DATA GUARD      A opção Active Data Guard inclui um número de recursos que ampliam acapacidade do ...
16• O Active Data Guard 11g Release 2 possibilita o reparo automático de blocoscorrompidos. A perda de dados no nível de b...
178 SQL APPLY - BANCO DE DADOS FÍSICO EM STANDBY        Um banco de dados standby lógico contém as mesmas informações lógi...
189 RESOLUÇÃO AUTOMÁTICA DE FALHAS       Nos casos onde os bancos de dados principal e em standby se desconectam(falhas na...
1910 VALIDAÇÃO DE DADOS ORACLE      Uma das vantagens mais significativas do Data Guard é a capacidade de usaros processos...
2011 GERENCIANDO UMA CONFIGURAÇÃO DO DATA GUARD      Os bancos de dados principal e em standby e suas diversas interaçõesp...
2112 MELHORES PRÁTICAS DO DATA GUARD      Data Guard é a solução Oracle otimizado para disponibilidade de dados eproteção....
22Zero proteção contra perda de dados e               Protecção de Dados máxima Guarda ou adisponibilidade para banco de d...
23corrompidos,        transparente     para    a uma licença GoldenGate Oracle.aplicação e do usuárioA pré-produção de tes...
24Data Protection para os dados que       Sempre    que   possível, coloque osresidem fora do banco de dados Oracle   dado...
25   Modo a máxima disponibilidade garante que nenhuma perda de dados irá    ocorrer nos casos em que o banco de dados pr...
2612.2 Gestor de Recuperação de usar para criar Bancos de Dados       A Oracle recomenda que você use o Recovery Manager (...
27       dados    primário. (Restauração    requer    várias   etapas,    incluindo   o       armazenamento de backup loca...
2812.4 Estratégia de arquivamento e Configuração          Este estratégia de arquivamento é baseada nos seguintes pressupo...
29                            Nota: Se a área de recuperação rápida é usado, então                            este formato...
30*.   LOG_ARCHIVE_DEST_1         =   SERVIÇO      =   SALES_stby    SYNC    AFFIRMNET_TIMEOUT = 30     REABRIR    =   300...
31Set DB_BLOCK_CHECKSUM DB_BLOCK_CHECKSUM = FULL e DB_BLOCK_CHECKING=MEDIUMDB_BLOCK_CHECKING=MEDIUM ou FULL       Refazer ...
3212 CRIANDO UMA BASE DE RÉPLICA FÍSICA       Nos capítulos anteriores verificamos o que é o Oracle DataGuard, qual suafin...
335. Ainda no banco de produção, realizar backup um backup da base:RMAN> run {backup database format        /tmp/bkp_cold_...
34Database altered.7. Ainda no SQLPLUS, criar um PFILE a partir do SPFILESQL> create pfile=/tmp/initteste.ora from spfile;...
35*.log_archive_dest_1=’LOCATION=+ORADATA/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=standby’*.log_archive_dest_2=’...
3616. Agora iremos começar a restaurar os controlfiles no servidor Standby , via RMAN ecolocando a instancia em modo mount...
37channel           ORA_DISK_1:           restoring          datafile          00002           to/home/oracle/app/oracle/o...
38channel           ORA_DISK_1:           reading           from           backup           piece/home/oracle/app/oracle/f...
39*.FAL_SERVER=standby*.FAL_CLIENT=standby*.db_recovery_file_dest_size=4039114752*.db_recovery_file_dest=/home/oracle/app/...
40Services Summary…Service “orcl” has 1 instance(s).Instance “orcl”, status UNKNOWN, has 1 handler(s) for this service…The...
41TNS Ping Utility for Linux: Version 11.2.0.2.0 - Production on 13-DEC-2012 16:21:53Copyright (c) 1997, 2010, Oracle.    ...
4226, O Dataguard faz uso de Standby Redologs para realizar a replicação. Nas duasinstancias (principal e standby), deverá...
43Wed Dec 13 22:18:57 BRST 2012Media Recovery Log/home/oracle/app/oracle/flash_recovery_area/standby/012_01_04/thread_1_se...
44REFERÊNCIAS BIBLIOGRÁFICASBANCO DE DADOS ORACLE 11G RELEASE 2<http://www.oracle.com/technetwork/pt/database/enterprise-e...
Upcoming SlideShare
Loading in …5
×

Oracle Data Guard

1,595
-1

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,595
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
93
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Oracle Data Guard

  1. 1. 1CENTRO UNIVERSITÁRIO MAURICIO DE NASSAUESPECIALIZAÇÃO EM BANCO DE DADOS ORACLE FABIANE TELLES L. MACIEL JOSÉ KARLOS SOARES DA SILVA WASHINGTON LUIZ VAZ ORACLE DATA GUARD Recife 2012
  2. 2. 2 FABIANE TELLES L. MACIELJOSÉ KARLOS SOARES DA SILVA WASHINGTON LUIZ VAZORACLE DATA GUARD Trabalho realizado pelos discentes Fabiane Telles L. Maciel, José Karlos Soares da Silva e Washington Luiz Vaz para obtenção de nota na disciplina Procedimentos de Contingência e Alta Disponibilidade, ministrada pelo professor Flavio Rocha Recife 2012
  3. 3. 3INDICEINTRODUÇÃO .................................................................................................... 41 DATA GUARD .................................................................................................. 5 1.1 Visão geral do Data Guard .................................................................... 62 COMO O DATA GUARD FUNCIONA – DETALHES TÉCNICOS ................... 9 2.1 Serviços de transporte do Data Guard ................................................. 93 MODOS DE PROTEÇÃO ................................................................................ 124 SERVIÇOS DE APLICAÇÃO DO DATA GUARD ............................................ 135 REDO APPLY - BANCO DE DADOS FÍSICO EM STANDBY .......................... 146 REDO APPLY E ACTIVE DATA GUARD ......................................................... 157 SQL APPLY - BANCO DE DADOS FÍSICO EM STANDBY ............................. 178 RESOLUÇÃO AUTOMÁTICA DE FALHAS ...................................................... 189 VALIDAÇÃO DE DADOS ORACLE ................................................................. 1910 GERENCIANDO UMA CONFIGURAÇÃO DO DATA GUARD ....................... 2011 MELHORES PRÁTICAS DO DATA GUARD .................................................. 21 11.1 Melhores práticas para o modo de proteção: ...................................... 24 11.2 Gestor de Recuperação de usar para criar Bancos de Dados ............ 26 11.3 Usar o modo registro FORÇA ............................................................. 27 11.4 Estratégia de arquivamento e Configuração ...................................... 2812 CRIANDO UMA BASE DE RÉPLICA FÍSICA ................................................. 32REFERÊNCIAS BIBLIOGRÁFICAS .................................................................... 44
  4. 4. 4INTRODUÇÃO As operações comerciais eficazes, o atendimento ao cliente de alta qualidade,a conformidade com as normas do governo e a proteção dos ativos de informaçõescorporativas exigem o mais alto nível de proteção e disponibilidade de dados. Sendoassim, não é de surpreender que a proteção e a disponibilidade de dados estejamentre as principais prioridades de empresas de todos os tamanhos e diferentesáreas. O backup e a recuperação a partir de fita, o espelhamento remoto doarmazenamento ou o envio de log do banco de dados são soluções tradicionais deproteção de dados e recuperação de desastres (DR). Infelizmente, essas soluçõesnão conseguem fornecer de forma confiável objetivos agressivos de pontos derecuperação (RPO - proteção de dados) e tempo de recuperação (RTO -disponibilidade de dados). Eles também não conseguem fornecer um retorno deinvestimento adequado devido aos altos custos de aquisição e utilização ineficaz desistemas em standby que ficam ociosos até que sejam chamados para assumir umpapel principal. O Data Guard está incluído no Oracle Database Enterprise Edition e forneceos softwares de gerenciamento, monitoramento e automação para criar e manter umou mais bancos de dados sincronizados em standby que protegem os dados defalhas, desastres, erros e corrupção. Ele pode atender às exigências de Altadisponibilidade e Recuperação de desastres e é ideal para complementar o OracleReal Application Clusters. O Data Guard possui o conhecimento necessário do banco de dados Oraclepara fornecer o mais alto nível de proteção para os dados Oracle. O Data Guard édireto para implementar e gerenciar. Os administradores estão sempre certos sobrea capacidade de um banco de dados em standby assumir o papel de produção,eliminando o risco da empresa de tempo de failover. Finalmente, em uma época emque todas as empresas precisam reduzir os gastos, os bancos de dados em standbydo Data Guard fornecem alto retorno do investimento quando usados paraconsultas, relatórios, backups, testes ou implantação de upgrades no banco dedados e outras atividades de manutenção, enquanto também fornecem proteçãocontra desastres.
  5. 5. 52 DATA GUARD “O Active Data Guard 11g é uma solução com retorno rápido! Nós facilmente atribuímos duas funções ao nosso banco de dados em standby de dez terabytes: proteção contra desastres e acesso somente para leitura seguro para nossas aplicações de comércio eletrônico voltadas para o cliente. Ficamos felizes em descobrir, após avaliar outras alternativas, que utilizar nosso banco de dados em standby Data Guard existente era a solução mais simples para fornecer aos clientes acesso constante a informações atualizadas” (Sue Merrigan, Intermap Technologies) Oracle Data Guard é a solução para proteção de dados da Oracle,disponibilidade de dados e recuperação de desastres. Oracle Data Guard oferece o gerenciamento, monitoramento e software deautomação para criar e manter um ou mais bancos de dados standby para protegeros dados da Oracle contra falhas, desastres, erro humano, e corrupções de dados,fornecendo alta disponibilidade para aplicações de missão crítica. Arquitetura flexível Data Guard oferece proteção de dados e disponibilidadeideais:  Alterações de dados são transmitidas diretamente da memória, isolando a espera de I / O corrupções que ocorrem no primário.  Um banco de dados de espera usa um software de código diferente do que o caminho-primário - isolando-o de erros de firmware e software que impactam o banco de dados principal.  Oráculo detecção da corrupção de dados assegura que é logicamente e fisicamente compatíveis antes de ser aplicado a um banco de dados em espera.  Data Guard detecta corrupções silenciosas provocadas por erros de hardware (memória, CPU, disco, placa de rede) e falhas na transferência de dados, e os impede de afetar o banco de dados de espera.  Um banco de dados de espera é usado para realizar a manutenção planejada de forma rolamento, minimizando o tempo de inatividade e eliminar os riscos inerentes à introdução de mudanças para ambientes de produção.
  6. 6. 6 Oracle Active Data Guard 11g estende a funcionalidade da Guarda básico dedados, permitindo o acesso somente leitura a um banco de dados físico de esperaenquanto continuamente aplicar as alterações recebeu do banco de dadosprimário. Isso aumenta o desempenho e retorno sobre o investimento, transferindoconsultas ad-hoc, acesso baseado na Web, relatórios e cópias de segurança dobanco de dados principal, enquanto também fornecendo proteção contra desastres.2.1 Visão geral do Data Guard O Oracle Data Guard proporciona a infraestrutura de software de automação,monitoração e gerenciamento para criar e manter um ou mais bancos de dados emstandby para proteger os dados Oracle contra falhas, desastres, erros e corrupçãode dados. Existem dois tipos de banco de dados em standby. Um standby físico usaRedo Apply para manter uma réplica exata, bloco a bloco, do banco de dadosprincipal. Um standby lógico usa SQL Apply e contém as mesmas informaçõeslógicas que o banco de dados principal, embora a organização física e a estruturados dados possam ser diferentes. Os administradores podem escolher fazer o failover manual ou automático daprodução para um sistema em standby se o principal falhar para poder manter a altadisponibilidade para aplicativos de missão crítica. A arquitetura do Data Guard édescrita na Figura 1. O Data Guard é um dos inúmeros recursos integrados de Altadisponibilidade (HA) do banco de dados Oracle descritos na Figura 2 que garantem
  7. 7. 7a continuidade dos negócios minimizando o impacto do tempo de inatividadeplanejado e não planejado. Os bancos de dados em standby Data Guard fornecem alto retorno doinvestimento também suportando consultas ad-hoc, geração de relatórios, backupsou atividades de teste, ao mesmo tempo em que fornecem proteção contradesastres. Especificamente: • A opção Active Data Guard, disponível a partir do Oracle Database 11g, permite que um banco de dados físico seja usado para aplicações somente leitura enquanto recebe simultaneamente atualizações do banco de dados principal. As consultas executadas em um banco de dados em standby ativo recebem resultados atualizados. • O recurso Snapshot Standby permite que um banco de dados físico em standby seja aberto como leitura-gravação para testes ou qualquer outra atividade que exija uma réplica dos dados de produção para leitura-gravação. Um Snapshot Standby continua a receber, mas não a aplicar, as atualizações geradas pelo banco de dados principal. Essas atualizações são aplicadas no banco de dados em standby automaticamente quando o Snapshot Standby é convertido de volta para um banco de dados físico em standby. Os dados do banco de dados principal sempre permanecem protegidos. • Um banco de dados lógico em standby tem a flexibilidade adicional de estar aberto como leitura-gravação. Apesar de os dados que estão sendo mantidos
  8. 8. 8pelo SQL Apply não poderem ser modificados, outras tabelas locais podem seradicionadas e estruturas locais de índice podem ser criadas para otimizar ageração de relatórios ou para utilizar o banco de dados em standby como umdata warehouse ou para transformar a informação usada para carregardatamarts.• Os bancos de dados em standby podem ser usados para realizar manutençãoplanejada de maneira contínua. A manutenção é realizada primeiro em umbanco de dados em standby. A produção é chaveada para o banco de dadosem standby quando as tarefas de manutenção estiverem concluídas. O únicotempo de inatividade é o temponecessário para efetuar essa operação dechaveamento. Isso aumenta a disponibilidade e reduz os riscos ao realizarmanutenção no hardware ou no sistema operacional, manutenção no site ou aoaplicar novos conjuntos de patches do banco de dados, atualizar versõescompletas de banco de dados ou implementar outras alterações significativas nobanco de dados.• Um banco de dados físico em standby, por ser uma réplica exata do banco dedados principal, pode também ser usado para tirar a sobrecarga dos bancos dedados principais ao realizar backups.
  9. 9. 93 COMO O DATA GUARD FUNCIONA – DETALHES TÉCNICOS Uma configuração do Data Guard inclui um banco de dados de produção,chamado de banco de dados principal, e até 30 bancos de dados em standby. Osbancos de dados principal e em standby se conectam através de TCP/IP usando oOracle Net Services. Não há restrições em relação à localização dos bancos dedados desde que eles possam se comunicar entre eles. Um banco de dados emstandby é criado inicialmente a partir de uma cópia de backup do banco de dadosprincipal. O Data Guard sincroniza automaticamente o banco de dados principal etodos os seus bancos de dados em standby transmitindo os dados de recuperação(informação usada pela Oracle para recuperar transações) do banco de dadosprincipal e aplicando-os no banco de dados em standby.3.1 Serviços de transporte do Data Guard Conforme os usuários confirmam as transações no banco de dados principal,o Oracle gera registros de recuperação e os grava em um arquivo de log on-linelocal. Os serviços de transporte do Data Guard transmitem os dados de recuperaçãopara um banco de dados em standby tanto de forma síncrona como assíncrona,onde eles são gravados em um arquivo de redo log de standby (etapa um na Figura3). Os dados de recuperação podem ser transmitidos em um formato comprimidopara reduzir os requisitos de largura de banda através da Opção de CompressãoAvançada Oracle. O Transporte de dados de recuperação síncrono (SYNC) faz com que obanco de dados principal aguarde por uma confirmação do banco de dados emstandby de que os dados de recuperação foram gravados em disco antes dereconhecer o sucesso da confirmação para o aplicativo, proporcionando proteçãocom zero de perda de dados. O desempenho do banco de dados principal éimpactado pela soma do tempo necessário para que a E/S do arquivo de redo logde standby seja concluída e o tempo do percurso de ida e volta da rede.
  10. 10. 10 O Data Guard 11g Release 2 é projetado para reduzir o impacto nodesempenho principal do transporte síncrono. Os dados de recuperação são entãotransmitidos para o standby remoto em paralelo com a E/S do arquivo de log on-linelocal no banco de dados principal, evitando de forma efetiva que a E/S de standbyimpacte o tempo total do percurso de ida e volta. Isso possibilita maior separaçãogeográfica entre os bancos de dados principal e em standby em uma configuraçãosíncrona com perda de dados zero. Em redes com baixa latência, isso pode reduziro impacto da replicação do SYNC no desempenho do banco de dados principal parapróximo de zero, tornando interessante complementar um standby ASYNC remotocom um standby SYNC local para proteção de alta disponibilidade com perda dedados zero contra falhas no componente e no banco de dados (falha no SAN, porexemplo). O Transporte assíncrono dos dados de recuperação (ASYNC) evita o impactono desempenho do banco de dados principal fazendo com que o banco de dadosprincipal reconheça o sucesso da confirmação para o aplicativo sem aguardar peloreconhecimento de que os dados de recuperação tenham sido recebidos pelo bancode dados em standby. Os aprimoramentos no Data Guard 11g eliminaramvirtualmente qualquer impacto no desempenho do banco de dados principal aoenviar diretamente do buffer de log principal (em vez de um arquivo de redo log on-line) e ao melhorar o throughput de rede em redes de longa distância (WAN) de altalatência. A vantagem de desempenho do ASYNC, entretanto, é acompanhada do
  11. 11. 11potencial de uma pequena quantidade de perda de dados uma vez que não hágarantia de que todos os dados de recuperação tenham sido recebidos pelo bancode dados em standby.
  12. 12. 124 MODOS DE PROTEÇÃO O Data Guard fornece três modos de proteção de dados para equilibrarcustos, disponibilidade, desempenho e proteção de dados. Cada modo usa ummétodo de transporte de dados de recuperação específico e estabelece regras quecontrolam o comportamento da configuração do Data Guard caso o banco de dados principal perca contato com seu banco dedados standby. A tabela a seguir descreve as características de cada modo.
  13. 13. 135 SERVIÇOS DE APLICAÇÃO DO DATA GUARD Os Serviços de aplicação leem os dados de recuperação de um arquivo deredo log de standby, valida-os e, em seguida, os aplica no banco de dados emstandby (etapa dois na Figura 3) usando Redo Apply (standby físico) ou SQL Apply(standby lógico). Observe que os serviços de transporte e de aplicação sãototalmente diferentes. O status ou desempenho da aplicação no standby nãoimpacta o transporte dos dados de recuperação ou o desempenho do banco dedados principal. O isolamento é muito importante. O transporte dos dados derecuperação é o principal determinador do ponto de recuperação, a exposição empotencial à perda de dados. Qualquer coisa que impacte negativamente no transporte irá aumentar opotencial da perda de dados. O transporte dos dados de recuperação emconfigurações síncronas é também o principal determinador do impacto no tempo deresposta e throughput do banco de dados principal. Qualquer coisa que impacte negativamente no transporte em umaconfiguração síncrona pode reduzir o throughput do banco de dados principal eaumentar o tempo de resposta. O isolamento entre o transporte e a aplicação éprojetado para otimizar o desempenho do banco de dados, o tempo de resposta e aproteção dos dados.
  14. 14. 146 REDO APPLY - BANCO DE DADOS FÍSICO EM STANDBY Um banco de dados físico em standby aplica os dados de recuperaçãorecebidos do banco de dados principal através do Processo de RecuperaçãoGerenciada (MRP), uma extensão de recuperação de mídia padrão da Oracle quereconhece o Data Guard usada em todos os bancos de dados Oracle. Um banco dedados físico em standby é idêntico ao banco de dados principal (bloco por bloco) e,portanto, os esquemas de banco de dados, incluindo os índices, são os mesmos. Oprocesso MRP ocorre totalmente em paralelo para obter o máximo desempenho. Ostestes de desempenho do Data Guard 11g conduzidos pela Oracle obtiveram taxasde recuperação de mais de 50 MB/segundo para carga de trabalho estilo OLTP emais de 100 MB/segundo para cargas de caminho direto (veja a seção Exadataposteriormente neste artigo para obter informações sobre os dados de desempenhoespecíficos para o armazenamento Exadata). O Redo Apply é o método maissimples, mais rápido e mais confiável de manter réplicas sincronizadas de um bancode dados principal.
  15. 15. 157 REDO APPLY E ACTIVE DATA GUARD A opção Active Data Guard inclui um número de recursos que ampliam acapacidade do Redo Apply e um banco de dados físico em standby, incluindo: • A consulta em tempo real permite o acesso somente para leitura a um ou mais bancos de dados físicos em standby para consultas, classificação, geração de relatórios, acesso com base na web, etc., enquanto o Redo Apply aplica continuamente alterações recebidas do banco de dados de produção. Nos casos onde a carga de trabalho somente leitura pode ser isolada das transações de leitura-gravação, o Active Data Guard pode efetivamente dobrar a capacidade de produção através de um banco de dados físico em standby existente que estava anteriormente ocioso em papel de standby (é possível adicionar outros bancos de dados em standby ativos à configuração para dimensionar posteriormente a capacidade de somente leitura sem impactar nas transações de leitura-gravação). O Active Data Guard fornece desempenho excepcional – ele pode ser usadopara aplicações de alto throughput onde é impossível para qualquer outro método dereplicação manter o ritmo com o volume de transações gerado pelo banco de dadosde origem. • Os contratos de serviço (SLA) do Active Data Guard podem ser implementados através do parâmetro de sessão STANDBY_MAX_DATA_DELAY. O valor deste parâmetro especifica um limite para a quantidade de tempo (em segundos) permitida entre o momento em que as alterações são confirmadas no banco de dados principal e o momento em que elas podem ser consultadas em um banco de dados em standby ativo (novo com o Data Guard 11g Release 2). O banco de dados em standby ativo retornará um código de erro ORA-3172se o limite for excedido. Os aplicativos podem reagir a este erro da mesma formaque uma desconexão e redirecionar a consulta para outro banco de dados ativo emstandby ou outro banco de dados principal para obter o SLA exigido.
  16. 16. 16• O Active Data Guard 11g Release 2 possibilita o reparo automático de blocoscorrompidos. A perda de dados no nível de bloco normalmente resulta de errosde E/S aleatórios e intermitentes, bem como de corrupções na memória que sãogravadas no disco. Quando o Oracle descobre uma corrupção, ele marca obloco como mídia corrompida, o grava no disco e normalmente retorna oresultado de um erro ORA-1578 para o aplicativo. Nenhuma leitura subsequentedo bloco será bem-sucedida até que o bloco seja recuperado manualmente.Entretanto, se a corrupção ocorrer em um banco de dados principal que tenhaum Active Data Guard em standby, a recuperação da mídia do bloco é realizadaautomaticamente, de forma transparente para o aplicativo, usando uma cópiaboa do bloco do banco de dados em standby. Por outro lado, os blocos ruins nobanco de dados em standby são recuperados automaticamente usando aversão boa do banco de dados principal.
  17. 17. 178 SQL APPLY - BANCO DE DADOS FÍSICO EM STANDBY Um banco de dados standby lógico contém as mesmas informações lógicasque o banco de dados principal, embora a organização física e a estrutura dosdados possam ser diferentes. O SQL Apply mantém o standby lógico sincronizadotransformando os dados de recuperação recebidos do banco de dados principal emdeclarações SQL e, em seguida, executando as declarações SQL em um banco dedados em standby que seja aberto para leitura-gravação. O SQL Apply tem algunsrestrições em relação aos tipos de dados, tipos de tabelas e tipos de operações DDLe DML (consulte a documentação para saber os tipos de dados não suportados e osatributos de armazenagem). Use o SQL Apply se atender aos pré-requisitos e se: ‘ “O Standby lógico do Data Guard é um componente importante de uma plataforma de hardware e software estratégica e de longa duração, aumentando drasticamente a capacidade e a escalabilidade de nossos usuários. Após a implementação desta solução completa, obtivemos melhorias de desempenho de 50 a 95% na maioria de nossas operações de processamento em massa.” (David Sink, e-Rewards Market Research)
  18. 18. 189 RESOLUÇÃO AUTOMÁTICA DE FALHAS Nos casos onde os bancos de dados principal e em standby se desconectam(falhas na rede ou no servidor em standby), e dependendo do modo de proteçãousado, o banco de dados principal continuará a processar as transações e acumularum log de dados de recuperação que não podem ser enviados para o standby atéque uma nova conexão de rede possa ser estabelecida. Enquanto estiver nesteestado, o Data Guard monitora continuamente o status do banco de dados emstandby, detecta quando a conexão for restabelecida e sincroniza novamente deforma automática o banco de dados em standby com o principal. Nenhumaintervenção administrativa é necessária desde que os log arquivados necessáriospara sincronizar novamente o banco de dados em standby estejam disponíveis emdisco no banco de dados principal. No caso de uma parada longa onde não é viávelreter os logs arquivados necessários, um standby físico pode ser sincronizadonovamente através do backup incremental rápido RMAN do banco de dadosprincipal.
  19. 19. 1910 VALIDAÇÃO DE DADOS ORACLE Uma das vantagens mais significativas do Data Guard é a capacidade de usaros processos da Oracle para validar os dados de recuperação antes de seremaplicados no banco de dados em standby. O Data Guard é uma arquitetura flexívelassociada onde os bancos de dados em standby permanecem sincronizadosaplicando os blocos de recuperação, completamente desassociados de possíveiscorrupções nos arquivos de dados que podem ocorrer no banco de dados principal.Os dados de recuperação também são enviados diretamente da memória (áreaglobal do sistema) e, portanto, são completamente desassociados de corrupções deE/S no banco de dados principal. Verificações para detecção de dados corrompidos ocorrem em váriasinterfaces-chave durante o transporte e a aplicação dos dados de recuperação. Ocódigo de software executado no banco de dados em standby é tambémfundamentalmente diferente do código do banco de dados principal, isolando deforma eficaz o banco de dados em standby de erros no firmware e no software quepodem impactar o banco de dados principal. O standby físico também utiliza o parâmetro: DB_LOST_WRITE_PROTECTdisponível com o Oracle Database 11g Release 1. Uma gravação perdida ocorrequando um subsistema de E/S reconhece a conclusão de uma gravação enquantona verdade a gravação não ocorreu no armazenamento persistente. Em uma leiturade bloco subsequente, o subsistema de E/S retorna a versão obsoleta do bloco dedados, que pode ser usada para atualizar outros blocos do banco de dados e,portanto, corrompendo-o. Quando o parâmetro de inicializaçãoDB_LOST_WRITE_PROTECT estiver definido, o banco de dados irá gravar leiturasdo bloco de cache do buffer no redo log e essa informação será usada pelo recursoRedo Apply para determinar se houve uma gravação perdida, evitando o tempo deinatividade e a perda de dados.
  20. 20. 2011 GERENCIANDO UMA CONFIGURAÇÃO DO DATA GUARD Os bancos de dados principal e em standby e suas diversas interaçõespodem ser gerenciadas através do SQL*Plus. O Data Guard também oferece umaestrutura de gerenciamento distribuído chamada Data Guard Broker, que automatizae centraliza a criação, manutenção e monitoramento de uma configuração do DataGuard. Os administradores podem interagir com o Broker usando o EnterpriseManager Grid Control ou a interface de linha de comando do Broker (DGMGRL). O Enterprise Manager Grid Control inclui assistentes que simplificam acriação de uma configuração do Data Guard. As principais métricas do Data Guard,como o atraso na aplicação, atraso no transporte, taxa de dados de recuperação estatus da configuração, estão incluídos em um novo Console de Alta disponibilidadeconsolidado (consulte a Figura 4). O Enterprise Manager habilita a análise de tendência histórica nas métricasdo Data Guard que ele monitora; por exemplo, qual o desempenho da métrica nasúltimas 24 horas, ou nos últimos 5 dias, etc. Além disso, através do EnterpriseManager, é possível configurar alarmes de notificação de forma que osadministradores possam ser notificados caso a métrica ultrapasse o valor do limiteconfigurado.
  21. 21. 2112 MELHORES PRÁTICAS DO DATA GUARD Data Guard é a solução Oracle otimizado para disponibilidade de dados eproteção. É excelente em simples, rápido e confiável replicação unidirecional de umcompleto banco de dados Oracle para oferecer alta disponibilidade e recuperação dedesastres. Data Guard oferece várias opções de implantação que abordaminterrupções não planejadas, pré-produção, testes e manutenção planejada. ActiveData Guard, uma extensão de capacidades básicas do Data Guard, ainda permite odescarregamento de produção de somente leitura para uma carga de trabalhosincronizado standby físico, reparo automático de blocos de corruptos, e offload debackups incrementais rápidos. O foco do Data Guard é de alta disponibilidade e recuperação dedados. Princípios de design do Data Guard são a simplicidade, alto desempenho etransparência da aplicação. Data Guard não se destina a ser uma solução de replicação completo. OracleGoldenGate é a solução recomendada para as necessidades avançadas de replicação,como o multi-mestre de replicação, replicação granular de um subconjunto de umbanco de dados, muitos para um topologias de replicação e integração dedados. Oracle GoldenGate também oferece opções adicionais para reduzir o tempode inatividade para manutenção e para migrações de plataformas heterogêneas. Dependendo de suas necessidades, a solução mais eficiente para usar podeestar usando Data Guard sozinho, usando Data Guard, com Oracle GoldenGate deforma complementar, ou apenas usando o Oracle GoldenGate.Tabela 1 - Requisitos e dados de opções de implantação da GuardaExigência Implantação de dados Opções Guarda
  22. 22. 22Zero proteção contra perda de dados e Protecção de Dados máxima Guarda ou adisponibilidade para banco de dados máxima disponibilidade (SYNC transporte)Oracle e Redo Apply (standby físico)Perto de zero perda de dados (de um Data Guard desempenho máximo (ASYNCdígito segundos) e disponibilidade para o transporte) e Refazer AplicarOracle DatabaseMulti-site proteção, incluindo topologia Multi-espera configuração do Data Guardcom espera perda zero de dados local e Redo Applypara HA e espera remota assíncrona pararecuperação de desastres geográfica paraOracle DatabaseFailover do banco de dados o mais rápido Data Guard Fast-Start Failover com opossível Oracle Data Guard corretor para detecção automática de falhas e failover de banco de dados. Failover automático de acompanhar aplicativos cliente para o banco de dados nova produção é implementado usando o Oracle Notificação Fast Application (FAN) e Práticas cliente Oracle Melhores de failover.Offload consultas somente leitura e Data Guard ativa. Data Guard ativo poderápidos backups incrementais para um ser comprado em qualquer uma dasbanco de dados sincronizados de seguintes formas: (1) como uma licençaespera. Use o banco de dados de espera autônoma opção para Oracle Databasepara reparar automaticamente blocos Enterprise Edition, ou (2) incluído com
  23. 23. 23corrompidos, transparente para a uma licença GoldenGate Oracle.aplicação e do usuárioA pré-produção de testes Espera instantâneo. A espera instantâneo é um banco de dados físico de espera que está temporariamente abrir leitura / escrita para teste e atividade de leitura / gravação de outro independente de transações de banco de dados primários. A espera instantâneo é facilmente convertido novamente em um banco de dados sincronizados de espera quando o teste for concluído. Snapshot Standby é um recurso incluído de Dados Refazer Guarda Aplicar e é um complemento ideal para o Oracle Real Application Testing.Manutenção planejada: algumas Data Guard transição, transição funçãomigrações de plataforma como o planejada, usando RefazerWindows para o Linux, move-se do centro Aplicar. Refazer Aplicar e espera-primeirode dados, aplicação de patches e patch para a qualificação Aplicar patchessoftware de sistema atualizar ou banco de de 11.2.0.1 em diante. SQL Apply e Datadados Oracle Guard atualizações sem interrupção de banco de dados (10,1 em diante). Data Guard espera Lógico transitória (Upgrades Made Easy) de 11.1.0.7 em diante.
  24. 24. 24Data Protection para os dados que Sempre que possível, coloque osresidem fora do banco de dados Oracle dados do sistema de operação do sistema de arquivos em banco de dados Oracle usando o Oracle Banco de Dados do Sistema de Arquivos (DSPF). Data Guard protege os dados dBFS da mesma forma que quaisquer outros dados Oracle. Dados que devem permanecer nos arquivos do sistema operacional pode ser protegido usando o Oracle ASM Cluster File System (Oracle ACFS) ou espelhamento, armazenamento e Data Guard.12.1 Melhores práticas para o modo de proteção:  Modo de Protecção máxima garante que não haja perda de dados irá ocorrer se a base de dados principal falhar, mesmo no caso de falhas de múltiplas (por exemplo, a falha de rede entre o primário de espera e, em seguida, em um momento posterior, o primário falhar). Isso é reforçado por nunca sinalização sucesso de confirmação de uma transação de banco de dados principal, pelo menos até uma espera Guarda síncrona de dados reconheceu que refazer foi endurecido para o disco. Sem essa confirmação do banco de dados primário vai parar e, eventualmente, encerrar em vez de permitir transações desprotegidos a cometer. Para manter a disponibilidade nos casos em que o banco de dados principal é operacional, mas o banco de dados de espera não é, a melhor prática é sempre ter um mínimo de dois bancos de dados standby síncronas em uma configuração de proteção máxima. Disponibilidade de dados primário não é afectado se receber confirmação de pelo menos um banco de dados síncrona de espera.
  25. 25. 25 Modo a máxima disponibilidade garante que nenhuma perda de dados irá ocorrer nos casos em que o banco de dados principal experimenta a primeira falha para impactar a configuração. Ao contrário do modo de proteção anterior, a disponibilidade máxima vai esperar um máximo de segundos NET_TIMEOUT por uma confirmação de um banco de dados de espera, após o que será sinal de comprometer o sucesso da aplicação e passar para a próxima transação. Disponibilidade banco de dados primário (daí o nome do modo de proteção) não é afetado por uma incapacidade de se comunicar com o modo de espera (por exemplo, devido a falhas de espera ou de rede). Oracle Data Guard vai continuar a executar ping no modo de espera e automaticamente conexão restabelecer e voltar a sincronizar o banco de dados standby quando possível, mas durante o período primário e espera ter divergido haverá perda de dados deve ser um impacto segunda falha do banco de dados primário. Por esta razão, é uma boa prática para monitorar o nível de proteção (simples usando o Enterprise Manager Grid Control) e resolver rapidamente qualquer interrupção na comunicação entre primário e de espera antes de uma segunda falha pode ocorrer. Modo de desempenho máximo (o modo padrão) fornece o mais alto nível de protecção de dados que é possível, sem afetar o desempenho ou a disponibilidade do banco de dados primário. Isso é realizado por permitir que uma transação de cometer tão logo os dados de redo necessários para recuperar a transação é escrita no log de redo on-line local no banco de dados primário (o mesmo comportamento como se não houvesse nenhum banco de dados de espera). Oracle Data Guard transmite refazer o banco de dados de espera diretamente do assíncrona principal log buffer para a gravação de log on-line redo local. Nunca há qualquer espera por reconhecimento de espera. Semelhante a máxima disponibilidade, é uma boa prática para monitorar o nível de proteção (simples usando o Enterprise Manager Grid Control) e resolver rapidamente qualquer interrupção na comunicação entre primário e de espera antes de uma segunda falha pode ocorrer.
  26. 26. 2612.2 Gestor de Recuperação de usar para criar Bancos de Dados A Oracle recomenda que você use o Recovery Manager (RMAN) utilitáriopara simplificar o processo de criação de um banco de dados físico de espera. Você pode criar um banco de dados de espera a partir de cópias desegurança de seu banco de dados primário, ou criar um banco de dados de esperana rede:  Usar o RMAN DUPLICATE TARGET DATABASE FOR STANDBY comando para criar um banco de dados de espera a partir de cópias de segurança de seu banco de dados primário. Você pode usar qualquer cópia de backup do banco de dados principal para criar o banco de dados físico de espera se as necessárias arquivos de log redo arquivados para recuperação completa do banco de dados são acessíveis a sessão do servidor no host de espera. RMAN restaura os arquivos de dados mais recentes, a menos que você executar o SET UNTIL comando.  Usar o RMAN FROM ACTIVE DATABASE opção para criar o banco de dados de espera na rede se um backup de banco de dados pré-existente não é acessível para o sistema de espera. RMAN copia os arquivos de dados diretamente do banco de dados primário para o banco de dados de espera. O banco de dados principal deve ser montado ou aberto. Você deve escolher entre a duplicação ativo e backup baseado. Se você nãoespecificar o FROM ACTIVE DATABASE opção, então, faz o backup RMANbaseada em duplicação. A criação de um banco de dados sobre a rede de espera évantajosa porque:  Você pode transferir dados de redo diretamente para o host remoto através da rede sem ter que seguir os passos de realizar um backup do banco de
  27. 27. 27 dados primário. (Restauração requer várias etapas, incluindo o armazenamento de backup local no banco de dados principal, transferindo o backup através da rede, armazenando o backup localmente no banco de dados de espera, e então restaurar o backup do banco de dados de espera.)  Com a duplicação ativa, você pode fazer backup de um banco de dados (como ele está sendo executado) da Oracle ASM, e restaurar o backup para um host na rede e colocar os arquivos diretamente para o Oracle ASM. Antes este recurso, restauração necessário que você faça backup do primário e copiar os arquivos de backup no sistema principal arquivo host, transferir os arquivos de backup através da rede, coloque os arquivos de backup no sistema de espera arquivo host, e em seguida, restaurar os arquivos em Oracle ASM .12.3 Usar o modo registro FORÇA Quando o banco de dados primário está em FORCE LOGGING FORCELOGGING modo, todas as alterações de dados do banco de dados sãoregistrados. FORCE LOGGING modo garante que o banco de dados standbypermanece consistente com o banco de dados principal. Se isso não é possívelporque é necessário o desempenho de carga com NOLOGGING operações, entãose deve garantir que os físicos correspondentes arquivos de dados de espera sãoposteriormente sincronizados. Para sincronizar os arquivos físicos de dados deespera, ou aplicar um backup incremental criado a partir do banco de dados primárioou substituir os arquivos afetados espera de dados com um backup dos arquivos dedados primários tomadas após a operação nologging. Antes da transferência dearquivos, deve parar Refazer Aplique no banco de dados físico de espera. O usuário pode ativar o registro vigor imediatamente, emitindo um ALTERDATABASE FORCE LOGGING comunicado. Se você especificar FORCELOGGING , o Oracle espera que todas as operações em curso não registrados aofim.
  28. 28. 2812.4 Estratégia de arquivamento e Configuração Este estratégia de arquivamento é baseada nos seguintes pressupostos:  Cada banco de dados utiliza uma área de recuperação rápida.  O principal banco de dados de arquivo casos remotamente a um só aplicar exemplo. Tabela 2 - Recomendações ArquivamentoRecomendação DescriçãoIniciar arquivamento nas A manutenção de um banco de dados standby requerbases de dados primário e que ative e começe a arquivar no banco de dadosde espera principal, como segue: SQL> SHUTDOWN IMMEDIATE SQL> STARTUP MOUNT; SQL> ALTER DATABASE ARCHIVELOG; SQL> ALTER DATABASE OPEN; O arquivamento também deve ser habilitado no banco de dados de espera para apoiar transições papel. Para habilitar o arquivamento no banco de dados de espera: SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP MOUNT; SQL> ALTER DATABASE ARCHIVELOG;Use um formato de registro O LOG_ARCHIVE_FORMAT parâmetro deveconsistente especificar o fio, sequência e atributos de identificação(LOG_ARCHIVE_FORMAT RESETLOGS, e os ajustes de parâmetros deve ser). consistente em todas as instâncias. Por exemplo:LOG_ARCHIVE_FORMAT=arch_%t_%S_%r. arc
  29. 29. 29 Nota: Se a área de recuperação rápida é usado, então este formato é ignorado.Executar arquivamento Tudo banco de dados primário casos de arquivo pararemoto para apenas uma um destino de espera, usando o mesmo nome deinstância de espera e nó serviço líquido. Oracle Net Services failover tempo depara cada banco de dados conexão é usada para mudar automaticamente para oOracle RAC espera. host "secundário" modo de espera quando a instância de "primário" de espera tem uma interrupção. Se os arquivos são acessíveis a partir de todos os nós porque a Oracle ASM ou algum outro sistema de arquivos compartilhado está sendo usado para a área de recuperação rápida, em seguida, o arquivamento remoto pode ser espalhado em diferentes nós de um banco de dados Oracle RAC espera.Especifique baseadas em O VALID_FOR VALID_FOR atributo permite quefunção destinos com configure os atributos do destino para o primário e oso VALID_FOR atributo papéis de banco de dados standby em um servidor de arquivos parâmetro (SPFILE), de modo que a configuração do Data Guard funciona corretamente após uma transição de papel. Isto simplifica switchovers e failovers, removendo a necessidade de ativar e desativar os arquivos de papel de parâmetros específicos após uma transição de papel. O exemplo a seguir ilustra a recomendada parâmetros de inicialização para um banco de dados primário comunicar a um banco de dados físico de espera. Há duas instâncias, SALES1 e SALES2 , correndo em modo de proteção máxima. *. DB_RECOVERY_FILE_DEST = + RECO
  30. 30. 30*. LOG_ARCHIVE_DEST_1 = SERVIÇO = SALES_stby SYNC AFFIRMNET_TIMEOUT = 30 REABRIR = 300 = (VALID_FOR ONLINE_LOGFILES, ALL_ROLES)DB_UNIQUE_NAME = SALES_stby *. LOG_ARCHIVE_DEST_STATE_1 ENABLEComandos:Maximize I / O em Taxas de Logs Refazer espera e redo logs Meça leitura de E / S nos preços redo logs de espera e redo diretórios delog. Gravação simultânea de refazer enviado em um banco de dados standby podereduzir a taxa de leitura de refazer devido à saturação de E / S. A taxa derecuperação total é sempre limitada pela taxa na qual redo pode ser lido, por issoassegurar que a taxa de leitura de redo ultrapassa a sua taxa de recuperaçãonecessários.Taxa de Recuperação Avaliação Para obter o histórico das taxas de recuperação, use a seguinte consulta paraobter uma história de progresso de recuperação: SELECT * FROM V RECOVERY_PROGRESS $; Se o ACTIVE APPLY RATE é maior do que a taxa máxima de geração deredo no banco de dados primário ou duas vezes a taxa de geração de média nobanco de dados primário, então é necessário nenhum ajuste, caso contrário, seguiras dicas de ajuste abaixo. A taxa de geração de redo para o banco de dadosprimário pode ser monitorado a partir do Enterprise Manager ou extraída derelatórios AWR sob estatística REDO SIZE . Se CHECKPOINT TIME PER LOGémaior do que dez segundos, então, investigar ajuste I / O e postos de controle.
  31. 31. 31Set DB_BLOCK_CHECKSUM DB_BLOCK_CHECKSUM = FULL e DB_BLOCK_CHECKING=MEDIUMDB_BLOCK_CHECKING=MEDIUM ou FULL Refazer aplicar desempenho deve ser rápido o suficiente para manter-se comtaxas mais das aplicações de geração de refazer, mas você pode desativartemporariamente DB_BLOCK_CHECKING para acelerar a recuperação. Se vocêdesativar DB_BLOCK_CHECKING , você irá desativar na memória cheques blocossemânticos.Para verificar a corrupção bloco que não era evitável atravésda DB_BLOCK_CHECKING parâmetro, utilize:  RMAN BACKUP com o comando VALIDATE opção  DBVERIFY utilitário  ANALYZE TABLE tablename VALIDATE STRUCTURE CASCADE instrução SQL
  32. 32. 3212 CRIANDO UMA BASE DE RÉPLICA FÍSICA Nos capítulos anteriores verificamos o que é o Oracle DataGuard, qual suafinalidade e suas principais características. Neste capítulos iremos criar uma Basede Replica Física. Lembrando que uma réplica física nada mais é do que uma cópia real dobanco de dados, sem quaisquer alterações ou customização na sua estrutura. Comolaboratório, foram criadas duas máquinas virtuais.1. Realizar conexão via SQLPLUS no servidor de produção[oracle@localhost ~]$ sqlplus /nologSQL*Plus: Release 11.2.0.2.0 Production on Sat Dec 8 10:41:49 2012Copyright (c) 1982, 2010, Oracle. All rights reserved.SQL> conn sys/oracle as sysdbaConnected.2. Verificar se o servidor encontra-se em modo de arquivamento:SQL> select log_mode from v$database;LOG_MODE------------ARCHIVELOG3. Acessar novamente o SQLPLUS, desconectar o Banco de Dados e montá-lo:SQL> shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL> startup mount;ORACLE instance started.Total System Global Area 456146944 bytesFixed Size 1344840 bytesVariable Size 369101496 bytesDatabase Buffers 79691776 bytesRedo Buffers 6008832 bytesDatabase mounted.4. Sair do SQLPLUS e conectar no RMAN:[oracle@localhost ~]$ rman target /Recovery Manager: Release 11.2.0.2.0 - Production on Sat Dec 8 11:33:16 2012Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.connected to target database: ORCL (DBID=1229390655, not open)
  33. 33. 335. Ainda no banco de produção, realizar backup um backup da base:RMAN> run {backup database format /tmp/bkp_cold_full_%d_%t_%p.bkp include currentcontrolfile spfile;}Starting backup at 08-DEC-12using channel ORA_DISK_1channel ORA_DISK_1: starting full datafile backup setchannel ORA_DISK_1: specifying datafile(s) in backup setinput datafile file number=00002name=/home/oracle/app/oracle/oradata/orcl/sysaux01.dbfinput datafile file number=00001name=/home/oracle/app/oracle/oradata/orcl/system01.dbfinput datafile file number=00004name=/home/oracle/app/oracle/oradata/orcl/users01.dbfinput datafile file number=00005name=/home/oracle/app/oracle/oradata/orcl/example01.dbfinput datafile file number=00003name=/home/oracle/app/oracle/oradata/orcl/undotbs01.dbfinput datafile file number=00008name=/home/oracle/app/oracle/oradata/orcl/rman.dbf1input datafile file number=00007name=/home/oracle/app/oracle/oradata/orcl/APEX_2041602962184952.dbfinput datafile file number=00006name=/home/oracle/app/oracle/oradata/orcl/APEX_1930613455248703.dbfchannel ORA_DISK_1: starting piece 1 at 08-DEC-12channel ORA_DISK_1: finished piece 1 at 08-DEC-12piece handle=/tmp/bkp_cold_full_ORCL_801491495_1.bkp tag=TAG20121208T123135comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:04:06channel ORA_DISK_1: starting full datafile backup setchannel ORA_DISK_1: specifying datafile(s) in backup setincluding current control file in backup setchannel ORA_DISK_1: starting piece 1 at 08-DEC-12channel ORA_DISK_1: finished piece 1 at 08-DEC-12piece handle=/tmp/bkp_cold_full_ORCL_801491742_1.bkp tag=TAG20121208T123135comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:01channel ORA_DISK_1: starting full datafile backup setchannel ORA_DISK_1: specifying datafile(s) in backup setincluding current SPFILE in backup setchannel ORA_DISK_1: starting piece 1 at 08-DEC-12channel ORA_DISK_1: finished piece 1 at 08-DEC-12piecehandle=/home/oracle/app/oracle/flash_recovery_area/ORCL/backupset/2012_12_08/o1_mf_nnsnf_TAG20121208T123135_8d7957ok_.bkp tag=TAG20121208T123135 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:01Finished backup at 08-DEC-12Starting Control File and SPFILE Autobackup at 08-DEC-12piecehandle=/home/oracle/app/oracle/flash_recovery_area/ORCL/autobackup/2012_12_08/o1_mf_s_801485350_8d7958z0_.bkp comment=NONEFinished Control File and SPFILE Autobackup at 08-DEC-126. No SQLPLUS, criar um controlfile standby para ser usado no banco replica:SQL> alter database create standby controlfile as/tmp/controlfile_stb.ctl;
  34. 34. 34Database altered.7. Ainda no SQLPLUS, criar um PFILE a partir do SPFILESQL> create pfile=/tmp/initteste.ora from spfile;File created.8. No Linux, enviar os arquivos de backup para o servidor de standby:[oracle@localhost ~]$ scp bkp_cold_full_ORCL_801491495_1.bkp standby:/tmp[oracle@localhost ~]$ scp /tmp/controlfile_stb.ctl standby:/tmp/[oracle@localhost ~]$ scp /tmp/initteste.ora standby:/tmp/9. Com os arquivos de backup no servidor de standby, mover o init para a pasta padrão doOracle:[oracle@standby ~]$ mv /tmp/initteste.ora/home/oracle/app/oracle/product/11.2.0/dbs/inittester.ora10. Após mover o init, iremos editá-lo para que possamos iniciar o banco com este novo init.Primeiramente, iremos incluir as seguintes linhas no init. Deveremos também substituir nocampo orcl por standby. A única exceção será o campo DB_NAME,mantendo a referenciaao servidor principal.*.db_unique_name=’standby’*.log_archive_dest_1=’LOCATION=+ORADATA/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=standby’*.log_archive_dest_2=’SERVICE=teste VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLES)DB_UNIQUE_NAME=standby’*.LOG_ARCHIVE_DEST_STATE_1=ENABLE*.LOG_ARCHIVE_DEST_STATE_2=ENABLE*.LOG_ARCHIVE_CONFIG=’DG_CONFIG=(orcl,standby)’*.FAL_SERVER=orcl*.FAL_CLIENT=standby*.STANDBY_FILE_MANAGEMENT=AUTO*.LOG_FILE_NAME_CONVERT=’+ORAFRA/ORCL’, ‘+ORAFRA/STANDBY’*.DB_FILE_NAME_CONVERT=’+ORADATA/ORCL’, ‘+ORADATA/STANDY’11. No final o init ficará conforme abaixo. O texto destacado em vermelho apresenta onde foirealizada a alteração, enquanto que o texto em destaque verde remete-se ao o que foiinserido ao init:standby.__db_cache_size=41943040standby.__java_pool_size=8388608standby.__large_pool_size=8388608standby.__oracle_base=/home/oracle/app/oracle#ORACLE_BASE set from environmentstandby.__pga_aggregate_target=197132288standby.__sga_target=260046848standby.__shared_io_pool_size=12582912standby.__shared_pool_size=171966464standby.__streams_pool_size=8388608*.audit_file_dest=/home/oracle/app/oracle/admin/standby/adump*.audit_trail=DB*.client_result_cache_lag=3000*.client_result_cache_size=67108864*.compatible=11.2.0.0.0*.control_files=/home/oracle/app/oracle/oradata/standby/control01.ctl,/home/oracle/app/oracle/flash_recovery_area/standby/control02.ctl*.db_block_size=8192*.db_domain=*.db_name=orcl*.db_unique_name=’standby’
  35. 35. 35*.log_archive_dest_1=’LOCATION=+ORADATA/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=standby’*.log_archive_dest_2=’SERVICE=teste VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLES)DB_UNIQUE_NAME=standby’*.LOG_ARCHIVE_DEST_STATE_1=ENABLE*.LOG_ARCHIVE_DEST_STATE_2=ENABLE*.LOG_ARCHIVE_CONFIG=’DG_CONFIG=(orcl,standby)’*.FAL_SERVER=orcl*.FAL_CLIENT=standby*.STANDBY_FILE_MANAGEMENT=AUTO*.LOG_FILE_NAME_CONVERT=’+ORAFRA/ORCL’, ‘+ORAFRA/STANDBY’*.DB_FILE_NAME_CONVERT=’+ORADATA/ORCL’, ‘+ORADATA/STANDY’*.db_recovery_file_dest_size=4039114752*.db_recovery_file_dest=/home/oracle/app/oracle/flash_recovery_area*.diagnostic_dest=/home/oracle/app/oracle*.dispatchers=(PROTOCOL=TCP) (SERVICE=standbyXDB)*.event=*.local_listener=LISTENER_STANDBY*.log_archive_start=TRUE*.max_shared_servers=5*.memory_target=457179136*.open_cursors=300*.processes=150*.remote_login_passwordfile=EXCLUSIVE*.shared_servers=10*.undo_tablespace=UNDOTBS112. Agora, iremos criar os diretórios nomeados como standby, uma vez que os mesmosforam definidos no novo init criado anteriormente:[oracle@standby ~]$ mkdir –p /home/oracle/app/oracle/admin/standby/adumpmkdir: cannot create directory `/home/oracle/app/oracle/admin/standby/adump: No such file ordirectory13. O próximo passo será acessar o SQLPLUS e, com o novo init, iniciar o banco de dados.[oracle@standby ~]$ sqlplus /nologSQL*Plus: Release 11.2.0.2.0 Production on Wed Dec 12 16:42:10 2012Copyright (c) 1982, 2010, Oracle. All rights reserved.SQL> conn sys/oracle as sysdbaConnected to an idle instance.SQL> startup nomount pfile=’/home/oracle/app/oracle/product/11.2.0/dbhome_2/dbs/inittester.ora’;ORACLE instance started.Total System Global Area 456146944 bytesFixed Size 1344840 bytesVariable Size 360712888 bytesDatabase Buffers 88080384 bytesRedo Buffers 6008832 bytes14. Dado o startup, deverá ser criado um spfile a partir do init:SQL> create spfile from pfile=’/home/oracle/app/oracle/product/11.2.0/dbhome_2/dbs/inittester.ora’;File created.15. Criado o Spfile, iremos criar um arquivo de password do Oracle na instancia Replica,que ser importante para o funcionamento do Data Guard:[oracle@standby ~]$ orapwd file=$ORACLE_HOME/dbs/orapwstandby password=oracle
  36. 36. 3616. Agora iremos começar a restaurar os controlfiles no servidor Standby , via RMAN ecolocando a instancia em modo mount. Observe abaixo que os documentos foramrestaurados no diretório standby, de acordo com o especificado no init.[oracle@standby] rman target /RMAN> restore controlfile from ‘/tmp/controlfile_stb.ctl’;channel ORA_DISK_1: copied control file copyoutput filename=+ORADATA/standby/controlfile/controlfile01.ctloutput filename=+ORAFRA/standby/controlfile/controlfile02.ctlFinished restore at 10-DEC-1217. Restaurados os controlfiles, iremos tirar montar os dois bancos (orcl e standby),podendo ser pelo RMAN ou SQLPLUS. Optamos pelo RMAN, conforme script abaixo:RMAN> startup force mount;Oracle instance starteddatabase mountedTotal System Global Area 456146944 bytesFixed Size 1344840 bytesVariable Size 364907192 bytesDatabase Buffers 83886080 bytesRedo Buffers 6008832 bytes18. Instancias montadas, agora iremos restaurar o backup da instancia utilizando o RMAN,no banco standby:RMAN> restore database;Starting restore at 13-DEC-12allocated channel: ORA_DISK_1channel ORA_DISK_1: SID=18 device type=DISKchannel ORA_DISK_1: starting datafile backup set restorechannel ORA_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_DISK_1: restoring datafile 00001 to/home/oracle/app/oracle/oradata/orcl/system01.dbfchannel ORA_DISK_1: restoring datafile 00002 to/home/oracle/app/oracle/oradata/orcl/sysaux01.dbfchannel ORA_DISK_1: restoring datafile 00003 to/home/oracle/app/oracle/oradata/orcl/undotbs01.dbfchannel ORA_DISK_1: restoring datafile 00004 to/home/oracle/app/oracle/oradata/orcl/users01.dbfchannel ORA_DISK_1: restoring datafile 00005 to/home/oracle/app/oracle/oradata/orcl/example01.dbfchannel ORA_DISK_1: restoring datafile 00006 to/home/oracle/app/oracle/oradata/orcl/APEX_1930613455248703.dbfchannel ORA_DISK_1: restoring datafile 00007 to/home/oracle/app/oracle/oradata/orcl/APEX_2041602962184952.dbfchannel ORA_DISK_1: restoring datafile 00008 to /home/oracle/app/oracle/oradata/orcl/rman.dbf1channel ORA_DISK_1: reading from backup piece /tmp/bkp_cold_full_ORCL_801679009_1.bkpchannel ORA_DISK_1: ORA-19870: error while restoring backup piece/tmp/bkp_cold_full_ORCL_801679009_1.bkpORA-19505: failed to identify file "/tmp/bkp_cold_full_ORCL_801679009_1.bkp"ORA-27037: unable to obtain file statusLinux Error: 2: No such file or directoryAdditional information: 3failover to previous backupchannel ORA_DISK_1: starting datafile backup set restorechannel ORA_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_DISK_1: restoring datafile 00001 to/home/oracle/app/oracle/oradata/orcl/system01.dbf
  37. 37. 37channel ORA_DISK_1: restoring datafile 00002 to/home/oracle/app/oracle/oradata/orcl/sysaux01.dbfchannel ORA_DISK_1: restoring datafile 00003 to/home/oracle/app/oracle/oradata/orcl/undotbs01.dbfchannel ORA_DISK_1: restoring datafile 00004 to/home/oracle/app/oracle/oradata/orcl/users01.dbfchannel ORA_DISK_1: restoring datafile 00005 to/home/oracle/app/oracle/oradata/orcl/example01.dbfchannel ORA_DISK_1: restoring datafile 00006 to/home/oracle/app/oracle/oradata/orcl/APEX_1930613455248703.dbfchannel ORA_DISK_1: restoring datafile 00007 to/home/oracle/app/oracle/oradata/orcl/APEX_2041602962184952.dbfchannel ORA_DISK_1: restoring datafile 00008 to /home/oracle/app/oracle/oradata/orcl/rman.dbf1channel ORA_DISK_1: reading from backup piece /tmp/bkp_cold_full_ORCL_801678673_1.bkpchannel ORA_DISK_1: ORA-19870: error while restoring backup piece/tmp/bkp_cold_full_ORCL_801678673_1.bkpORA-19505: failed to identify file "/tmp/bkp_cold_full_ORCL_801678673_1.bkp"ORA-27037: unable to obtain file statusLinux Error: 2: No such file or directoryAdditional information: 3failover to previous backupchannel ORA_DISK_1: starting datafile backup set restorechannel ORA_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_DISK_1: restoring datafile 00001 to/home/oracle/app/oracle/oradata/orcl/system01.dbfchannel ORA_DISK_1: restoring datafile 00002 to/home/oracle/app/oracle/oradata/orcl/sysaux01.dbfchannel ORA_DISK_1: restoring datafile 00003 to/home/oracle/app/oracle/oradata/orcl/undotbs01.dbfchannel ORA_DISK_1: restoring datafile 00004 to/home/oracle/app/oracle/oradata/orcl/users01.dbfchannel ORA_DISK_1: restoring datafile 00005 to/home/oracle/app/oracle/oradata/orcl/example01.dbfchannel ORA_DISK_1: restoring datafile 00006 to/home/oracle/app/oracle/oradata/orcl/APEX_1930613455248703.dbfchannel ORA_DISK_1: restoring datafile 00007 to/home/oracle/app/oracle/oradata/orcl/APEX_2041602962184952.dbfchannel ORA_DISK_1: restoring datafile 00008 to /home/oracle/app/oracle/oradata/orcl/rman.dbf1channel ORA_DISK_1: reading from backup piece /tmp/bkp_cold_full_ORCL_801491495_1.bkpchannel ORA_DISK_1: ORA-19870: error while restoring backup piece/tmp/bkp_cold_full_ORCL_801491495_1.bkpORA-19505: failed to identify file "/tmp/bkp_cold_full_ORCL_801491495_1.bkp"ORA-27037: unable to obtain file statusLinux Error: 2: No such file or directoryAdditional information: 3failover to previous backupchannel ORA_DISK_1: starting datafile backup set restorechannel ORA_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_DISK_1: restoring datafile 00001 to/home/oracle/app/oracle/oradata/orcl/system01.dbfchannel ORA_DISK_1: restoring datafile 00002 to/home/oracle/app/oracle/oradata/orcl/sysaux01.dbfchannel ORA_DISK_1: restoring datafile 00003 to/home/oracle/app/oracle/oradata/orcl/undotbs01.dbfchannel ORA_DISK_1: restoring datafile 00004 to/home/oracle/app/oracle/oradata/orcl/users01.dbfchannel ORA_DISK_1: restoring datafile 00005 to/home/oracle/app/oracle/oradata/orcl/example01.dbfchannel ORA_DISK_1: restoring datafile 00006 to/home/oracle/app/oracle/oradata/orcl/APEX_1930613455248703.dbfchannel ORA_DISK_1: restoring datafile 00007 to/home/oracle/app/oracle/oradata/orcl/APEX_2041602962184952.dbf
  38. 38. 38channel ORA_DISK_1: reading from backup piece/home/oracle/app/oracle/flash_recovery_area/ORCL/backupset/2012_12_01/o1_mf_nnndf_TAG20121201T085031_8cnfbr6d_.bkpchannel ORA_DISK_1: piecehandle=/home/oracle/app/oracle/flash_recovery_area/ORCL/backupset/2012_12_01/o1_mf_nnndf_TAG20121201T085031_8cnfbr6d_.bkp tag=TAG20121201T085031channel ORA_DISK_1: restored backup piece 1channel ORA_DISK_1: restore complete, elapsed time: 00:03:16channel ORA_DISK_1: starting datafile backup set restorechannel ORA_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_DISK_1: restoring datafile 00008 to /home/oracle/app/oracle/oradata/orcl/rman.dbf1channel ORA_DISK_1: reading from backup piece/home/oracle/app/oracle/flash_recovery_area/ORCL/backupset/2012_12_01/o1_mf_nnndf_TAG20121201T104620_8cnn3wpz_.bkpchannel ORA_DISK_1: piecehandle=/home/oracle/app/oracle/flash_recovery_area/ORCL/backupset/2012_12_01/o1_mf_nnndf_TAG20121201T104620_8cnn3wpz_.bkp tag=TAG20121201T104620channel ORA_DISK_1: restored backup piece 1channel ORA_DISK_1: restore complete, elapsed time: 00:00:04Finished restore at 13-DEC-1219. Voltando a instância principal (orcl), iremos realizar algumas alteraçãos em seu init. Ointuito desta alteração é inserir parâmetros do Data Guard no init do servidor principal. Asalterações propostas serão as que encontram-se logo abaixo:*.db_unique_name=’orcl’*.log_archive_dest_1=’LOCATION=+ORADATA/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=orcl’*.log_archive_dest_2=’SERVICE=standby VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLES)DB_UNIQUE_NAME=standby”*.LOG_ARCHIVE_CONFIG=’DG_CONFIG=(orcl,standby)’*.LOG_ARCHIVE_DEST_STATE_1=ENABLE*.LOG_ARCHIVE_DEST_STATE_2=ENABLE*.FAL_SERVER=standby*.FAL_CLIENT=standby20. Inserindo o trecho acima (destacado em verde), o init ficará conforme abaixo:orcl.__db_cache_size=75497472orcl.__java_pool_size=8388608orcl.__large_pool_size=8388608orcl.__oracle_base=/home/oracle/app/oracle#ORACLE_BASE set from environmentorcl.__pga_aggregate_target=163577856orcl.__sga_target=293601280orcl.__shared_io_pool_size=12582912orcl.__shared_pool_size=171966464orcl.__streams_pool_size=8388608*.audit_file_dest=/home/oracle/app/oracle/admin/orcl/adump*.audit_trail=DB*.client_result_cache_lag=3000*.client_result_cache_size=67108864*.compatible=11.2.0.0.0*.control_files=/home/oracle/app/oracle/oradata/orcl/control01.ctl,/home/oracle/app/oracle/flash_recovery_area/orcl/control02.ctl*.db_block_size=8192*.db_domain=*.db_name=orcl*.db_unique_name=’orcl’*.log_archive_dest_1=’LOCATION=+ORADATA/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=orcl’*.log_archive_dest_2=’SERVICE=standby VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLES)DB_UNIQUE_NAME=standby”*.LOG_ARCHIVE_CONFIG=’DG_CONFIG=(orcl,standby)’*.LOG_ARCHIVE_DEST_STATE_1=ENABLE*.LOG_ARCHIVE_DEST_STATE_2=ENABLE
  39. 39. 39*.FAL_SERVER=standby*.FAL_CLIENT=standby*.db_recovery_file_dest_size=4039114752*.db_recovery_file_dest=/home/oracle/app/oracle/flash_recovery_area*.diagnostic_dest=/home/oracle/app/oracle*.dispatchers=(PROTOCOL=TCP) (SERVICE=orclXDB)*.event=*.local_listener=LISTENER_ORCL*.max_shared_servers=5*.memory_target=457179136*.open_cursors=300*.processes=150*.remote_login_passwordfile=EXCLUSIVE*.shared_servers=10*.undo_tablespace=UNDOTBS120. No SQLPLUS, parar o banco da instancia principal (orcl), com o comando abaixo:RMAN> exitRecovery Manager complete.[oracle@localhost ~]$ sqlplus /nologSQL*Plus: Release 11.2.0.2.0 Production on Thu Dec 13 08:19:20 2012Copyright (c) 1982, 2010, Oracle. All rights reserved.SQL> conn sys/oracle as sysdbaConnected.SQL> shutdown immediate;ORA-01109: database not openDatabase dismounted.ORACLE instance shut down.21. O próximo passo será realizar a alteração do Listener, para que ambos os servidores secomuniquem entre si. Este procedimento será agora realizado no sistema operacional.Antes iremos utilizar o comando lsnrct status para verificar os dados de cada servidor noLinux (porta, host e service):[oracle@localhost ~]$ lsnrctl statusLSNRCTL for Linux: Version 11.2.0.2.0 - Production on 13-DEC-2012 08:30:33Copyright (c) 1991, 2010, Oracle. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST= localhost)(PORT=1521)))STATUS of the LISTENER------------------------Alias LISTENERVersion TNSLSNR for Linux: Version 11.2.0.2.0 - ProductionStart Date 12-DEC-2012 15:16:26Uptime 0 days 17 hr. 14 min. 7 secTrace Level offSecurity ON: Local OS AuthenticationSNMP OFFListener Parameter File/home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/listener.oraListener Log File/home/oracle/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xmlListening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
  40. 40. 40Services Summary…Service “orcl” has 1 instance(s).Instance “orcl”, status UNKNOWN, has 1 handler(s) for this service…The command completed successfully[oracle@standby ~]$ lsnrctl statusLSNRCTL for Linux: Version 11.2.0.2.0 - Production on 13-DEC-2012 15:05:17Copyright (c) 1991, 2010, Oracle. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=standby)(PORT=1521)))STATUS of the LISTENER------------------------Alias LISTENERVersion TNSLSNR for Linux: Version 11.2.0.2.0 - ProductionStart Date 12-DEC-2012 15:27:55Uptime 0 days 23 hr. 37 min. 22 secTrace Level offSecurity ON: Local OS AuthenticationSNMP OFFListener Parameter File/home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/listener.oraListener Log File/home/oracle/app/oracle/diag/tnslsnr/standby/listener/alert/log.xmlListening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=standby)(PORT=1521)))Listening Endpoints Summary…(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=standby)(PORT=1521)))Services Summary…Service “standby” has 1 instance(s).Instance “standby”, status UNKNOWN, has 1 handler(s) for this service…The listener supports no servicesThe command completed successfully/home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin22. Com os dados coletados acima, poderemos agora criar o TNSNAMES.ora para ambosos servidores. Neste caso, iremos alterar o arquivo TNSNAMES.ora do diretório/home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admintanto do servidor principal, quanto do servidor de standby.[oracle@localhost ~]$ tnsping 192.168.0.1TNS Ping Utility for Linux: Version 11.2.0.2.0 - Production on 13-DEC-2012 16:21:47Copyright (c) 1997, 2010, Oracle. All rights reserved.Used parameter files:Used HOSTNAME adapter to resolve the aliasAttempting to contact(DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.1)(PORT=1521)))OK (10 msec)[oracle@localhost ~]$ tnsping 192.168.0.2
  41. 41. 41TNS Ping Utility for Linux: Version 11.2.0.2.0 - Production on 13-DEC-2012 16:21:53Copyright (c) 1997, 2010, Oracle. All rights reserved.Used parameter files:Used HOSTNAME adapter to resolve the aliasAttempting to contact(DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.2)(PORT=1521)))OK (70 msec)23. O mesmo teste deve ser realizado no servidor de standby:[oracle@standby ~]$ tnsping standbyTNS Ping Utility for Linux: Version 11.2.0.2.0 - Production on 13-DEC-2012 16:29:21Copyright (c) 1997, 2010, Oracle. All rights reserved.Used parameter files:Used TNSNAMES adapter to resolve the aliasAttempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.0.2)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME =standby)))OK (10 msec)[oracle@standby ~]$ tnsping 192.168.0.1TNS Ping Utility for Linux: Version 11.2.0.2.0 - Production on 13-DEC-2012 16:29:24Copyright (c) 1997, 2010, Oracle. All rights reserved.Used parameter files:Used HOSTNAME adapter to resolve the aliasAttempting to contact(DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.1)(PORT=1521)))OK (0 msec)24. No vigésimo passo, realizamos a parada da instancia principal (orcl) para alterar osparâmetros do init. Com isso, teremos que iniciar apontando para o initfile do /tmp, ou seja,/tmp/initteste.ora:SQL> startup nomount pfile=’/tmp/initteste.ora’;ORACLE instance started.Total System Global Area 456146944 bytesFixed Size 1344840 bytesVariable Size 360712888 bytesDatabase Buffers 88080384 bytesRedo Buffers 6008832 bytesCom a instancia orcl montada, vamos criar o SPFILE a partir deste init:25. Com a instancia em modo nomount já criamos o SPFILE a partir desse init.SQL> create spfile from pfile=’/tmp/initteste.ora’;File created.
  42. 42. 4226, O Dataguard faz uso de Standby Redologs para realizar a replicação. Nas duasinstancias (principal e standby), deverá ser criados grupos com os comandos abaixo:SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 4(/home/oracle/app/oracle/oradata/orcl/logstb4a.rdo) SIZE 50M;Database altered.SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 5(/home/oracle/app/oracle/oradata/orcl/logstb5a.rdo) SIZE 50M;Database altered.SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 6(/home/oracle/app/oracle/oradata/orcl/logstb6a.rdo) SIZE 50M;Database altered.SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 7(/home/oracle/app/oracle/oradata/orcl/logstb7a.rdo) SIZE 50M;Database altered.27. Agora, voltamos para a instancia standby, onde iremos inicia-la read-only para iniciarsua replicação física:SQL> alter database open read only;Database altered.28. Ainda na instancia standby, iremos iniciar o processo de replicação, fazendo com que abase fique em modo mount, com o comando abaixo:SQL> alter database recover managed standby database disconnect from session;29. Finalizado toda a parametrização, agora iremos realizar testes. No SQLPLUS dainstancia principal, iremos criar uma tabela simples e inserir dados:create table funcionario (chapa number(4), nome varchar2(15));Table created.;SQL> insert into funcionario values (10, ‘Lucas’);1 row created.SQL> insert into funcionario values (12, ‘Deodoro’);1 row created.SQL> insert into funcionario values (15, ‘Fonseca’);1 row created.SQL> commit;Commit complete.29. Depois de criada esta tabela, geramos o log switch que será responsável por gerar umarchive:SQL> alter system switch logfile;30. Observando o logs do Alert, observamos que o standby logfile gerou sequencia dearchive 42, ficando no aguardo da sequencia da 43. Em resumo, a S a replicação foirealizada com êxito![oracle@standby ~]$ tail -f / home/oracle/app/oracle/admin alert_tester.log...RFS[1]: Successfully opened standby log 4:‘/home/oracle/app/oracle/oradata/orcl/logstb4a.rdo’
  43. 43. 43Wed Dec 13 22:18:57 BRST 2012Media Recovery Log/home/oracle/app/oracle/flash_recovery_area/standby/012_01_04/thread_1_seq_42.295.771685375Media Recovery Waiting for thread 1 sequence 43
  44. 44. 44REFERÊNCIAS BIBLIOGRÁFICASBANCO DE DADOS ORACLE 11G RELEASE 2<http://www.oracle.com/technetwork/pt/database/enterprise-edition> Acesso em: 03 dez.2012.DATA GUARD BROKER 11G COM RMAN (STANDBY 11G COM RMAN)<http://profissionaloracle.com.br/blogs/braga/2010/01/04/data-guard-broker-11g-com-rman-standby-11g-com-rman/> Acesso em: 04 dez. 2012.MEEKS, Joe. ORACLE DATA GUARD COM ORACLE DATABASE 11G RELEASE 2. 2009ORACLE ACTIVE DATA GUARD<http://www.oracle.com/br/products/database/options/active-data-guard/overview/index.html> Acesso em: 04 dez. 2012.ORACLE DATA GUARD<http://www.oracle.com/technetwork/database/features/availability/dataguardoverview-083155.html> Acesso em: 03 dez. 2012.

×