Skip to main content
NetApp database solutions
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

TR-5002: Redução de custos do Oracle Active Data Guard com o Azure NetApp Files

Colaboradores netapp-revathid kevin-hoke

A solução fornece uma visão geral e detalhes para configurar o Oracle Data Guard usando o Microsoft Azure NetApp Files (ANF) como armazenamento de banco de dados primário e em espera para reduzir o custo de licenciamento e operacional da solução Oracle Data Guard HA/DR na nuvem Azure.

Propósito

O Oracle Data Guard garante alta disponibilidade, proteção de dados e recuperação de desastres para dados corporativos em uma configuração de replicação de banco de dados primário e banco de dados standby. O Oracle Active Data Guard permite que os usuários acessem bancos de dados standby enquanto a replicação de dados está ativa do banco de dados principal para os bancos de dados standby. O Data Guard é um recurso do Oracle Database Enterprise Edition. Não requer licenciamento separado. Por outro lado, o Active Data Guard é uma opção do Oracle Database Enterprise Edition, portanto, requer uma licença separada. Vários bancos de dados em espera podem receber replicação de dados de um banco de dados primário na configuração do Active Data Guard. No entanto, cada banco de dados de espera adicional requer uma licença do Active Data Guard e armazenamento extra, conforme o tamanho do banco de dados primário. Os custos operacionais aumentam rapidamente.

Se você deseja reduzir os custos da operação do seu banco de dados Oracle e planeja configurar um Active Data Guard na nuvem do Azure, considere uma alternativa. Em vez do Active Data Guard, use o Data Guard para replicar do banco de dados primário para um único banco de dados físico em espera no armazenamento do Azure NetApp Files . Posteriormente, várias cópias desse banco de dados de espera podem ser clonadas e abertas para acesso de leitura/gravação para atender a muitos outros casos de uso, como relatórios, desenvolvimento, testes etc. Os resultados líquidos efetivamente fornecem funcionalidades do Active Data Guard, eliminando a licença do Active Data Guard. Nesta documentação, demonstramos como configurar um Oracle Data Guard com seu banco de dados primário existente e banco de dados standby físico no armazenamento ANF. O banco de dados em espera é copiado e clonado para acesso de leitura/gravação para casos de uso, conforme desejado, por meio da ferramenta de gerenciamento de banco de dados NetApp SnapCenter . A equipe de engenharia da NetApp Solutions também fornece um kit de ferramentas de automação para atualizar o clone de acordo com uma programação definida pelo usuário para um gerenciamento completo e automatizado do ciclo de vida do clone do banco de dados, sem necessidade de intervenção do usuário.

Esta solução aborda os seguintes casos de uso:

  • Implementação do Oracle Data Guard entre um banco de dados primário e um banco de dados standby físico no armazenamento do Microsoft Azure NetApp Files em regiões do Azure.

  • Faça backup e clone o banco de dados standby físico para atender a casos de uso como relatórios, desenvolvimento, testes, etc.

  • Gerenciamento do ciclo de vida de atualização de clones do banco de dados Oracle por meio de automação.

Público

Esta solução é destinada às seguintes pessoas:

  • Um DBA que configura o Oracle Active Data Guard na nuvem do Azure para alta disponibilidade, proteção de dados e recuperação de desastres.

  • Um arquiteto de soluções de banco de dados interessado na configuração do Oracle Active Data Guard na nuvem Azure.

  • Um administrador de armazenamento que gerencia o armazenamento do Azure NetApp Files que oferece suporte ao Oracle Data Guard.

  • Um proprietário de aplicativo que gosta de instalar o Oracle Data Guard em um ambiente de nuvem do Azure.

Ambiente de teste e validação de soluções

O teste e a validação desta solução foram realizados em um ambiente de laboratório em nuvem do Azure que pode não corresponder ao ambiente real de implantação do usuário. Para mais informações, consulte a seção Fatores-chave para consideração de implantação .

Arquitetura

Esta imagem fornece uma visão detalhada da implementação do Oracle Data Guard na nuvem do Azure no ANF.

Componentes de hardware e software

Hardware

Azure NetApp Files

Versão atual oferecida pela Microsoft

Dois pools com capacidade de 3 TiB, nível de serviço padrão, QoS automático

VMs do Azure para servidores de banco de dados

B4ms padrão (4 vcpus, 16 GiB de memória)

Três VMs de banco de dados, uma como servidor de banco de dados primário, uma como servidor de banco de dados de espera e a terceira como servidor de banco de dados clone

Software

RedHat Linux

Red Hat Enterprise Linux 8.6 (LVM) - x64 Gen2

Assinatura RedHat implantada para teste

Banco de Dados Oracle

Versão 19.18

Patch RU aplicado p34765931_190000_Linux-x86-64.zip

Oracle OPatch

Versão 12.2.0.1.36

Último patch p6880880_190000_Linux-x86-64.zip

SnapCenter

Versão 6.0.1

Versão 6.0.1.4487

NFS

Versão 3.0

dNFS habilitado para Oracle

Configuração do Oracle Data Guard com configuração hipotética de NY para LA DR

Banco de dados

DB_UNIQUE_NAME

Nome do serviço Oracle Net

Primário

NTAP_NY

NTAP_NY.internal.cloudapp.net

Espera

NTAP_LA

NTAP_LA.internal.cloudapp.net

Fatores-chave para consideração de implantação

  • Clone de banco de dados em espera. Ao receber e aplicar logs de transações do banco de dados primário, o banco de dados standby físico pode ser clonado e montado em uma VM de banco de dados para dar suporte a outras cargas de trabalho, como DEV, TEST ou Report. O clone pode ser fino ou grosso. No momento, o ANF suporta apenas clones grossos, que são cópias completas do banco de dados standby. A opção de clone fino ANF será lançada em breve. Para cópias finamente clonadas de volumes de banco de dados, ele compartilha os mesmos volumes de banco de dados do banco de dados em espera e utiliza a tecnologia de cópia na gravação para atender E/S de gravação. Dessa forma, o clone é muito eficiente em termos de armazenamento e pode ser usado para muitos outros casos de uso com alocação mínima e incremental de novo armazenamento para novas E/S de gravação. Isso proporciona uma tremenda economia de custos de armazenamento ao reduzir substancialmente o espaço de armazenamento do Active Data Guard. A NetApp recomenda minimizar as atividades do FlexClone no caso de troca do banco de dados do armazenamento primário para o armazenamento ANF em espera, a fim de manter o desempenho do Oracle em alto nível.

  • Requisitos de software Oracle. Em geral, um banco de dados standby físico deve ter a mesma versão do Database Home que o banco de dados primário, incluindo Patch Set Exceptions (PSEs), Critical Patch Updates (CPUs) e Patch Set Updates (PSUs), a menos que um processo Oracle Data Guard Standby-First Patch Apply esteja em andamento (conforme descrito na nota 1265700.1 do My Oracle Support em"support.oracle.com" .

  • Considerações sobre a estrutura do diretório do banco de dados em espera. Se possível, os arquivos de dados, arquivos de log e arquivos de controle nos sistemas primário e de espera devem ter os mesmos nomes e nomes de caminho e usar convenções de nomenclatura da Arquitetura Flexível Ótima (OFA). Os diretórios de arquivamento no banco de dados de espera também devem ser idênticos entre os sites, incluindo tamanho e estrutura. Essa estratégia permite que outras operações, como backups, alternâncias e failovers, executem o mesmo conjunto de etapas, reduzindo a complexidade da manutenção.

  • Modo de registro forçado. Para proteger contra gravações diretas não registradas no banco de dados primário que não podem ser propagadas para o banco de dados em espera, ative FORÇAR REGISTRO no banco de dados primário antes de executar backups de arquivos de dados para criação em espera.

  • Dimensionamento de VM do Azure. Nestes testes e validações, usamos uma VM do Azure - Standard_B4ms com 4 vCPUs e 16 GiB de memória. Você precisa dimensionar a VM do Azure DB adequadamente para o número de vCPUs e a quantidade de RAM com base nos requisitos reais da carga de trabalho.

  • * Configuração do Azure NetApp Files .* Os Azure NetApp Files são alocados na conta de armazenamento do Azure NetApp como Capacity Pools . Nesses testes e validações, implantamos um pool com capacidade de 3 TiB para hospedar o Oracle primário na região Leste e um banco de dados standby na região Oeste 2. O pool de capacidade da ANF tem três níveis de serviço: Standard, Premium e Ultra.   A capacidade de E/S do pool de capacidade ANF é baseada no tamanho do pool de capacidade e seu nível de serviço. Para implantação de produção, a NetApp recomenda fazer uma avaliação completa da necessidade de taxa de transferência do seu banco de dados Oracle e dimensionar o pool de capacidade do banco de dados adequadamente. Na criação de um pool de capacidade, você pode definir o QoS como Automático ou Manual e a criptografia de dados em repouso como Única ou Dupla.  

  • Configuração dNFS. Ao usar o dNFS, um banco de dados Oracle em execução em uma Máquina Virtual do Azure com armazenamento ANF pode gerar significativamente mais E/S do que o cliente NFS nativo. A implantação automatizada do Oracle usando o kit de ferramentas de automação da NetApp configura automaticamente o dNFS no NFSv3.

Implantação da solução

Supõe-se que você já tenha seu banco de dados Oracle primário implantado em um ambiente de nuvem do Azure dentro de uma VNet como ponto de partida para configurar o Oracle Data Guard. O ideal é que o banco de dados primário seja implantado no armazenamento ANF com montagem NFS. Três pontos de montagem NFS são criados para o armazenamento do banco de dados Oracle: montagem /u01 para os arquivos binários Oracle, montagem /u02 para os arquivos de dados Oracle e um arquivo de controle, montagem /u03 para os arquivos de log atuais e arquivados do Oracle e um arquivo de controle redundante.

Seu banco de dados Oracle principal também pode ser executado em um armazenamento NetApp ONTAP ou em qualquer outro armazenamento de escolha, seja no ecossistema do Azure ou em um data center privado. A seção a seguir fornece procedimentos de implantação passo a passo para configurar um Oracle Data Guard entre um Oracle DB primário no Azure com armazenamento ANF e um Oracle DB de espera físico no Azure com armazenamento ANF.

Pré-requisitos para implantação

Details

A implantação requer os seguintes pré-requisitos.

  1. Uma conta de nuvem do Azure foi configurada e as sub-redes de VNet e rede necessárias foram criadas na sua conta do Azure.

  2. No console do portal de nuvem do Azure, você precisa implantar no mínimo três VMs do Azure Linux, uma como o servidor Oracle DB principal, uma como o servidor Oracle DB de espera e um servidor de DB de destino clone para relatórios, desenvolvimento, testes etc. Consulte o diagrama de arquitetura na seção anterior para obter mais detalhes sobre a configuração do ambiente. Revise também o Microsoft"Máquinas Virtuais do Azure" para maiores informações.

  3. O banco de dados Oracle primário deve ter sido instalado e configurado no servidor Oracle DB primário. Por outro lado, no servidor Oracle DB em espera ou no servidor Oracle DB clone, somente o software Oracle é instalado e nenhum banco de dados Oracle é criado. O ideal é que o layout dos diretórios dos arquivos Oracle seja exatamente igual em todos os servidores Oracle DB. Para obter detalhes sobre a recomendação da NetApp para implantação automatizada do Oracle na nuvem do Azure e ANF, consulte os seguintes relatórios técnicos para obter ajuda.

  4. No console do portal de nuvem do Azure, implante dois pools de capacidade de armazenamento ANF para hospedar volumes de banco de dados Oracle. Os pools de capacidade de armazenamento do ANF devem estar situados em regiões diferentes para imitar uma configuração verdadeira do DataGuard. Se você não estiver familiarizado com a implantação do armazenamento ANF, consulte a documentação"Início rápido: Configurar o Azure NetApp Files e criar um volume NFS" para obter instruções passo a passo.

    Captura de tela mostrando a configuração do ambiente do Azure.

  5. Quando o banco de dados Oracle principal e o banco de dados Oracle de espera estão situados em duas regiões diferentes, um gateway VPN deve ser configurado para permitir o fluxo de tráfego de dados entre duas VNets separadas. A configuração detalhada da rede no Azure está além do escopo deste documento. As capturas de tela a seguir fornecem algumas referências sobre como os gateways VPN são configurados, conectados e o fluxo de tráfego de dados é confirmado no laboratório.

    Gateways VPN de laboratório:Captura de tela mostrando a configuração do ambiente do Azure.

    O gateway vnet primário:Captura de tela mostrando a configuração do ambiente do Azure.

    Status da conexão do gateway Vnet:Captura de tela mostrando a configuração do ambiente do Azure.

    Valide se os fluxos de tráfego estão estabelecidos (clique nos três pontos para abrir a página):Captura de tela mostrando a configuração do ambiente do Azure.

Preparar o banco de dados primário para o Data Guard

Details

Nesta demonstração, configuramos um banco de dados Oracle primário chamado NTAP no servidor Azure DB primário com três pontos de montagem NFS: /u01 para o binário Oracle, /u02 para os arquivos de dados Oracle e um arquivo de controle Oracle, /u03 para os logs ativos Oracle, arquivos de log arquivados e um arquivo de controle Oracle redundante. A seguir são ilustrados os procedimentos detalhados para configurar o banco de dados primário para a proteção do Oracle Data Guard. Todas as etapas devem ser executadas como proprietário do banco de dados Oracle ou padrão oracle usuário.

  1. O NTAP do banco de dados principal no servidor de banco de dados principal do Azure, orap.internal.cloudapp.net, é implantado inicialmente como um banco de dados autônomo com o ANF como armazenamento de banco de dados.

    orap.internal.cloudapp.net:
    resource group: ANFAVSRG
    Location: East US
    size: Standard B4ms (4 vcpus, 16 GiB memory)
    OS: Linux (redhat 8.6)
    pub_ip: 172.190.207.231
    pri_ip: 10.0.0.4
    
    [oracle@orap ~]$ df -h
    Filesystem                 Size  Used Avail Use% Mounted on
    devtmpfs                   7.7G  4.0K  7.7G   1% /dev
    tmpfs                      7.8G     0  7.8G   0% /dev/shm
    tmpfs                      7.8G  209M  7.5G   3% /run
    tmpfs                      7.8G     0  7.8G   0% /sys/fs/cgroup
    /dev/mapper/rootvg-rootlv   22G  413M   22G   2% /
    /dev/mapper/rootvg-usrlv    10G  2.1G  8.0G  21% /usr
    /dev/sda1                  496M  181M  315M  37% /boot
    /dev/mapper/rootvg-homelv  2.0G   47M  2.0G   3% /home
    /dev/sda15                 495M  5.8M  489M   2% /boot/efi
    /dev/mapper/rootvg-varlv   8.0G  1.1G  7.0G  13% /var
    /dev/mapper/rootvg-tmplv    12G  120M   12G   1% /tmp
    /dev/sdb1                   32G   49M   30G   1% /mnt
    10.0.2.36:/orap-u02        500G  7.7G  493G   2% /u02
    10.0.2.36:/orap-u03        450G  6.1G  444G   2% /u03
    10.0.2.36:/orap-u01        100G  9.9G   91G  10% /u01
    
    [oracle@orap ~]$ cat /etc/oratab
    #
    
    
    
    # This file is used by ORACLE utilities.  It is created by root.sh
    # and updated by either Database Configuration Assistant while creating
    # a database or ASM Configuration Assistant while creating ASM instance.
    
    # A colon, ':', is used as the field terminator.  A new line terminates
    # the entry.  Lines beginning with a pound sign, '#', are comments.
    #
    # Entries are of the form:
    #   $ORACLE_SID:$ORACLE_HOME:<N|Y>:
    #
    # The first and second fields are the system identifier and home
    # directory of the database respectively.  The third field indicates
    # to the dbstart utility that the database should , "Y", or should not,
    # "N", be brought up at system boot time.
    #
    # Multiple entries with the same $ORACLE_SID are not allowed.
    #
    #
    NTAP:/u01/app/oracle/product/19.0.0/NTAP:N
  2. Efetue login no servidor de banco de dados primário como usuário Oracle. Faça login no banco de dados via sqlplus, habilite o registro forçado no primário.

    alter database force logging;
    [oracle@orap admin]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Tue Nov 26 20:12:02 2024
    Version 19.18.0.0.0
    
    Copyright (c) 1982, 2022, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.18.0.0.0
    
    SQL> alter database force logging;
    
    Database altered.
  3. No sqlplus, habilite o flashback no banco de dados primário. O Flashback permite restabelecer facilmente o banco de dados primário como um standby após um failover.

    alter database flashback on;
    SQL> alter database flashback on;
    
    Database altered.
  4. Configure a autenticação de transporte de refazer usando o arquivo de senha do Oracle - crie um arquivo pwd no primário usando o utilitário orapwd se ele não estiver definido e copie-o para o diretório $ORACLE_HOME/dbs do banco de dados standby.

  5. Crie logs de refazer em espera no banco de dados principal com o mesmo tamanho do arquivo de log on-line atual. Os grupos de log são um a mais que os grupos de arquivos de log on-line. O banco de dados primário pode então fazer uma transição rápida para a função de espera quando ocorre um failover e começa a receber dados de repetição. Repita o comando a seguir quatro vezes para criar quatro arquivos de log de espera.

    alter database add standby logfile thread 1 size 200M;
    SQL> alter database add standby logfile thread 1 size 200M;
    
    Database altered.
    
    SQL> /
    
    Database altered.
    
    SQL> /
    
    Database altered.
    
    SQL> /
    
    Database altered.
    
    
    SQL> set lin 200
    SQL> col member for a80
    SQL> select group#, type, member from v$logfile;
    
        GROUP# TYPE    MEMBER
    ---------- ------- --------------------------------------------------------------------------------
             3 ONLINE  /u03/orareco/NTAP/onlinelog/redo03.log
             2 ONLINE  /u03/orareco/NTAP/onlinelog/redo02.log
             1 ONLINE  /u03/orareco/NTAP/onlinelog/redo01.log
             4 STANDBY /u03/orareco/NTAP/onlinelog/o1_mf_4__2m115vkv_.log
             5 STANDBY /u03/orareco/NTAP/onlinelog/o1_mf_5__2m3c5cyd_.log
             6 STANDBY /u03/orareco/NTAP/onlinelog/o1_mf_6__2m4d7dhh_.log
             7 STANDBY /u03/orareco/NTAP/onlinelog/o1_mf_7__2m5ct7g1_.log
  6. No sqlplus, crie um pfile a partir do spfile para edição.

    create pfile='/home/oracle/initNTAP.ora' from spfile;
  7. Revise o pfile e adicione os seguintes parâmetros.

    vi /home/oracle/initNTAP.ora
    Update the following parameters if not set:
    
    DB_NAME=NTAP
    DB_UNIQUE_NAME=NTAP_NY
    LOG_ARCHIVE_CONFIG='DG_CONFIG=(NTAP_NY,NTAP_LA)'
    LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=NTAP_NY'
    LOG_ARCHIVE_DEST_2='SERVICE=NTAP_LA ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=NTAP_LA'
    REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
    FAL_SERVER=NTAP_LA
    STANDBY_FILE_MANAGEMENT=AUTO
  8. No sqlplus, recrie o spfile a partir do pfile revisado para substituir o spfile existente no diretório $ORACLE_HOME/dbs.

    create spfile='$ORACLE_HOME/dbs/spfileNTAP.ora' from pfile='/home/oracle/initNTAP.ora';
  9. Modifique o Oracle tnsnames.ora no diretório $ORACLE_HOME/network/admin para adicionar db_unique_name para resolução de nomes.

    vi $ORACLE_HOME/network/admin/tnsnames.ora
    # tnsnames.ora Network Configuration File: /u01/app/oracle/product/19.0.0/NTAP/network/admin/tnsnames.ora
    # Generated by Oracle configuration tools.
    
    NTAP_NY =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = orap.internal.cloudapp.net)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SID = NTAP)
        )
      )
    
    NTAP_LA =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oras.internal.cloudapp.net)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SID = NTAP)
        )
      )
    
    LISTENER_NTAP =
      (ADDRESS = (PROTOCOL = TCP)(HOST = orap.internal.cloudapp.net)(PORT = 1521))
    Observação Se você optar por nomear seu servidor do Azure DB de forma diferente do padrão, adicione os nomes ao arquivo de host local para resolução de nomes de host.
  10. Adicione o nome do serviço de proteção de dados NTAP_NY_DGMGRL.internal.cloudapp.net para o banco de dados primário no arquivo listener.ora.

    vi $ORACLE_HOME/network/admin/listener.ora
    # listener.ora Network Configuration File: /u01/app/oracle/product/19.0.0/NTAP/network/admin/listener.ora
    # Generated by Oracle configuration tools.
    
    LISTENER.NTAP =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = orap.internal.cloudapp.net)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )
    
    SID_LIST_LISTENER.NTAP =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = NTAP_NY_DGMGRL.internal.cloudapp.net)
          (ORACLE_HOME = /u01/app/oracle/product/19.0.0/NTAP)
          (SID_NAME = NTAP)
        )
      )
  11. Desligue e reinicie o banco de dados via sqlplus e valide se os parâmetros do Data Guard agora estão ativos.

    shutdown immediate;
    startup;
    SQL> show parameter name
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    cdb_cluster_name                     string
    cell_offloadgroup_name               string
    db_file_name_convert                 string
    db_name                              string      NTAP
    db_unique_name                       string      NTAP_NY
    global_names                         boolean     FALSE
    instance_name                        string      NTAP
    lock_name_space                      string
    log_file_name_convert                string
    pdb_file_name_convert                string
    processor_group_name                 string
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    service_names                        string      NTAP_NY.internal.cloudapp.net
    SQL> sho parameter log_archive_dest
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    log_archive_dest                     string
    log_archive_dest_1                   string      LOCATION=USE_DB_RECOVERY_FILE_
                                                     DEST VALID_FOR=(ALL_LOGFILES,A
                                                     LL_ROLES) DB_UNIQUE_NAME=NTAP_
                                                     NY
    log_archive_dest_10                  string
    log_archive_dest_11                  string
    log_archive_dest_12                  string
    log_archive_dest_13                  string
    log_archive_dest_14                  string
    log_archive_dest_15                  string
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    log_archive_dest_16                  string
    log_archive_dest_17                  string
    log_archive_dest_18                  string
    log_archive_dest_19                  string
    log_archive_dest_2                   string      SERVICE=NTAP_LA ASYNC VALID_FO
                                                     R=(ONLINE_LOGFILES,PRIMARY_ROL
                                                     E) DB_UNIQUE_NAME=NTAP_LA
    log_archive_dest_20                  string
    log_archive_dest_21                  string
    .
    .

Isso conclui a configuração primária do banco de dados para o Data Guard.

Preparar o banco de dados standby e ativar o Data Guard

Details

O Oracle Data Guard requer configuração do kernel do sistema operacional e pilhas de software Oracle, incluindo conjuntos de patches no servidor de banco de dados em espera para corresponder ao servidor de banco de dados principal. Para facilitar o gerenciamento e a simplicidade, a configuração de armazenamento do banco de dados do servidor de banco de dados em espera deve, idealmente, corresponder também à do servidor de banco de dados primário, como o layout do diretório do banco de dados e os tamanhos dos pontos de montagem do NFS. A seguir estão os procedimentos detalhados para configurar o servidor Oracle DB em espera e ativar o Oracle DataGuard para proteção HA/DR. Todos os comandos devem ser executados como o ID de usuário proprietário padrão do Oracle oracle .

  1. Primeiro, revise a configuração do banco de dados primário no servidor Oracle DB primário. Nesta demonstração, configuramos um banco de dados Oracle primário chamado NTAP no servidor de banco de dados primário com três montagens NFS no armazenamento ANF.

  2. Se você seguir a documentação TR-4987 da NetApp para configurar o servidor de banco de dados Oracle standby"TR-4987: Implantação simplificada e automatizada do Oracle no Azure NetApp Files com NFS" , use uma tag -t software_only_install na etapa 2 de Playbook execution para executar a instalação automatizada do Oracle. A sintaxe de comando revisada está listada abaixo. A tag permitirá que a pilha de software Oracle seja instalada e configurada, mas não crie um banco de dados.

    ansible-playbook -i hosts 4-oracle_config.yml -u azureuser -e @vars/vars.yml -t software_only_install
  3. Configuração do servidor Oracle DB em espera no site em espera no laboratório de demonstração.

    oras.internal.cloudapp.net:
    resource group: ANFAVSRG
    Location: West US 2
    size: Standard B4ms (4 vcpus, 16 GiB memory)
    OS: Linux (redhat 8.6)
    pub_ip: 172.179.119.75
    pri_ip: 10.0.1.4
    
    [oracle@oras ~]$ df -h
    Filesystem                 Size  Used Avail Use% Mounted on
    devtmpfs                   7.7G     0  7.7G   0% /dev
    tmpfs                      7.8G     0  7.8G   0% /dev/shm
    tmpfs                      7.8G  265M  7.5G   4% /run
    tmpfs                      7.8G     0  7.8G   0% /sys/fs/cgroup
    /dev/mapper/rootvg-rootlv   22G  413M   22G   2% /
    /dev/mapper/rootvg-usrlv    10G  2.1G  8.0G  21% /usr
    /dev/sda1                  496M  181M  315M  37% /boot
    /dev/mapper/rootvg-varlv   8.0G  985M  7.1G  13% /var
    /dev/mapper/rootvg-homelv  2.0G   52M  2.0G   3% /home
    /dev/mapper/rootvg-tmplv    12G  120M   12G   1% /tmp
    /dev/sda15                 495M  5.8M  489M   2% /boot/efi
    /dev/sdb1                   32G   49M   30G   1% /mnt
    10.0.3.36:/oras-u01        100G  9.5G   91G  10% /u01
    10.0.3.36:/oras-u02        500G  8.1G  492G   2% /u02
    10.0.3.36:/oras-u03        450G  4.8G  446G   2% /u03
  4. Depois que o software Oracle estiver instalado e configurado, defina o diretório inicial e o caminho do Oracle. Além disso, no diretório $ORACLE_HOME dbs, copie a senha do Oracle do banco de dados primário, caso ainda não tenha feito isso.

    export ORACLE_HOME=/u01/app/oracle/product/19.0.0/NTAP
    export PATH=$PATH:$ORACLE_HOME/bin
    scp oracle@10.0.0.4:$ORACLE_HOME/dbs/orapwNTAP .
  5. Atualize o arquivo tnsnames.ora com as seguintes entradas.

    vi $ORACLE_HOME/network/admin/tnsnames.ora
    # tnsnames.ora Network Configuration File: /u01/app/oracle/product/19.0.0/NTAP/network/admin/tnsnames.ora
    # Generated by Oracle configuration tools.
    
    NTAP_NY =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = orap.internal.cloudapp.net)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SID = NTAP)
        )
      )
    
    NTAP_LA =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oras.internal.cloudapp.net)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SID = NTAP)
        )
      )
  6. Adicione o nome do serviço de proteção de dados do BD ao arquivo listener.ora.

    vi $ORACLE_HOME/network/admin/listener.ora
    # listener.ora Network Configuration File: /u01/app/oracle/product/19.0.0/NTAP/network/admin/listener.ora
    # Generated by Oracle configuration tools.
    
    LISTENER.NTAP =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = oras.internal.cloudapp.net)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )
    
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = NTAP)
        )
      )
    
    SID_LIST_LISTENER.NTAP =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = NTAP_LA_DGMGRL.internal.cloudapp.net)
          (ORACLE_HOME = /u01/app/oracle/product/19.0.0/NTAP)
          (SID_NAME = NTAP)
        )
      )
    
    LISTENER =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oras.internal.cloudapp.net)(PORT = 1521))
      )
  7. Inicie o dbca para instanciar o banco de dados standby a partir do banco de dados primário NTAP.

    dbca -silent -createDuplicateDB -gdbName NTAP -primaryDBConnectionString orap.internal.cloudapp.net:1521/NTAP_NY.internal.cloudapp.net -sid NTAP -initParams fal_server=NTAP_NY -createAsStandby -dbUniqueName NTAP_LA
    [oracle@oras admin]$ dbca -silent -createDuplicateDB -gdbName NTAP -primaryDBConnectionString orap.internal.cloudapp.net:1521/NTAP_NY.internal.cloudapp.net -sid NTAP -initParams fal_server=NTAP_NY -createAsStandby -dbUniqueName NTAP_LA
    Enter SYS user password:
    
    Prepare for db operation
    22% complete
    Listener config step
    44% complete
    Auxiliary instance creation
    67% complete
    RMAN duplicate
    89% complete
    Post duplicate database operations
    100% complete
    
    Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/NTAP_LA/NTAP_LA.log" for further details.
  8. Valide o banco de dados de espera duplicado. O banco de dados de espera recém-duplicado é aberto inicialmente no modo SOMENTE LEITURA.

    [oracle@oras admin]$ cat /etc/oratab
    #
    
    
    
    # This file is used by ORACLE utilities.  It is created by root.sh
    # and updated by either Database Configuration Assistant while creating
    # a database or ASM Configuration Assistant while creating ASM instance.
    
    # A colon, ':', is used as the field terminator.  A new line terminates
    # the entry.  Lines beginning with a pound sign, '#', are comments.
    #
    # Entries are of the form:
    #   $ORACLE_SID:$ORACLE_HOME:<N|Y>:
    #
    # The first and second fields are the system identifier and home
    # directory of the database respectively.  The third field indicates
    # to the dbstart utility that the database should , "Y", or should not,
    # "N", be brought up at system boot time.
    #
    # Multiple entries with the same $ORACLE_SID are not allowed.
    #
    #
    NTAP:/u01/app/oracle/product/19.0.0/NTAP:N
    [oracle@oras admin]$ export ORACLE_SID=NTAP
    [oracle@oras admin]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Tue Nov 26 23:04:07 2024
    Version 19.18.0.0.0
    
    Copyright (c) 1982, 2022, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.18.0.0.0
    
    SQL> select name, open_mode from v$database;
    
    NAME      OPEN_MODE
    --------- --------------------
    NTAP      READ ONLY
    
    SQL> show parameter name
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    cdb_cluster_name                     string
    cell_offloadgroup_name               string
    db_file_name_convert                 string
    db_name                              string      NTAP
    db_unique_name                       string      NTAP_LA
    global_names                         boolean     FALSE
    instance_name                        string      NTAP
    lock_name_space                      string
    log_file_name_convert                string
    pdb_file_name_convert                string
    processor_group_name                 string
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    service_names                        string      NTAP_LA.internal.cloudapp.net
    SQL> show parameter log_archive_config
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    log_archive_config                   string      DG_CONFIG=(NTAP_NY,NTAP_LA)
    SQL> show parameter fal_server
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    fal_server                           string      NTAP_NY
    SQL> select name from v$datafile;
    
    NAME
    --------------------------------------------------------------------------------
    /u02/oradata/NTAP/system01.dbf
    /u02/oradata/NTAP/sysaux01.dbf
    /u02/oradata/NTAP/undotbs01.dbf
    /u02/oradata/NTAP/pdbseed/system01.dbf
    /u02/oradata/NTAP/pdbseed/sysaux01.dbf
    /u02/oradata/NTAP/users01.dbf
    /u02/oradata/NTAP/pdbseed/undotbs01.dbf
    /u02/oradata/NTAP/NTAP_pdb1/system01.dbf
    /u02/oradata/NTAP/NTAP_pdb1/sysaux01.dbf
    /u02/oradata/NTAP/NTAP_pdb1/undotbs01.dbf
    /u02/oradata/NTAP/NTAP_pdb1/users01.dbf
    
    NAME
    --------------------------------------------------------------------------------
    /u02/oradata/NTAP/NTAP_pdb2/system01.dbf
    /u02/oradata/NTAP/NTAP_pdb2/sysaux01.dbf
    /u02/oradata/NTAP/NTAP_pdb2/undotbs01.dbf
    /u02/oradata/NTAP/NTAP_pdb2/users01.dbf
    /u02/oradata/NTAP/NTAP_pdb3/system01.dbf
    /u02/oradata/NTAP/NTAP_pdb3/sysaux01.dbf
    /u02/oradata/NTAP/NTAP_pdb3/undotbs01.dbf
    /u02/oradata/NTAP/NTAP_pdb3/users01.dbf
    
    19 rows selected.
    
    SQL> select name from v$controlfile;
    
    NAME
    --------------------------------------------------------------------------------
    /u02/oradata/NTAP/control01.ctl
    /u03/orareco/NTAP_LA/control02.ctl
    
    SQL> col member form a80
    SQL> select group#, type, member from v$logfile order by 2, 1;
    
        GROUP# TYPE    MEMBER
    ---------- ------- --------------------------------------------------------------------------------
             1 ONLINE  /u03/orareco/NTAP_LA/onlinelog/o1_mf_1_mndl6mxh_.log
             2 ONLINE  /u03/orareco/NTAP_LA/onlinelog/o1_mf_2_mndl7jdb_.log
             3 ONLINE  /u03/orareco/NTAP_LA/onlinelog/o1_mf_3_mndl8f03_.log
             4 STANDBY /u03/orareco/NTAP_LA/onlinelog/o1_mf_4_mndl99m7_.log
             5 STANDBY /u03/orareco/NTAP_LA/onlinelog/o1_mf_5_mndlb67d_.log
             6 STANDBY /u03/orareco/NTAP_LA/onlinelog/o1_mf_6_mndlc2tw_.log
             7 STANDBY /u03/orareco/NTAP_LA/onlinelog/o1_mf_7_mndlczhb_.log
    
    7 rows selected.
  9. Reinicie o banco de dados de espera em mount prepare e execute o seguinte comando para ativar a recuperação gerenciada do banco de dados em espera.

    alter database recover managed standby database disconnect from session;
    SQL> shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup mount;
    ORACLE instance started.
    
    Total System Global Area 6442449688 bytes
    Fixed Size                  9177880 bytes
    Variable Size            1090519040 bytes
    Database Buffers         5335154688 bytes
    Redo Buffers                7598080 bytes
    Database mounted.
    SQL> alter database recover managed standby database disconnect from session;
    
    Database altered.
  10. Valide o status de recuperação do banco de dados em espera. Observe o recovery logmerger em APPLYING_LOG Ação.

    SELECT ROLE, THREAD#, SEQUENCE#, ACTION FROM V$DATAGUARD_PROCESS;
SQL> SELECT ROLE, THREAD#, SEQUENCE#, ACTION FROM V$DATAGUARD_PROCESS;

ROLE                        THREAD#  SEQUENCE# ACTION
------------------------ ---------- ---------- ------------
post role transition              0          0 IDLE
recovery apply slave              0          0 IDLE
recovery apply slave              0          0 IDLE
recovery apply slave              0          0 IDLE
recovery apply slave              0          0 IDLE
recovery logmerger                1         18 APPLYING_LOG
managed recovery                  0          0 IDLE
RFS async                         1         18 IDLE
RFS ping                          1         18 IDLE
archive redo                      0          0 IDLE
redo transport timer              0          0 IDLE

ROLE                        THREAD#  SEQUENCE# ACTION
------------------------ ---------- ---------- ------------
gap manager                       0          0 IDLE
archive redo                      0          0 IDLE
archive redo                      0          0 IDLE
redo transport monitor            0          0 IDLE
log writer                        0          0 IDLE
archive local                     0          0 IDLE

17 rows selected.

SQL>

Isso conclui a configuração da proteção do Data Guard para NTAP do primário para o standby com a recuperação do standby gerenciado habilitada.

Configurar o Data Guard Broker

Details

O Oracle Data Guard Broker é uma estrutura de gerenciamento distribuída que automatiza e centraliza a criação, a manutenção e o monitoramento das configurações do Oracle Data Guard. A seção a seguir demonstra como configurar o Data Guard Broker para gerenciar o ambiente do Data Guard.

  1. Inicie o Data Guard Broker nos bancos de dados primário e de espera com o seguinte comando via sqlplus.

    alter system set dg_broker_start=true scope=both;
  2. No banco de dados primário, conecte-se ao Data Guard Borker como SYSDBA.

    [oracle@orap ~]$ dgmgrl sys@NTAP_NY
    DGMGRL for Linux: Release 19.0.0.0.0 - Production on Wed Dec 11 20:53:20 2024
    Version 19.18.0.0.0
    
    Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
    
    Welcome to DGMGRL, type "help" for information.
    Password:
    Connected to "NTAP_NY"
    Connected as SYSDBA.
    DGMGRL>
  3. Crie e habilite a configuração do Data Guard Broker.

    DGMGRL> create configuration dg_config as primary database is NTAP_NY connect identifier is NTAP_NY;
    Configuration "dg_config" created with primary database "ntap_ny"
    DGMGRL> add database NTAP_LA as connect identifier is NTAP_LA;
    Database "ntap_la" added
    DGMGRL> enable configuration;
    Enabled.
    DGMGRL> show configuration;
    
    Configuration - dg_config
    
      Protection Mode: MaxPerformance
      Members:
      ntap_ny - Primary database
        ntap_la - Physical standby database
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    SUCCESS   (status updated 3 seconds ago)
  4. Valide o status do banco de dados dentro da estrutura de gerenciamento do Data Guard Broker.

    DGMGRL> show database db1_ny;
    
    Database - db1_ny
    
      Role:               PRIMARY
      Intended State:     TRANSPORT-ON
      Instance(s):
        db1
    
    Database Status:
    SUCCESS
    
    DGMGRL> show database db1_la;
    
    Database - db1_la
    
      Role:               PHYSICAL STANDBY
      Intended State:     APPLY-ON
      Transport Lag:      0 seconds (computed 1 second ago)
      Apply Lag:          0 seconds (computed 1 second ago)
      Average Apply Rate: 2.00 KByte/s
      Real Time Query:    OFF
      Instance(s):
        db1
    
    Database Status:
    SUCCESS
    
    DGMGRL>

Em caso de falha, o Data Guard Broker pode ser usado para fazer failover do banco de dados primário para o standby instantaneamente. Se Fast-Start Failover estiver habilitado, o Data Guard Broker poderá fazer failover do banco de dados primário para o standby quando uma falha for detectada sem a intervenção do usuário.

Clonar banco de dados standby para outros casos de uso

Details

O principal benefício de hospedar o banco de dados standby Oracle no ANF na configuração do Oracle Data Guard é que ele pode ser rapidamente clonado para atender a muitos outros casos de uso com investimento mínimo em armazenamento adicional se um clone fino estiver habilitado. A NetApp recomenda usar a ferramenta SnapCenter UI para gerenciar seu banco de dados Oracle DataGuard. Na seção a seguir, demonstramos como criar um snapshot e clonar os volumes de banco de dados em espera montados e em recuperação no ANF para outros propósitos, como DEV, TEST, REPORT, etc., usando a ferramenta NetApp SnapCenter .

Abaixo estão os procedimentos de alto nível para clonar um banco de dados de LEITURA/GRAVAÇÃO do banco de dados standby físico gerenciado no Oracle Data Guard usando o SnapCenter. Para obter instruções detalhadas sobre como configurar o SnapCenter para Oracle no ANF, consulte TR-4988"Backup, recuperação e clonagem de banco de dados Oracle em ANF com SnapCenter" para mais detalhes.

  1. Começamos a validação do caso de uso criando uma tabela de teste e inserindo uma linha na tabela de teste no banco de dados primário. Em seguida, validaremos se a transação passa para o modo de espera e, finalmente, para o clone.

    [oracle@orap ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Wed Dec 11 16:33:17 2024
    Version 19.18.0.0.0
    
    Copyright (c) 1982, 2022, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.18.0.0.0
    
    SQL> alter session set container=ntap_pdb1;
    
    Session altered.
    
    SQL> create table test(id integer, dt timestamp, event varchar(100));
    
    Table created.
    
    SQL> insert into test values(1, sysdate, 'a test transaction at primary database NTAP on DB server orap.internal.cloudapp.net');
    
    1 row created.
    
    SQL> commit;
    
    Commit complete.
    
    SQL> select * from test;
    
            ID
    ----------
    DT
    ---------------------------------------------------------------------------
    EVENT
    --------------------------------------------------------------------------------
             1
    11-DEC-24 04.38.44.000000 PM
    a test transaction at primary database NTAP on DB server orap.internal.cloudapp.
    net
    
    
    SQL> select instance_name, host_name from v$instance;
    
    INSTANCE_NAME
    ----------------
    HOST_NAME
    ----------------------------------------------------------------
    NTAP
    orap
    
    
    SQL>
  2. Na configuração do SnapCenter , um usuário Unix (azureuser para demonstração) e uma credencial do Azure (azure_anf para demonstração) foram adicionados Credential em Settings .

    Captura de tela mostrando esta etapa na GUI.

  3. Use a credencial azure_anf para adicionar o armazenamento ANF a Storage Systems . Se você tiver várias contas de armazenamento ANF na sua assinatura do Azure, clique na lista suspensa para escolher a conta de armazenamento correta. Criamos duas contas de armazenamento Oracle dedicadas para esta demonstração.

    Captura de tela mostrando esta etapa na GUI.

  4. Todos os servidores Oracle DB foram adicionados ao SnapCenter Hosts .

    Captura de tela mostrando esta etapa na GUI.

    Observação O servidor de banco de dados clone deve ter pilhas de software Oracle idênticas instaladas e configuradas. Em nosso caso de teste, o software Oracle 19C está instalado e configurado, mas nenhum banco de dados foi criado.
  5. Crie uma política de backup personalizada para backup completo do banco de dados offline/montado.

    Captura de tela mostrando esta etapa na GUI.

  6. Aplicar política de backup para proteger o banco de dados em espera em Resources aba. Quando descoberto inicialmente, o status do banco de dados é mostrado como Not protected .

    Captura de tela mostrando esta etapa na GUI.

  7. Você tem a opção de acionar um backup manualmente ou agendá-lo em um horário definido após a aplicação de uma política de backup.

    Captura de tela mostrando esta etapa na GUI.

  8. Após um backup, clique no nome do banco de dados para abrir a página de backups do banco de dados. Selecione um backup a ser usado para clonagem do banco de dados e clique em Clone botão para iniciar o fluxo de trabalho de clonagem.

    Captura de tela mostrando esta etapa na GUI.

  9. Selecione o Complete Database Clone e nomeie o SID da instância do clone.

    Captura de tela mostrando esta etapa na GUI.

  10. Selecione o servidor de banco de dados clone, que hospeda o banco de dados clonado do banco de dados em espera. Aceite o padrão para arquivos de dados e logs de refazer. Coloque um arquivo de controle no ponto de montagem /u03.

    Captura de tela mostrando esta etapa na GUI.

  11. Nenhuma credencial de banco de dados é necessária para autenticação baseada em sistema operacional. Combine a configuração inicial do Oracle com o que está configurado no servidor de banco de dados clone.

    Captura de tela mostrando esta etapa na GUI.

  12. Altere os parâmetros do banco de dados clone, se necessário, como reduzir o tamanho do PGA ou SGA para um banco de dados clone. Especifique scripts a serem executados antes do clone, se houver.

    Captura de tela mostrando esta etapa na GUI.

  13. Digite SQL para executar após o clone. Na demonstração, executamos comandos para desativar o modo de arquivamento de banco de dados para um banco de dados de desenvolvimento/teste/relatório.

    Captura de tela mostrando esta etapa na GUI.

  14. Configure a notificação por e-mail, se desejar.

    Captura de tela mostrando esta etapa na GUI.

  15. Revise o resumo, clique Finish para iniciar o clone.

    Captura de tela mostrando esta etapa na GUI.

  16. Monitore o trabalho de clonagem em Monitor aba. Observamos que levou cerca de 14 minutos para clonar um banco de dados com cerca de 950 GB de volume.

    Captura de tela mostrando esta etapa na GUI.

  17. Valide o banco de dados clone do SnapCenter, que é imediatamente registrado em Resources guia logo após a operação de clonagem.

    Captura de tela mostrando esta etapa na GUI.

  18. Consulte o banco de dados clone do servidor de banco de dados clone. Validamos que a transação de teste que ocorreu no banco de dados primário foi transferida para o banco de dados clone.

    [oracle@orac ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Wed Dec 11 20:16:09 2024
    Version 19.18.0.0.0
    
    Copyright (c) 1982, 2022, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.18.0.0.0
    
    SQL> select name, open_mode, log_mode from v$database;
    
    NAME      OPEN_MODE            LOG_MODE
    --------- -------------------- ------------
    NTAPDEV   READ WRITE           NOARCHIVELOG
    
    SQL> select instance_name, host_name from v$instance;
    
    INSTANCE_NAME
    ----------------
    HOST_NAME
    ----------------------------------------------------------------
    NTAPDEV
    orac
    
    
    SQL> alter pluggable database all open;
    
    Pluggable database altered.
    
    SQL> alter pluggable database all save state;
    
    Pluggable database altered.
    
    
    SQL> alter session set container=ntap_pdb1;
    
    Session altered.
    
    SQL> select * from test;
    
            ID
    ----------
    DT
    ---------------------------------------------------------------------------
    EVENT
    --------------------------------------------------------------------------------
             1
    11-DEC-24 04.38.44.000000 PM
    a test transaction at primary database NTAP on DB server orap.internal.cloudapp.
    net

Isso conclui a demonstração do clone do banco de dados Oracle standby no Oracle Data Guard no armazenamento Azure ANF para DEV, TEST, REPORT ou qualquer outro caso de uso. Vários bancos de dados Oracle podem ser clonados do mesmo banco de dados standby no Oracle Data Guard no ANF.

Onde encontrar informações adicionais

Para saber mais sobre as informações descritas neste documento, revise os seguintes documentos e/ou sites: