Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 2 Oracle Active Data Guard Melhores Práticas e Visão Detalhada SES16383 Jony Safi Consulting Member of Technical Staff MAA Development Oracle High Availability Systems Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Agenda Introdução Melhorias do Data Guard Broker Configuração para Perda de Dados Zero em Longas Distâncias DML em um Active Data Guard Standby Conclusão Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 4 Consequências do Ponto Único de Falha • Perda de dados • Downtime de aplicação • Aumento de custos • Perda de receita Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Ninguém Quer esse Tipo de Notícia 5-dias fora Provedor de Infraestrutura de Cloud Europeu – Falha de Storage array, incapaz de utilizar as fitas de backup usadas para DR 8-dias fora Varegista Global – Falha de disco, seguido de falha do mirroring do disco. Restore do backup local falhou. Restore usando cópia do DR também falhou Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 6 Oracle Maximum Availability Architecture (MAA) Diferenciação Estratégica • Todos os componentes ativo • Validação de dados contínua • Elimina: – – – – Downtime causado por cold restart Risco devido ao estado incerto Perda de dados Alto custo de recursos ociosos MAA é agnóstico a plataforma. MAA é requerimento para Oracle Engineered Systems! Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle MAA Camadas de Disponibilidade Arquitetura de Referência PLATINUM Platinum-Ready Apps • • Clusters e Replicação Nenhuma falha para Platinum Perda de Dados Zero GOLD • • HA Compreensivo e Proteção contra Disaster Recovery em segundos com perda de dados próximo de zero SILVER • Alta Disponiibilidade (HA) para falhas locais • Backups mais redo para proteção de dados Oracle BRONZE • • Serviço básico de Restart Backups para Dados Oracle protection Clusters Replication Clusters Backups e Redo Single Instance Backups Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Active Data Guard Active Data Guard Oracle Data Guard Melhor Proteção e Disponibilidade para Bancos de Dados Oracle Data Guard Todas as instâncias abertas para leitura-escrita SYNC / ASYNC Banco de Dados Primário Banco de Dados Standby Data Guard Broker Oracle Enterprise Manager Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 9 Oracle Data Guard 12c Ainda o Melhor Proteção e Disponibilidade para Bancos de Dados Oracle Data Guard Todas as instâncias abertas para leitura-escrita SYNC / ASYNC Multitenant Banco de Dados Primário Multitenant Banco de Dados Standby Data Guard Broker Oracle Enterprise Manager Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 10 Oracle Data Guard e Multitenant Uma Nota Rápida • A geração de redo é no nível do Container (CDB) – E não no nível do Pluggable (PDB) • Desta forma o Data Guard trabalha em nível de CDB. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 11 Oracle Data Guard e Multitenant Uma Nota Rápida • A geração de redo é no nível do Container (CDB) – E não no nível do Pluggable (PDB) • Desta forma o Data Guard trabalha em nível de CDB • Há considerações ao clonar ou plugar um PDB no CDB Primário – Dependendo de qual estiver fazendo você terá que fazer algumas operações manuais no CDB do Standby. – * Step by Step Examples of Migrating non-CDBs and PDBs Using ASM for File Storage (Doc ID 1576755.1) – * Making Use of the STANDBYS=NONE Feature (Doc ID 1916648.1) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 12 Data Guard Capacidades Incluídas com Oracle Database Enterprise Edition (EE) Proteção de Dados Alta Disponibilidade Performance e ROI Proteção contra perda de dados Zero ou sub-segundo Failover automático de banco de dados Throughput extrema – suporta todos os workloads Forte isolamento usando continuamente a validação Oracle Failover automático de client Propósito-duplo para standby e desenvolvimento Aplicação de patch Standbyfirst Data Guard Broker Detecção de Lost-write Suporte Universal – todos os tipos de dados e aplicações Monitoramento compreensivo com Enterprise Manager Manutenção rolling do banco de dados Migração para algumas plataformas Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 16 Active Data Guard Capacidades Incluídas com Active Data Guard Option Proteção de Dados Alta Disponibilidade Performance e ROI Perda de dados Zero a qualquer distância Reparação de blocos automática Offload somente para leitura Cascateamento em tempo real Manutenção de banco de dados rolling automatizada Offload backups incrementais Failover transparent para transações in-flight 1 Offload “maior parte” leitura Gerenciamento de serviço para bancos de dados replicados2 Offload compressão para transport3 Balanceamento inteligente para bancos de dados replicados2 1 - Requer Application Continuity - Requer Global Data Services 3 - Requer Advanced Compression 2 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 17 Agenda Introdução Melhorias do Data Guard Broker Configuração para Perda de Dados Zero em Longas Distâncias DML em um Active Data Guard Standby Conclusão Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 18 Melhorias do Data Guard Broker • Melhorias no Lag Monitoring e Warnings • Validação da Transição de Papéis • Melhorias no Switchover • Suporte aos destinos do Far Sync e Cascading Redo • Análise de Configuração – Validação da topologia futura de banco de dados – Validação da Configuração da Instância Far Sync • Melhorias no Fast Start Failover Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 19 Nossa Configuração Inicial • Banco de Dados Primário é Boston (BOS) • Banco de Dados Standby é San Francisco (SFO) • Redo Transport está ASYNC Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 20 Nossa Configuração Inicial • Banco de Dados Primário é BOS • Banco de Dados Standby é SFO • Redo Transport está ASYNC • Status da configuração é Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 21 Nossa Configuração Inicial • Banco de Dados Primário é BOS • Banco de Dados Standby é SFO • Redo Transport está ASYNC • Status da configuração é – três propriedades de Lag Threshold disponíveis Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 22 Validando a Efetividade da sua Configuração • Novo comando VALIDATE – Banco de Dados Primário – Banco de Dados Standby comparado ao Primário – Configuração da Instância Far Sync • Realiza Health Check Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 23 Validando a Efetividade da sua Configuração • Novo comando VALIDATE – Banco de Dados Primário – Banco de Dados Standby comparado ao Primário – Configuração da Instância Far Sync • Realiza Health Check • Checa o Primário Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 24 Validando a Efetividade da sua Configuração • Novo comando VALIDATE – Banco de Dados Primário – Banco de Dados Standby comparado ao Primário – Configuração da Instância Far Sync • Realiza Health Check • Checa o Primário • Checa o Standby Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 25 Validando a Efetividade da sua Configuração • Novo comando VALIDATE – Banco de Dados Primário – Banco de Dados Standby comparado ao Primário – Configuração da Instância Far Sync • Realiza Health Check • Checa o Primário • Checa o fix no Standby e Valide novamente Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 26 Validação do Banco de Dados • Realize automaticamente diversos health checks, incluindo: – Validação do status de cada banco de dados – Verifique se não há gaps no archive log – Realize um log switch no primário para verificar se o log é aplicado em todos os standbys. – Mostre qualquer banco de dados ou instâncias RAC que não estejam descobertas – Detecta inconsistências entre as propriedades do banco de dados e os valores armazenados no banco de dados – Assegure que os redo logs foram apagados antes da transição de papéis – Verifica redo threads desabilitados previamente – Garanta que o primário e todos os standbys estão no mesmo redo • VALIDATE DATABASE VERBOSE <name>; = Muita informação! Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 27 Melhorias no Switchover • Switchover ainda pode ser impactado pelos problemas que ocorrem entre a validação do status e a execução do comando de switchover • Em versões mais antigas, um switchover que falhou normalmente requeria a reconfiguração do Broker (apagar e criar de novo) • Data Guard Broker Resumable Switchover permite as seguintes opções: – Resolver o problema e re-submeter o switchover no Broker – ele faz de onde parou – Use o Broker para voltar ao primário original enquanto você resolve o problema – Use o Broker para mudar para outro banco de dados standby em uma configuração multi-standby • Resumable Switchover também está disponível em ambientes SQL*Plus Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 28 Melhorias no Switchover • Uma nova melhoria no 12.1.0.2 – Switchover do SFO para o BOS • Sim, para aqueles que estão prestando atenção, eu já fiz um switchover de SFO para BOS! – Vê algo novo? Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 29 Melhorias no Switchover • Uma nova melhoria no 12.1.0.2 – Switchover do SFO para o BOS • Sim, para aqueles que estão prestando atenção, eu já fiz um switchover de SFO para BOS! – Não é mais necessário entradas estáticas “_DGMGRL” com Oracle Restart, RAC One Node ou RAC! Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 30 Melhorias no Fast Start Failover (FSFO) • Novas Propriedades FSFO – Reconexão vai fazer log off e log in de novo para checar a capacidade de resposta do Primário. – Um Override vai forçar um failover se o Observer perder a conexão do Primário até mesmo se o Standby puder fazer a comunicação com o banco de dados Primário. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 31 Melhorias no Fast Start Failover (FSFO) • Novas Propriedades FSFO – Reconexão vai fazer log off e log in de novo para checar a capacidade de resposta do Primário. – Um Override vai forçar um failover se o Observer perder a conexão do Primário até mesmo se o Standby puder fazer a comunicação com o banco de dados Primário. • Nova view FSFO – V$FS_OBSERVER_HISTOGRAM Estatísticas de frequência de pings entre o observer e o Primário Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 32 Novas Propriedades Adicionais • Nível de Configuração • PrimaryLostWriteAction Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 33 Novas Propriedades Adicionais • Nível de Configuração • PrimaryLostWriteAction – CONTINUE ou SHUTDOWN se um Lost write for descoberto no Primário – Pode também forçar um failover automático em uma configuração FSFO usando FAILOVER ou FORCEFAILOVER Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 34 Novas Propriedades Adicionais • Nível de Configuração • PrimaryLostWriteAction – CONTINUE ou SHUTDOWN se um Lost write for descoberto no Primário – Pode também forçar um failover automático em uma configuração FSFO • ExternalDestination1 & 2 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 35 Novas Propriedades Adicionais • Nível de Configuração • PrimaryLostWriteAction – CONTINUE ou SHUTDOWN se um Lost write for descoberto no Primário – Pode também forçar um failover automático em uma configuração FSFO • ExternalDestination1 & 2 – Configure até dois destinos de captura downstream para GoldeGate ou ZDLRA Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 36 Data Guard Broker • Em resumo – Data Guard Broker • • • • Interface de gerenciamento em linha de comando recomenadado para Oracle Data Guard Interface de comunicação utilizada pelo Oracle Enterprise Manager Cloud Control Fornece acesso a funcionalidades que não estão disponívels no SQL*Plus Automatiza a transição de papéis entre os serviços de banco de dados e failover de clientes • Mais melhoria do Data Guard Broker Enhancements são discutidas no próximo tópico Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 37 Program Agenda Introdução Melhorias do Data Guard Broker Configuração para Perda de Dados Zero em Longas Distâncias DML em um Active Data Guard Standby Conclusão Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 38 Data Guard Perda de Dados Zero Inter/Intra Continente • Todo mundo quer Perda Zero de Dados • Todo mundo também quer separação geográfica • O problema é que os dois são se misturam tão bem • Porque Perda Zero de Dados requer Serviços de Transporte Síncronos SYNC? San Francisco Boston Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 39 Data Guard Perda de Dados Zero Inter/Intra Continente • Todo mundo quer Perda Zero de Dados • Todo mundo também quer separação geográfica • O problema é que os dois são se misturam tão bem • Porque Perda Zero de Dados requer Serviços de Transporte Síncronos – Quanto maior a distância, maior o impacto na performance Commit Ack Network Ack Network Send Commit San Francisco Boston Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 40 Entra o Active Data Guard Far Sync Proteção Perda de Dados Zero a qualquer Distância • Posicionado onde Synchronous redo transport é viável – Com impacto de performance aceitável em produção • Leve – Sem Data Files – Sem Banco de Dados – Sem licença EE • Transparente – Funciona como qualquer outro destino de Data Guard Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 41 Nossa Configuração Inicial • Nós temos ASYNC SFO BOS • Nós queremos BOSFS1 SFO BOS BOSFS1 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 44 Adicionando uma Instância Far Sync • Nossa Configuração Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 45 Adicionando uma Instância Far Sync • Nossa Configuração • Adicione o Far Sync Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 46 Adicionando uma Instância Far Sync • Nossa Configuração • Adicione o Far Sync • Configuração atualizada – Ainda desabilitado, então sem redo Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 47 Adicionando uma Instância Far Sync • Nossa Configuração • Adicione o Far Sync • Configuração atualizada – Ainda desabilitado, então sem redo – Por default se for necessário será habilitado automaticamente para começar a receber o redo do Primário mas não envia-lo para qualquer lugar. – Então precisa ser configurado corretamente antes de habilitar como uma boa prática Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 48 Adicionando uma Instância Far Sync • Nossa Configuração • Adicione o Far Sync • Configuração atualizada – Ainda desabilitado, então sem redo – Por default se for necessário será habilitado automaticamente para começar a receber o redo do Primário mas não envia-lo para qualquer lugar. – Então precisa ser configurado corretamente antes de habilitar como uma boa prática Novo RedoRoutes Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 49 Uma Propriedade Poderosa do Broker - “RedoRoutes” • LogXPTMode disse “Como o Primário poderia enviar para mim” – Ainda o default na configuração de Broker • RedoRoutes diz “Quando, Onde e Como ‘Eu’ poderia enviar redo” – Envie quando eu for o Primário - Normal redo transport – Envie quando eu for um Standby - Far Sync and Cascading redo transport • Quando qualquer outro for o Primário • Composto por múltiplus conjuntos de Redo Source, Redo Destination, Mode – (Quando: Onde Como, Onde Como, Onde Como) • Quando – Por default para ‘Mim’ ou ‘LOCAL’ (ex: eu sou o Primário) • Onde – Por default para todos (TODOS) os destinos standby • Como – Por default para LogXPTMode Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 50 Comece Usando o Far Sync • A partir de ASYNC SFO BOS BOSFS1 (idle) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 57 Comece Usando o Far Sync • A partir de ASYNC SFO BOS BOSFS1 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 58 Comece Usando o Far Sync • A partir de ASYNC SFO BOS BOSFS1 • Para SFO BOS BOSFS1 (active) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 59 Nossa Nova Configuração • Boston envia redo para o Far Sync de Boston que retransmite o redo para San Francisco Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 60 Aumente o Modo de Proteção • Agora que temos um destino SYNC podemos operar no modo Zero Data Loss (ZDL) e fazer failovers ZDL do BOS para SFO Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 61 Aumente o Modo de Proteção • Agora que temos um destino SYNC podemos operar no modo Zero Data Loss (ZDL) e fazer failovers ZDL do BOS para SFO Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 62 Aumente o Modo de Proteção • Agora que temos um destino SYNC podemos operar no modo Zero Data Loss (ZDL) e fazer failovers ZDL do BOS para SFO Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 63 Finalizando • Precisamos de um Far Sync em San Francisco então precisamos ficar em Maximum Availability depois da mudança de papel. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 64 Finalizando • Precisamos de um Far Sync em San Francisco então precisamos ficar em Maximum Availability depois da mudança de papel. – Crie o Far Sync SFO como antes e adicione, como antes Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 65 Finalizando • Precisamos de um Far Sync em San Francisco então precisamos ficar em Maximum Availability depois da mudança de papel. – Crie o Far Sync SFO como antes e adicione, como antes • Entendeu? Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 66 Pronto para Qualquer Coisa • Tudo está ativo e funcionando Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 67 Nossa Nova Configuração • Um Far Sync está sempre ocioso SFO BOS BOSFS1 (active) SFOFS1 (idle) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 68 Nossa Configuração após o Switchover • Um Far Sync está sempre ocioso SFO BOS BOSFS1 (idle) SFOFS1 (active) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 73 Checa a Topologia • Uma nova melhoria no 12.1.0.2 SHOW CONFIGURATION • Mais detalhes a diante Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 74 O que acontece se o Far Sync falhar? • Uma falha e estaremos fritos? SFO BOS BOSFS1 (idle) SFOFS1 (active) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 75 O que acontece se o Far Sync falhar? • Uma falha e estaremos fritos? SFO BOS BOSFS1 (idle) SFOFS1 (down) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 76 O que acontece se o Far Sync falhar? • Uma falha e estaremos fritos? SFO BOS BOSFS1 (idle) SFOFS1 (down) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 77 O que acontece se o Far Sync falhar? • Uma falha e estaremos fritos? SFO BOS BOSFS1 (idle) SFOFS1 (down) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 78 O que acontece se o Far Sync falhar? • Uma falha e estaremos fritos? SFO BOS • Não! BOSFS1 (idle) SFOFS1 (down) • Com 12.1.0.2 e suporte para destinos ALTERNATE e você está seguro! Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 79 Configure o Far Sync Redirect • Você pode automaticamente redirecionar o redo diretamente para o Standby terminal ASYNC SFO BOS SFOFS1 (down) • Mas isso implicitamente reduz para Maximum Performance – Não é mais possível fazer um failover Zero Data Loss para BOS – Alta disponibilidade Far Sync é a melhor solução! Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 80 Configure o Far Sync para Alta Disponibilidade • Crie e adicione 2 instâncias Far Sync a mais para sua configuração BOSFS2 (idle) SFOFS2 (idle) SFO BOS BOSFS1 (idle) SFOFS1 (active) • Uma em Boston e outra em San Francisco – BOSFS2 e SFOFS2 serão as alternativas Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 81 Configure o Far Sync para Alta Disponibilidade • Nossa configuração agora. • Habilite os outros • Reconfigure RedoRoutes de ambos os bancos de dados para identificar o Alternate Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 89 Configure o Far Sync para Alta Disponibilidade • Nossa configuração agora. • Habilite os outros • Reconfigure RedoRoutes de ambos os bancos de dados para identificar o Alternate Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 90 Configure o Far Sync para Alta Disponibilidade • Nossa configuração agora. • Habilite os outros • Reconfigure RedoRoutes de ambos os bancos de dados para identificar o Alternate Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 91 Desastre! • Nossa instância Far Sync SFOFS1 ativa falha! BOSFS2 (idle) SFOFS2 (idle) SFO BOS BOSFS1 (idle) SFOFS1 (down) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 94 Desastre Evitado! • Nossa instância Far Sync ociosa SFOFS2 entra em ação! BOSFS2 (idle) SFOFS2 (active) SFO BOS BOSFS1 (idle) SFOFS1 (down) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 95 Desastre Evitado! • Está tudo bem com nossa configuração Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 96 Desastre Evitado! • Está tudo bem com nossa configuração Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 97 Está tudo bem com nossa configuração • Erro ORA-16764? • Está correto, SFOFS1 está inalcançável. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 98 Desastre Evitado! • Erro ORA-16764? • Está correto, SFOFS1 está inalcançável. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 99 Desastre Evitado! • Erro ORA-16764? • Está correto, SFOFS1 está inalcançável. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 100 Como Obtemos a Real Alta Disponibilidade? • O que acontece se a instância Far Sync SFOFS2 falhar? BOSFS2 (idle) SFOFS2 (down) SFO BOS BOSFS1 (idle) SFOFS1 (idle) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 101 Como Obtemos a Real Alta Disponibilidade? • Por padrão ela não volta e estaremos sem proteção! BOSFS2 (idle) SFOFS2 (down) SFO BOS BOSFS1 (idle) SFOFS1 (idle) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 102 Como Obtemos a Real Alta Disponibilidade? • Você quer que ela volte utilizando o SFOFS1 quando reiniciado! BOSFS2 (idle) SFOFS2 (down) SFO BOS BOSFS1 (idle) SFOFS1 (active) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 103 Finalizando a Real Alta Disponibilidade • Adicione o qualificador FALLBACK ao RedoRoutes – Para o primário SFO Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 104 Finalizando a Real Alta Disponibilidade • Adicione o qualificador FALLBACK ao RedoRoutes – Para o primário SFO – Para o Standby BOS Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 105 Alcançando a Real Alta Disponibilidade! • Com FALLBACK nós apenas enviamos o redo! BOSFS2 (idle) SFOFS2 (down) SFO BOS BOSFS1 (idle) SFOFS1 (active) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 106 Validando suas Instâncias Far Sync • VALIDATE pode também validar o setup da sua instância Far Sync Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 107 Validando suas Instâncias Far Sync • VALIDATE pode também validar o setup da sua instância Far Sync • Valida um Far Sync de Boston Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 108 Validando suas Instâncias Far Sync • VALIDATE can also validate your Far Sync Instance Setup • Valida um Far Sync de San Francisco Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 109 Validando suas Instâncias Far Sync • VALIDATE pode também validar o setup de instâncias Far Sync futuras Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 110 Validando suas Instâncias Far Sync • VALIDATE pode também validar o setup de instâncias Far Sync futuras • Valida um Far Sync de Boston quando San Francisco for o primário Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 111 Validando suas Instâncias Far Sync • VALIDATE pode também validar o setup de instâncias Far Sync futuras • Valida um Far Sync de San Francisco quando Boston for o primário Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 112 Muitas Possibilidades de Distribuição e Proteção • Configuração Dual Site Symmetrical (possibilidades de failover triplo) BOSFS2 (idle) SFOFS2 (idle) BOS SFO ASYNC BOSFS1 (active) SFOFS1 (active) BOSADG SFOADG • Claro que todos os standbys acima podem ter o Active Data Guard habilitados Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 113 Muitas Possibilidades de Distribuição e Proteção • Múltiplos Farms de Leitura Remotos FS4 (idle) FS2 (idle) ASYNC FS3 (active) FS1 (active) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 114 Uma Nota Final sobre RedoRoutes • Lembra do SYNC standby local com um ASYNC Standby remoto? SYNC ASYNC BOS SFO SFOADG Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 115 Uma Nota Final sobre RedoRoutes SYNC • Um Switchover entre SFO e SFOADG, tudo funcionou bem. BOS SFO SFOADG Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 116 Uma Nota Final sobre RedoRoutes • Mas uma mudança para o standby ASYNC remoto BOS causou estragos! SYNC! BOS SFO SFOADG • SYNC + WAN não é bom para performance, você teve que reiniciar o LogXptMode. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 117 Uma Nota Final sobre RedoRoutes • Com RedoRoutes tudo é automático! ASYNC BOS SFO SFOADG • As reconfigurações não são mais requeridas! Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 118 Program Agenda Introdução Melhorias do Data Guard Broker Configuração para Perda de Dados Zero em Longas Distâncias DML em um Active Data Guard Standby Conclusão Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 119 Escrevendo em Tabelas Temporárias (GTT) Active Data Guard DML • DML nas tabelas temporárias agora é suportado no Active Data Guard – DDL para criar a tabela temporária deve ser executado no banco de dados primário – Aplicações que são read-only mas querem DML em tabelas temporárias podem ter processamento realizado em um standby com Active Data Guard • Habilitado com um novo parâmetro de inicialização no 12c TEMP_UNDO_ENABLED – Separa undo de tabelas temporárias de undo de tabelas persistentes • Qualquer undo temporário não é logado nos redo logs • Configurado por padrão em um standby do Active Data Guard Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 120 Sequences Ampliando a utilidade das GTT • Sequences agora são suportadas no Active Data Guard – Aplicações agora tem acesso a um conjunto de identificadores únicos – Ambas as sequences globais e sessão (novo) estão disponíveis • Global – a sequence é única em todas os bancos de dados na configuração • Session – a sequence é única a sessão • DDL para criar a sequence deve ser executada no banco de dados primário Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 121 Global Sequences Active Data Guard • As Sequences são criadas usando as opções padrão CACHE e NOORDER e podem ser usadas em um banco de dados standby do Active Data Guard • Quando acessar o standby pela primeira vez, o primário aloca um range único de números sequenciais • Quando todas os números sequenciais no range são utilizados, o standby faz a requisição de outro range de números • Cada range enviado para um standby é único – então há conjunto único de identificadores em toda configuração do Active Data Guard Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 122 Session Sequences Active Data Guard • Uma sequence especificamente desenhada para uso com tabelas temporárias que tem visibilidade por sessão – Um range único de números dentro do contexto de sessão – As sequences de sessão não são persistentes – o estado das sequences por sessão é perdido quando a sessão termina • Para criar uma sequence: SQL> CREATE SEQUENCE … SESSION; Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 123 Benefícios: Temporary Undo e Sequences Aumenta o Retorno no Investimento nos Bancos de Dados Standby • Relatórios e outras aplicações que são geralmente read-only mas requerem acesso a escrita não-persistente ao banco de dados podem ser executados no standby do Active Data Guard utilizando global temporary tables • Reduz volume de redo se estiver habilitado no banco de dados primário – Temporary undo não é logado no redo – Melhora performance do banco de dados primário – Reduz consumo de banda de rede – menos redo para ser enviado ao Data Guard – Menos I/O no standby • Aplicações read-only que requerem geração de sequences únicas podem ter o offload de processamento no Active Data Guard standby Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Program Agenda Introdução Melhorias do Data Guard Broker Configuração para Perda de Dados Zero em Longas Distâncias DML em um Active Data Guard Standby Conclusão Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 125 Data Guard 12c Conclusão das Novas Features • Data Guard – – – – – – – – – – – – – – – • Active Data Guard SYSDG Role para operações específicas Data Guard Multitenent Database Standbys Default Real Time Apply Movimento Online e Transparente de Data file Comando de switchover no SQL*Plus Sem shutdown no Primário para Switchover FastSync (SYNC NOAFFIRM) Suporte aprimorado de datatypes para upgrades Suporte de Logical Standby para data types adicionais Suporte a DBMS_SCHEDULER para Rolling Upgrades Capacidade do Broker para VALIDATE DATABASE Configuração aprimorada do Broker com RedoRoutes Broker Resumable switchover Novas propriedades e capacidades do Broker Observer Suporte ao Broker para cascatenamento de destinos de redo – – – – – – – Cascateamento de destinos de redo em tempo real Perda de Dados Zero para distâncias WAN com Far Sync Global Temporary Table DML em standby Sequences (global and session) no standby Rolling upgrades automatizados com DBMS_ROLLING Suporte para Oracle Application Continuity Suporte para Oracle Global Data Services Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 126 Recursos • Oracle Data Guard – http://www.oracle.com/goto/dataguard • Maximum Availability Architecture (MAA) – http://www.oracle.com/goto/maa • MAA Blogs – http://blogs.oracle.com/maa • Oracle Active Data Guard Far Sync - Zero Data Loss at Any Distance – http://www.oracle.com/technetwork/database/availability/farsync-2267608.pdf Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 127 Caso de Cliente – Banco do Brasil Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 129 Diretoria de Tecnologia - DITEC Melhores práticas e visão detalhada sobre contingência e o Oracle Active Data Guard Apresentação Nome: Everton Sims de Queiroz Cargo: Gerente de TI Email: [email protected] Experiência Oracle: 10+ Agenda SOBRE O BANCO DO BRASIL PROJETO SISREDEX • ARQUITETURA • TECNOLOGIA ORACLE Sobre o Banco do Brasil • 57,9% sob controle do Governo Federal, fundado em 1808. • Maior banco da América Latina em termos de ativos totais, R$1,5 trilhão. • 18.892 pontos de atendimento (Rede Própria). • 5.544 agências. • 62 milhões de clientes. • 111.613 funcionários. MAR/2015 Sobre o Banco do Brasil MAR/2015 Sobre o Banco do Brasil MAR/2015 Projeto SISREDEX O Projeto SISREDEX trata da customização e implementação de solução única para automação da rede de dependências do Banco do Brasil no exterior. O Projeto teve início em 2008 por iniciativa da área gestora de negócios internacionais e a Diretoria de Tecnologia. Objetivos do Projeto: • Sistema único para toda a Rede. • Aderência às necessidades de negócio de cada agência. • Flexibilidade na customização e criação de produtos. • Flexibilidade na geração de informações gerenciais. • Compliance com a legislação de cada país. • Processamento centralizado na DITEC / Brasil. • Integração como os sistemas corporativos. Arquitetura Inicial Dificuldades: • Gerenciamento de vários Databases; • Ociosidade do site secundário; • Falta de Alta Disponibilidade; • Concorrência no site primário com relatórios gerencias; • Extração de informação para o DW concorrendo com o transacional. Site Primário Database Primário Site Secundário Redo Transport ASYNC Máxima Performance Database Secundário Arquitetura Atual Agências Internet Baking Cartões RAC Site Primário Site Secundário Arquitetura Atual Agências Internet Baking Cartões RAC Redo Transport SYNC Máxima Disponibilidade Garantia de Qualidade Site Primário SnapShot StandBy Site Secundário Arquitetura Atual OnLine Agências Internet Baking Cartões OBIEE Query OffLoad Redo Transport SYNC Máxima Disponibilidade RAC RAC Redo Transport SYNC Máxima Disponibilidade Garantia de Qualidade Site Primário SnapShot StandBy Site Secundário Arquitetura Atual OnLine Histórico Agências Internet Baking Cartões OBIEE Query OffLoad Redo Transport SYNC Máxima Disponibilidade RAC RAC Redo Transport SYNC Máxima Disponibilidade ETL Garantia de Qualidade Site Primário SnapShot StandBy Database Link RAC Site Secundário Arquitetura Atual OnLine Histórico Agências Internet Baking Cartões OBIEE Query OffLoad Redo Transport SYNC Máxima Disponibilidade RAC RAC Redo Transport SYNC Máxima Disponibilidade ETL Garantia de Qualidade Database Link Redo Transport SYNC Site Primário SnapShot StandBy RAC Máxima Disponibilidade RAC Site Secundário Arquitetura - MAA Benefícios: • Implantação da Alta Disponibilidade; • Consolidação dos databases; • Otimização dos recursos no site principal e secundário; • Ambiente de Garantia de Qualidade (ADG / Snapshot StandBy); • Ambiente de Teste; • Desoneração do Site Principal; • Acesso “OnLine” as informações do sistema transacional; • Extração de informações para DW utilizando o site secundário. Tecnologia Oracle • Real Application Cluster – RAC; • Active Data Guard – ADG; • Oracle Flashback; • Recovery Manager – RMAN; • ADG - Real Time Query; • ADG – SnapShot StandBy. Data Guard 11.2.0.4 – Principais Melhorias Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Data Guard • Permite os nós restantes do Active Data Guard ficarem abertos para acesso de leitura depois de uma falha do Apply Instance – Permite conexões de leitura continuarem continuamente disponíveis mesmo que haja uma falha de uma Apply Instance em um banco de dados RAC standby. – Configure_adg_instance_recovery = TRUE – Configure o parâmetro em cada instância e reinicie • Switchovers mais rápidos, ignorando sessões conectadas no Primário – Ignore qualquer sessão conectada no antigo primário, e proceda com a suspensão do redo, e gere os logs EOR, converta o control file do primário para o control file do standby, etc – Se as sessões conectadas estiverem gerando redo durante esse momento, eles vão obter erros conforme esperado – Configure via parâmetro hidden no primário “_switchover_to_standby_option”= “OPEN_ALL_IGNORE_SESSIONS” Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Data Guard • Adicione informação relacionada com Auto Block Repair em uma view – Adiciona um fixed object que coleta estatísticas do auto block repair de ambos primário e standby – Inclui • • • • • Fixed file number Block number SCN onde o bloco é marcado como corrupted Timestamp quando é corrigido Qualquer ORA error# encontrado e status do Auto Block Repair – Cada Auto Block Repair constitui de uma linha em x$krbabrstat e gv$auto_bmr_statistics Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Data Guard Broker • Propriedade PrimaryLostWriteAction – Determinea qual ação deve ser tomada se um Standby detecta um lost write no Primário – CONTINUE : Primário continua operacional se um Standby detecta que um lost write ocorreu no Primário. (Default) – SHUTDOWN : Primário realiza um shutdown abort se um Standby detecta que um lost write ocorreu no Primário • Propriedades ExternalDestinationN – ExternalDestination1 e ExternalDestination2 – Usado para especificar uma entidade que recebeu redo de um Primário corrente – Garante que um broker pode: • Enviar redo de um Primário corrente para um destino downstream do GoldenGate • Monitora o estado do redo transport a esses destinos Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Data Guard Broker • DBMS_DG.INITIATE_FS_FAILOVER chamado no FSFO Target Standby – Antes do banco de dados 11.2.0.4, esta proc poderia ser chamada só do Primário – Caso de uso • Script de monitoramento pode iniciar um faiolver se o Primário falha para atender o nível de serviço especificado pelo usuário • Permite FSFO ser inicializado com erros ORA-00240 – ORA-00240 (“control file enqueue held for more than n seconds”) pode ser especificado como um error number para cada FSFO iniciado • Nova view V$FS_OBSERVER_HISTOGRAM • Ajuda determinar um valor apropriado para FastStartFailoverThreshold • Mostra estatísticas que são baseadas na frequência de pings com sucessos entre o Observer e o Primário para diferentes intervalos de tempo Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Data Guard Broker • Propriedade ObserverReconnect – Especifique o intervalo que o Observer se disconecta e reconecta no Primário – Permite que o observer detecte problemas de disponibilidade no Primário • Similar to those experienced by a client that is unable to connect to the primary database • Helps with issues that show up at connect time that don't show up when just running SQL (By default, the observer maintains a persistent connection to the Primary) • Propriedade ObserverOverride – Especifique se o Observer deve iniciar um failover automático quando ele perde conectividade com o Primário, mesmo se um standby estiver presente com uma conexão operacional Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Data Guard Broker • Melhorias no DGMGRL SHOW DATABASE – As melhorias incluem as seguintes informações adicionais: • Apply Rate atual (para bancos de dados físicos e standbys) • Timestamp quando o Apply Lag foi calculado • Timestamp quando oTransport Lag foi calculado • Propriedade ApplyLagThreshold – Gera status de warning para standby físico e lógico quando o apply lag excede o threshold • Valor 0 segundos resulta em nenhum warning sendo gerado – Permite DBAs determinar rapidamente, que o standby ficou para trás Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Data Guard Broker • Propriedade TransportLagThreshold Database – Gera um status de warning para um Standby quando o transport lag excede o threshold • Value of 0 seconds means no warnings will be generated. – Permite DBAs determinar rapidamente, que há redo no Primário que ainda não foi enviado ao Standby • Propriedade TransportDisconnectedThreshold – Gera um status de warning para o Standby quando a última comunicação do Primário excede o threshold • Configure um limite de tempo que pode haver sem comunicação do Primário • Valor 0 segundos resulta em nenhum warnings sendo gerado – Permite DBA determinar a saúde das sessões de redo transporte na perspectiva do Standby Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Q&A Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |