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-4965: Implantação e proteção de banco de dados Oracle no AWS FSx/EC2 com iSCSI/ASM

Colaboradores kevin-hoke

Allen Cao, Niyaz Mohamed, NetApp

Esta solução fornece uma visão geral e detalhes para implantação e proteção do banco de dados Oracle no armazenamento AWS FSx ONTAP e instância de computação EC2 com protocolo iSCSI e banco de dados Oracle configurado no ReStart autônomo usando o ASM como gerenciador de volume.

Propósito

ASM (Automatic Storage Management) é um gerenciador de volumes de armazenamento Oracle popular empregado em muitas instalações Oracle. Também é a solução de gerenciamento de armazenamento recomendada pela Oracle. Ele fornece uma alternativa aos gerenciadores de volume e sistemas de arquivos convencionais. Desde a versão 11g do Oracle, o ASM é empacotado com infraestrutura de grade em vez de um banco de dados. Como resultado, para utilizar o Oracle ASM para gerenciamento de armazenamento sem RAC, você deve instalar a infraestrutura de grade do Oracle em um servidor autônomo, também conhecido como Oracle Restart. Fazer isso certamente adiciona mais complexidade na implantação do banco de dados Oracle. No entanto, como o nome indica, quando o Oracle era implantado no modo de reinicialização, os serviços Oracle com falha eram reiniciados automaticamente pela infraestrutura de grade ou após uma reinicialização do host sem intervenção do usuário, o que fornece um certo grau de alta disponibilidade ou funcionalidade de alta disponibilidade.

Nesta documentação, demonstramos como implantar um banco de dados Oracle com o protocolo iSCSI e Oracle ASM em um ambiente de armazenamento Amazon FSx ONTAP com instâncias de computação EC2. Também demonstramos como usar o serviço NetApp SnapCenter por meio do console NetApp BlueXP para fazer backup, restaurar e clonar seu banco de dados Oracle para desenvolvimento/teste ou outros casos de uso para operação de banco de dados com eficiência de armazenamento na nuvem pública da AWS.

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

  • Implantação de banco de dados Oracle em instâncias de armazenamento Amazon FSx ONTAP e computação EC2 com iSCSI/ASM

  • Testando e validando uma carga de trabalho Oracle na nuvem pública AWS com iSCSI/ASM

  • Testando e validando funcionalidades de reinicialização do banco de dados Oracle implantadas na AWS

Público

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

  • Um DBA que gostaria de implantar o Oracle em uma nuvem pública da AWS com iSCSI/ASM.

  • Um arquiteto de soluções de banco de dados que gostaria de testar cargas de trabalho Oracle na nuvem pública da AWS.

  • O administrador de armazenamento que gostaria de implantar e gerenciar um banco de dados Oracle implantado no armazenamento AWS FSx.

  • O proprietário do aplicativo que gostaria de configurar um banco de dados Oracle no AWS FSx/EC2.

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

O teste e a validação desta solução foram realizados em um ambiente AWS FSx e EC2 que pode não corresponder ao ambiente de implantação final. 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 configuração de implantação do Oracle na nuvem pública da AWS com iSCSI e ASM.

Componentes de hardware e software

Hardware

Armazenamento FSx ONTAP

Versão atual oferecida pela AWS

Um cluster FSx HA na mesma VPC e zona de disponibilidade

Instância EC2 para computação

t2.xlarge/4vCPU/16G

Duas instâncias EC2 T2 xlarge EC2, uma como servidor de banco de dados primário e a outra como servidor de banco de dados clone

Software

RedHat Linux

RHEL-8.6.0_HVM-20220503-x86_64-2-Hora2-GP2

Assinatura RedHat implantada para teste

Infraestrutura de grade Oracle

Versão 19.18

Patch RU aplicado p34762026_190000_Linux-x86-64.zip

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

Serviço SnapCenter

Versão

v2.3.1.2324

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

  • Instâncias de computação do EC2. Nesses testes e validações, usamos um tipo de instância t2.xlarge do AWS EC2 para a instância de computação do banco de dados Oracle. A NetApp recomenda usar uma instância EC2 do tipo M5 como instância de computação para Oracle na implantação de produção porque ela é otimizada para cargas de trabalho de banco de dados. Você precisa dimensionar a instância do EC2 adequadamente para o número de vCPUs e a quantidade de RAM com base nos requisitos reais da carga de trabalho.

  • Implantação de clusters de HA de armazenamento FSx em uma ou várias zonas. Nesses testes e validações, implantamos um cluster FSx HA em uma única zona de disponibilidade da AWS. Para implantação de produção, a NetApp recomenda implantar um par FSx HA em duas zonas de disponibilidade diferentes. Um cluster FSx HA é sempre provisionado em um par HA que é espelhado de forma sincronizada em um par de sistemas de arquivos ativos-passivos para fornecer redundância em nível de armazenamento. A implantação em várias zonas aumenta ainda mais a alta disponibilidade em caso de falha em uma única zona da AWS.

  • Dimensionamento do cluster de armazenamento FSx. Um sistema de arquivos de armazenamento Amazon FSx ONTAP fornece até 160.000 IOPS SSD brutos, taxa de transferência de até 4 GBps e capacidade máxima de 192 TiB. No entanto, você pode dimensionar o cluster em termos de IOPS provisionados, taxa de transferência e limite de armazenamento (mínimo de 1.024 GiB) com base nos seus requisitos reais no momento da implantação. A capacidade pode ser ajustada dinamicamente sem afetar a disponibilidade do aplicativo.

  • Layout de dados e logs do Oracle. Em nossos testes e validações, implantamos dois grupos de discos ASM para dados e logs, respectivamente. Dentro do grupo de discos +DATA asm, provisionamos quatro LUNs em um volume de dados. Dentro do grupo de discos +LOGS asm, provisionamos dois LUNs em um volume de logs. Em geral, vários LUNs dispostos em um volume Amazon FSx ONTAP oferecem melhor desempenho.

  • Configuração iSCSI. O servidor de banco de dados da instância EC2 se conecta ao armazenamento FSx com o protocolo iSCSI. As instâncias do EC2 geralmente são implantadas com uma única interface de rede ou ENI. A única interface NIC transporta tráfego iSCSI e de aplicativo. É importante avaliar o requisito de pico de taxa de transferência de E/S do banco de dados Oracle analisando cuidadosamente o relatório Oracle AWR para escolher uma instância de computação EC2 correta que atenda aos requisitos de taxa de transferência de tráfego do aplicativo e iSCSI. A NetApp também recomenda alocar quatro conexões iSCSI para ambos os pontos de extremidade iSCSI do FSx com multicaminhos configurados corretamente.

  • Nível de redundância do Oracle ASM a ser usado para cada grupo de discos do Oracle ASM que você criar. Como o FSx já espelha o armazenamento no nível do cluster FSx, você deve usar Redundância Externa, o que significa que a opção não permite que o Oracle ASM espelhe o conteúdo do grupo de discos.

  • Backup de banco de dados. A NetApp fornece uma versão SaaS do serviço de SnapCenter software para backup, restauração e clonagem de banco de dados na nuvem, disponível por meio da interface de usuário do console NetApp BlueXP . A NetApp recomenda implementar esse serviço para obter backup SnapShot rápido (menos de um minuto), restauração rápida (poucos minutos) de banco de dados e clonagem de banco de dados.

Implantação da solução

A seção a seguir fornece procedimentos de implantação passo a passo.

Pré-requisitos para implantação

Details

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

  1. Uma conta da AWS foi configurada e os segmentos de VPC e rede necessários foram criados dentro da sua conta da AWS.

  2. No console do AWS EC2, você deve implantar duas instâncias do EC2 Linux, uma como o servidor Oracle DB principal e um servidor de DB de destino clone alternativo opcional. Veja o diagrama de arquitetura na seção anterior para obter mais detalhes sobre a configuração do ambiente. Revise também o"Guia do usuário para instâncias Linux" para maiores informações.

  3. No console do AWS EC2, implante clusters de HA de armazenamento do Amazon FSx ONTAP para hospedar os volumes do banco de dados Oracle. Se você não estiver familiarizado com a implantação do armazenamento FSx, consulte a documentação"Criação de sistemas de arquivos FSx ONTAP" para obter instruções passo a passo.

  4. As etapas 2 e 3 podem ser executadas usando o seguinte kit de ferramentas de automação do Terraform, que cria uma instância EC2 denominada ora_01 e um sistema de arquivos FSx chamado fsx_01 . Revise as instruções cuidadosamente e altere as variáveis para adequá-las ao seu ambiente antes da execução.

    git clone https://github.com/NetApp-Automation/na_aws_fsx_ec2_deploy.git
Observação Certifique-se de ter alocado pelo menos 50 GB no volume raiz da instância do EC2 para ter espaço suficiente para preparar os arquivos de instalação do Oracle.

Configuração do kernel da instância EC2

Details

Com os pré-requisitos provisionados, efetue login na instância do EC2 como ec2-user e use sudo como usuário root para configurar o kernel do Linux para a instalação do Oracle.

  1. Crie um diretório de preparação /tmp/archive pasta e defina o 777 permissão.

    mkdir /tmp/archive
    
    chmod 777 /tmp/archive
  2. Baixe e prepare os arquivos binários de instalação do Oracle e outros arquivos rpm necessários para o /tmp/archive diretório.

    Veja a lista a seguir de arquivos de instalação a serem declarados em /tmp/archive na instância EC2.

    [ec2-user@ip-172-30-15-58 ~]$ ls -l /tmp/archive
    total 10537316
    -rw-rw-r--. 1 ec2-user ec2-user      19112 Mar 21 15:57 compat-libcap1-1.10-7.el7.x86_64.rpm
    -rw-rw-r--  1 ec2-user ec2-user 3059705302 Mar 21 22:01 LINUX.X64_193000_db_home.zip
    -rw-rw-r--  1 ec2-user ec2-user 2889184573 Mar 21 21:09 LINUX.X64_193000_grid_home.zip
    -rw-rw-r--. 1 ec2-user ec2-user     589145 Mar 21 15:56 netapp_linux_unified_host_utilities-7-1.x86_64.rpm
    -rw-rw-r--. 1 ec2-user ec2-user      31828 Mar 21 15:55 oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
    -rw-rw-r--  1 ec2-user ec2-user 2872741741 Mar 21 22:31 p34762026_190000_Linux-x86-64.zip
    -rw-rw-r--  1 ec2-user ec2-user 1843577895 Mar 21 22:32 p34765931_190000_Linux-x86-64.zip
    -rw-rw-r--  1 ec2-user ec2-user  124347218 Mar 21 22:33 p6880880_190000_Linux-x86-64.zip
    -rw-r--r--  1 ec2-user ec2-user     257136 Mar 22 16:25 policycoreutils-python-utils-2.9-9.el8.noarch.rpm
  3. Instale o RPM de pré-instalação do Oracle 19c, que satisfaz a maioria dos requisitos de configuração do kernel.

    yum install /tmp/archive/oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
  4. Baixe e instale o que falta compat-libcap1 no Linux 8.

    yum install /tmp/archive/compat-libcap1-1.10-7.el7.x86_64.rpm
  5. No NetApp, baixe e instale os utilitários do host NetApp .

    yum install /tmp/archive/netapp_linux_unified_host_utilities-7-1.x86_64.rpm
  6. Instalar policycoreutils-python-utils , que não está disponível na instância EC2.

    yum install /tmp/archive/policycoreutils-python-utils-2.9-9.el8.noarch.rpm
  7. Instale o Open JDK versão 1.8.

    yum install java-1.8.0-openjdk.x86_64
  8. Instalar utilitários do iniciador iSCSI.

    yum install iscsi-initiator-utils
  9. Instalar sg3_utils .

    yum install sg3_utils
  10. Instalar device-mapper-multipath .

    yum install device-mapper-multipath
  11. Desabilite hugepages transparentes no sistema atual.

    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    echo never > /sys/kernel/mm/transparent_hugepage/defrag

    Adicione as seguintes linhas em /etc/rc.local desabilitar transparent_hugepage após reinicialização:

      # Disable transparent hugepages
              if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
                echo never > /sys/kernel/mm/transparent_hugepage/enabled
              fi
              if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
                echo never > /sys/kernel/mm/transparent_hugepage/defrag
              fi
  12. Desabilite o selinux alterando SELINUX=enforcing para SELINUX=disabled . Você deve reinicializar o host para que a alteração tenha efeito.

    vi /etc/sysconfig/selinux
  13. Adicione as seguintes linhas a limit.conf para definir o limite do descritor de arquivo e o tamanho da pilha sem aspas " " .

    vi /etc/security/limits.conf
      "*               hard    nofile          65536"
      "*               soft    stack           10240"
  14. Adicione espaço de swap à instância EC2 seguindo esta instrução:"Como aloco memória para funcionar como espaço de swap em uma instância do Amazon EC2 usando um arquivo de swap?" A quantidade exata de espaço a ser adicionada depende do tamanho da RAM de até 16 G.

  15. Mudar node.session.timeo.replacement_timeout no iscsi.conf arquivo de configuração de 120 para 5 segundos.

    vi /etc/iscsi/iscsid.conf
  16. Habilite e inicie o serviço iSCSI na instância EC2.

    systemctl enable iscsid
    systemctl start iscsid
  17. Recupere o endereço do iniciador iSCSI a ser usado para mapeamento de LUN de banco de dados.

    cat /etc/iscsi/initiatorname.iscsi
  18. Adicione o grupo ASM a ser usado para o grupo asm sysasm.

    groupadd asm
  19. Modifique o usuário oracle para adicionar o ASM como um grupo secundário (o usuário oracle deve ter sido criado após a instalação do RPM de pré-instalação do Oracle).

    usermod -a -G asm oracle
  20. Pare e desative o firewall do Linux se estiver ativo.

    systemctl stop firewalld
    systemctl disable firewalld
  21. Reinicie a instância do EC2.

Provisionar e mapear volumes de banco de dados e LUNs para o host da instância EC2

Details

Provisione três volumes a partir da linha de comando efetuando login no cluster FSx via ssh como usuário fsxadmin com IP de gerenciamento do cluster FSx para hospedar os arquivos binários, de dados e de logs do banco de dados Oracle.

  1. Efetue login no cluster FSx via SSH como usuário fsxadmin.

    ssh fsxadmin@172.30.15.53
  2. Execute o seguinte comando para criar um volume para o binário Oracle.

    vol create -volume ora_01_biny -aggregate aggr1 -size 50G -state online  -type RW -snapshot-policy none -tiering-policy snapshot-only
  3. Execute o seguinte comando para criar um volume para dados Oracle.

    vol create -volume ora_01_data -aggregate aggr1 -size 100G -state online  -type RW -snapshot-policy none -tiering-policy snapshot-only
  4. Execute o seguinte comando para criar um volume para logs do Oracle.

    vol create -volume ora_01_logs -aggregate aggr1 -size 100G -state online  -type RW -snapshot-policy none -tiering-policy snapshot-only
  5. Crie um LUN binário dentro do volume binário do banco de dados.

    lun create -path /vol/ora_01_biny/ora_01_biny_01 -size 40G -ostype linux
  6. Crie LUNs de dados dentro do volume de dados do banco de dados.

    lun create -path /vol/ora_01_data/ora_01_data_01 -size 20G -ostype linux
    
    lun create -path /vol/ora_01_data/ora_01_data_02 -size 20G -ostype linux
    
    lun create -path /vol/ora_01_data/ora_01_data_03 -size 20G -ostype linux
    
    lun create -path /vol/ora_01_data/ora_01_data_04 -size 20G -ostype linux
  7. Crie LUNs de log dentro do volume de logs do banco de dados.

    lun create -path /vol/ora_01_logs/ora_01_logs_01 -size 40G -ostype linux
    
    lun create -path /vol/ora_01_logs/ora_01_logs_02 -size 40G -ostype linux
  8. Crie um igroup para a instância do EC2 com o iniciador recuperado da etapa 14 da configuração do kernel do EC2 acima.

    igroup create -igroup ora_01 -protocol iscsi -ostype linux -initiator iqn.1994-05.com.redhat:f65fed7641c2
  9. Mapeie os LUNs para o igroup criado acima. Incrementa o ID do LUN sequencialmente para cada LUN adicional dentro de um volume.

    lun map -path /vol/ora_01_biny/ora_01_biny_01 -igroup ora_01 -vserver svm_ora -lun-id 0
    lun map -path /vol/ora_01_data/ora_01_data_01 -igroup ora_01 -vserver svm_ora -lun-id 1
    lun map -path /vol/ora_01_data/ora_01_data_02 -igroup ora_01 -vserver svm_ora -lun-id 2
    lun map -path /vol/ora_01_data/ora_01_data_03 -igroup ora_01 -vserver svm_ora -lun-id 3
    lun map -path /vol/ora_01_data/ora_01_data_04 -igroup ora_01 -vserver svm_ora -lun-id 4
    lun map -path /vol/ora_01_logs/ora_01_logs_01 -igroup ora_01 -vserver svm_ora -lun-id 5
    lun map -path /vol/ora_01_logs/ora_01_logs_02 -igroup ora_01 -vserver svm_ora -lun-id 6
  10. Valide o mapeamento do LUN.

    mapping show

    Espera-se que isso retorne:

    FsxId02ad7bf3476b741df::> mapping show
      (lun mapping show)
    Vserver    Path                                      Igroup   LUN ID  Protocol
    ---------- ----------------------------------------  -------  ------  --------
    svm_ora    /vol/ora_01_biny/ora_01_biny_01           ora_01        0  iscsi
    svm_ora    /vol/ora_01_data/ora_01_data_01           ora_01        1  iscsi
    svm_ora    /vol/ora_01_data/ora_01_data_02           ora_01        2  iscsi
    svm_ora    /vol/ora_01_data/ora_01_data_03           ora_01        3  iscsi
    svm_ora    /vol/ora_01_data/ora_01_data_04           ora_01        4  iscsi
    svm_ora    /vol/ora_01_logs/ora_01_logs_01           ora_01        5  iscsi
    svm_ora    /vol/ora_01_logs/ora_01_logs_02           ora_01        6  iscsi

Configuração de armazenamento de banco de dados

Details

Agora, importe e configure o armazenamento FSx para a infraestrutura de grade do Oracle e a instalação do banco de dados no host da instância do EC2.

  1. Efetue login na instância EC2 via SSH como usuário ec2 com sua chave SSH e endereço IP da instância EC2.

    ssh -i ora_01.pem ec2-user@172.30.15.58
  2. Descubra os endpoints iSCSI do FSx usando o endereço IP iSCSI do SVM. Em seguida, mude para o endereço do portal específico do seu ambiente.

    sudo iscsiadm iscsiadm --mode discovery --op update --type sendtargets --portal 172.30.15.51
  3. Estabeleça sessões iSCSI efetuando login em cada destino.

    sudo iscsiadm --mode node -l all

    A saída esperada do comando é:

    [ec2-user@ip-172-30-15-58 ~]$ sudo iscsiadm --mode node -l all
    Logging in to [iface: default, target: iqn.1992-08.com.netapp:sn.1f795e65c74911edb785affbf0a2b26e:vs.3, portal: 172.30.15.51,3260]
    Logging in to [iface: default, target: iqn.1992-08.com.netapp:sn.1f795e65c74911edb785affbf0a2b26e:vs.3, portal: 172.30.15.13,3260]
    Login to [iface: default, target: iqn.1992-08.com.netapp:sn.1f795e65c74911edb785affbf0a2b26e:vs.3, portal: 172.30.15.51,3260] successful.
    Login to [iface: default, target: iqn.1992-08.com.netapp:sn.1f795e65c74911edb785affbf0a2b26e:vs.3, portal: 172.30.15.13,3260] successful.
  4. Visualize e valide uma lista de sessões iSCSI ativas.

    sudo iscsiadm --mode session

    Retorne as sessões iSCSI.

    [ec2-user@ip-172-30-15-58 ~]$ sudo iscsiadm --mode session
    tcp: [1] 172.30.15.51:3260,1028 iqn.1992-08.com.netapp:sn.1f795e65c74911edb785affbf0a2b26e:vs.3 (non-flash)
    tcp: [2] 172.30.15.13:3260,1029 iqn.1992-08.com.netapp:sn.1f795e65c74911edb785affbf0a2b26e:vs.3 (non-flash)
  5. Verifique se os LUNs foram importados para o host.

    sudo sanlun lun show

    Isso retornará uma lista de LUNs Oracle do FSx.

    [ec2-user@ip-172-30-15-58 ~]$ sudo sanlun lun show
    controller(7mode/E-Series)/                                   device          host                  lun
    vserver(cDOT/FlashRay)        lun-pathname                    filename        adapter    protocol   size    product
    
    svm_ora                       /vol/ora_01_logs/ora_01_logs_02 /dev/sdn        host3      iSCSI      40g     cDOT
    svm_ora                       /vol/ora_01_logs/ora_01_logs_01 /dev/sdm        host3      iSCSI      40g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_03 /dev/sdk        host3      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_04 /dev/sdl        host3      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_01 /dev/sdi        host3      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_02 /dev/sdj        host3      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_biny/ora_01_biny_01 /dev/sdh        host3      iSCSI      40g     cDOT
    svm_ora                       /vol/ora_01_logs/ora_01_logs_02 /dev/sdg        host2      iSCSI      40g     cDOT
    svm_ora                       /vol/ora_01_logs/ora_01_logs_01 /dev/sdf        host2      iSCSI      40g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_04 /dev/sde        host2      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_02 /dev/sdc        host2      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_03 /dev/sdd        host2      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_01 /dev/sdb        host2      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_biny/ora_01_biny_01 /dev/sda        host2      iSCSI      40g     cDOT
  6. Configurar o multipath.conf arquivo com as seguintes entradas padrão e de lista negra.

    sudo vi /etc/multipath.conf
    
    defaults {
        find_multipaths yes
        user_friendly_names yes
    }
    
    blacklist {
        devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
        devnode "^hd[a-z]"
        devnode "^cciss.*"
    }
  7. Inicie o serviço multipath.

    sudo systemctl start multipathd

    Agora os dispositivos multipath aparecem no /dev/mapper diretório.

    [ec2-user@ip-172-30-15-58 ~]$ ls -l /dev/mapper
    total 0
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e68512d -> ../dm-0
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685141 -> ../dm-1
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685142 -> ../dm-2
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685143 -> ../dm-3
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685144 -> ../dm-4
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685145 -> ../dm-5
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685146 -> ../dm-6
    crw------- 1 root root 10, 236 Mar 21 18:19 control
  8. Efetue login no cluster FSx como usuário fsxadmin via SSH para recuperar o número serial hexadecimal para cada LUN que começa com 6c574xxx…​, o número HEX começa com 3600a0980, que é o ID do fornecedor da AWS.

    lun show -fields serial-hex

    e retornar da seguinte forma:

    FsxId02ad7bf3476b741df::> lun show -fields serial-hex
    vserver path                            serial-hex
    ------- ------------------------------- ------------------------
    svm_ora /vol/ora_01_biny/ora_01_biny_01 6c574235472455534e68512d
    svm_ora /vol/ora_01_data/ora_01_data_01 6c574235472455534e685141
    svm_ora /vol/ora_01_data/ora_01_data_02 6c574235472455534e685142
    svm_ora /vol/ora_01_data/ora_01_data_03 6c574235472455534e685143
    svm_ora /vol/ora_01_data/ora_01_data_04 6c574235472455534e685144
    svm_ora /vol/ora_01_logs/ora_01_logs_01 6c574235472455534e685145
    svm_ora /vol/ora_01_logs/ora_01_logs_02 6c574235472455534e685146
    7 entries were displayed.
  9. Atualizar o /dev/multipath.conf arquivo para adicionar um nome amigável para o dispositivo multipath.

    sudo vi /etc/multipath.conf

    com as seguintes entradas:

    multipaths {
            multipath {
                    wwid            3600a09806c574235472455534e68512d
                    alias           ora_01_biny_01
            }
            multipath {
                    wwid            3600a09806c574235472455534e685141
                    alias           ora_01_data_01
            }
            multipath {
                    wwid            3600a09806c574235472455534e685142
                    alias           ora_01_data_02
            }
            multipath {
                    wwid            3600a09806c574235472455534e685143
                    alias           ora_01_data_03
            }
            multipath {
                    wwid            3600a09806c574235472455534e685144
                    alias           ora_01_data_04
            }
            multipath {
                    wwid            3600a09806c574235472455534e685145
                    alias           ora_01_logs_01
            }
            multipath {
                    wwid            3600a09806c574235472455534e685146
                    alias           ora_01_logs_02
            }
    }
  10. Reinicie o serviço multipath para verificar se os dispositivos em /dev/mapper foram alterados para nomes de LUN em vez de IDs seriais hexadecimais.

    sudo systemctl restart multipathd

    Verificar /dev/mapper para retornar como segue:

    [ec2-user@ip-172-30-15-58 ~]$ ls -l /dev/mapper
    total 0
    crw------- 1 root root 10, 236 Mar 21 18:19 control
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_01_biny_01 -> ../dm-0
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_01_data_01 -> ../dm-1
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_01_data_02 -> ../dm-2
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_01_data_03 -> ../dm-3
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_01_data_04 -> ../dm-4
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_01_logs_01 -> ../dm-5
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_01_logs_02 -> ../dm-6
  11. Particione o LUN binário com uma única partição primária.

    sudo fdisk /dev/mapper/ora_01_biny_01
  12. Formate o LUN binário particionado com um sistema de arquivos XFS.

    sudo mkfs.xfs /dev/mapper/ora_01_biny_01p1
  13. Monte o LUN binário em /u01 .

    sudo mount -t xfs /dev/mapper/ora_01_biny_01p1 /u01
  14. Mudar /u01 propriedade do ponto de montagem para o usuário Oracle e seu grupo primário associado.

    sudo chown oracle:oinstall /u01
  15. Encontre a UUI do LUN binário.

    sudo blkid /dev/mapper/ora_01_biny_01p1
  16. Adicione um ponto de montagem para /etc/fstab .

    sudo vi /etc/fstab

    Adicione a seguinte linha.

    UUID=d89fb1c9-4f89-4de4-b4d9-17754036d11d       /u01    xfs     defaults,nofail 0       2
    Observação É importante montar o binário apenas com o UUID e com a opção nofail para evitar possíveis problemas de bloqueio de root durante a reinicialização da instância EC2.
  17. Como usuário root, adicione a regra udev para dispositivos Oracle.

    vi /etc/udev/rules.d/99-oracle-asmdevices.rules

    Incluir as seguintes entradas:

    ENV{DM_NAME}=="ora*", GROUP:="oinstall", OWNER:="oracle", MODE:="660"
  18. Como usuário root, recarregue as regras do udev.

    udevadm control --reload-rules
  19. Como usuário root, acione as regras do udev.

    udevadm trigger
  20. Como usuário root, recarregue o multipathd.

    systemctl restart multipathd
  21. Reinicie o host da instância do EC2.

Instalação de infraestrutura de grade Oracle

Details
  1. Efetue login na instância EC2 como usuário ec2 via SSH e habilite a autenticação por senha descomentando PasswordAuthentication yes e então comentando PasswordAuthentication no .

    sudo vi /etc/ssh/sshd_config
  2. Reinicie o serviço sshd.

    sudo systemctl restart sshd
  3. Redefina a senha do usuário do Oracle.

    sudo passwd oracle
  4. Efetue login como usuário proprietário do software Oracle Restart (Oracle). Crie um diretório Oracle da seguinte maneira:

    mkdir -p /u01/app/oracle
    mkdir -p /u01/app/oraInventory
  5. Altere a configuração de permissão do diretório.

    chmod -R 775 /u01/app
  6. Crie um diretório inicial da grade e acesse-o.

    mkdir -p /u01/app/oracle/product/19.0.0/grid
    cd /u01/app/oracle/product/19.0.0/grid
  7. Descompacte os arquivos de instalação da grade.

    unzip -q /tmp/archive/LINUX.X64_193000_grid_home.zip
  8. Da grade inicial, exclua o OPatch diretório.

    rm -rf OPatch
  9. Da grade inicial, descompacte p6880880_190000_Linux-x86-64.zip .

    unzip -q /tmp/archive/p6880880_190000_Linux-x86-64.zip
  10. Da grade inicial, revise cv/admin/cvu_config , descomente e substitua CV_ASSUME_DISTID=OEL5 com CV_ASSUME_DISTID=OL7 .

    vi cv/admin/cvu_config
  11. Atualizar um gridsetup.rsp arquivo para instalação silenciosa e coloque o arquivo rsp no /tmp/archive diretório. O arquivo rsp deve cobrir as seções A, B e G com as seguintes informações:

    INVENTORY_LOCATION=/u01/app/oraInventory
    oracle.install.option=HA_CONFIG
    ORACLE_BASE=/u01/app/oracle
    oracle.install.asm.OSDBA=dba
    oracle.install.asm.OSOPER=oper
    oracle.install.asm.OSASM=asm
    oracle.install.asm.SYSASMPassword="SetPWD"
    oracle.install.asm.diskGroup.name=DATA
    oracle.install.asm.diskGroup.redundancy=EXTERNAL
    oracle.install.asm.diskGroup.AUSize=4
    oracle.install.asm.diskGroup.disks=/dev/mapper/ora_01_data_01,/dev/mapper/ora_01_data_02,/dev/mapper/ora_01_data_03,/dev/mapper/ora_01_data_04
    oracle.install.asm.diskGroup.diskDiscoveryString=/dev/mapper/*
    oracle.install.asm.monitorPassword="SetPWD"
    oracle.install.asm.configureAFD=true
  12. Efetue login na instância EC2 como usuário root e defina ORACLE_HOME e ORACLE_BASE .

    export ORACLE_HOME=/u01/app/oracle/product/19.0.0/grid
    export ORACLE_BASE=/tmp
    cd /u01/app/oracle/product/19.0.0/grid/bin
  13. Provisione dispositivos de disco para uso com o driver de filtro Oracle ASM.

     ./asmcmd afd_label DATA01 /dev/mapper/ora_01_data_01 --init
    
     ./asmcmd afd_label DATA02 /dev/mapper/ora_01_data_02 --init
    
     ./asmcmd afd_label DATA03 /dev/mapper/ora_01_data_03 --init
    
     ./asmcmd afd_label DATA04 /dev/mapper/ora_01_data_04 --init
    
     ./asmcmd afd_label LOGS01 /dev/mapper/ora_01_logs_01 --init
    
     ./asmcmd afd_label LOGS02 /dev/mapper/ora_01_logs_02 --init
  14. Instalar cvuqdisk-1.0.10-1.rpm .

    rpm -ivh /u01/app/oracle/product/19.0.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm
  15. Desconfigurado $ORACLE_BASE .

    unset ORACLE_BASE
  16. Efetue login na instância EC2 como usuário Oracle e extraia o patch no /tmp/archive pasta.

    unzip /tmp/archive/p34762026_190000_Linux-x86-64.zip -d /tmp/archive
  17. Na grade inicial /u01/app/oracle/product/19.0.0/grid e como usuário oracle, inicie gridSetup.sh para instalação de infraestrutura de rede.

     ./gridSetup.sh -applyRU /tmp/archive/34762026/ -silent -responseFile /tmp/archive/gridsetup.rsp

    Ignore os avisos sobre grupos errados para infraestrutura de rede. Estamos usando um único usuário Oracle para gerenciar o Oracle Restart, então isso é esperado.

  18. Como usuário root, execute o(s) seguinte(s) script(s):

    /u01/app/oraInventory/orainstRoot.sh
    
    /u01/app/oracle/product/19.0.0/grid/root.sh
  19. Como usuário root, recarregue o multipathd.

    systemctl restart multipathd
  20. Como usuário Oracle, execute o seguinte comando para concluir a configuração:

    /u01/app/oracle/product/19.0.0/grid/gridSetup.sh -executeConfigTools -responseFile /tmp/archive/gridsetup.rsp -silent
  21. Como usuário Oracle, a partir do $GRID_HOME, crie o grupo de discos LOGS.

    bin/asmca -silent -sysAsmPassword 'yourPWD' -asmsnmpPassword 'yourPWD' -createDiskGroup -diskGroupName LOGS -disk 'AFD:LOGS*' -redundancy EXTERNAL -au_size 4
  22. Como usuário do Oracle, valide os serviços de grade após a configuração da instalação.

    bin/crsctl stat res -t
    +
    Name                Target  State        Server                   State details
    Local Resources
    ora.DATA.dg         ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.LISTENER.lsnr   ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.LOGS.dg         ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.asm             ONLINE  ONLINE       ip-172-30-15-58          Started,STABLE
    ora.ons             OFFLINE OFFLINE      ip-172-30-15-58          STABLE
    Cluster Resources
    ora.cssd            ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.diskmon         OFFLINE OFFLINE                               STABLE
    ora.driver.afd      ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.evmd            ONLINE  ONLINE       ip-172-30-15-58          STABLE
  23. Valide o status do driver de filtro ASM.

    [oracle@ip-172-30-15-58 grid]$ export ORACLE_HOME=/u01/app/oracle/product/19.0.0/grid
    [oracle@ip-172-30-15-58 grid]$ export ORACLE_SID=+ASM
    [oracle@ip-172-30-15-58 grid]$ export PATH=$PATH:$ORACLE_HOME/bin
    [oracle@ip-172-30-15-58 grid]$ asmcmd
    ASMCMD> lsdg
    State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
    MOUNTED  EXTERN  N         512             512   4096  1048576     81920    81847                0           81847              0             N  DATA/
    MOUNTED  EXTERN  N         512             512   4096  1048576     81920    81853                0           81853              0             N  LOGS/
    ASMCMD> afd_state
    ASMCMD-9526: The AFD state is 'LOADED' and filtering is 'ENABLED' on host 'ip-172-30-15-58.ec2.internal'

Instalação do banco de dados Oracle

Details
  1. Faça login como usuário Oracle e desative $ORACLE_HOME e $ORACLE_SID se estiver definido.

    unset ORACLE_HOME
    unset ORACLE_SID
  2. Crie o diretório inicial do Oracle DB e acesse-o.

    mkdir /u01/app/oracle/product/19.0.0/db1
    cd /u01/app/oracle/product/19.0.0/db1
  3. Descompacte os arquivos de instalação do Oracle DB.

    unzip -q /tmp/archive/LINUX.X64_193000_db_home.zip
  4. Na página inicial do banco de dados, exclua o OPatch diretório.

    rm -rf OPatch
  5. Do banco de dados inicial, descompacte p6880880_190000_Linux-x86-64.zip .

    unzip -q /tmp/archive/p6880880_190000_Linux-x86-64.zip
  6. Da página inicial do DB, revise cv/admin/cvu_config , e descomente e substitua CV_ASSUME_DISTID=OEL5 com CV_ASSUME_DISTID=OL7 .

    vi cv/admin/cvu_config
  7. Do /tmp/archive diretório, descompacte o patch DB 19.18 RU.

    unzip p34765931_190000_Linux-x86-64.zip
  8. Atualizar o arquivo rsp padrão de instalação silenciosa do banco de dados em /tmp/archive/dbinstall.rsp diretório com os seguintes valores nas seções relevantes:

    oracle.install.option=INSTALL_DB_SWONLY
    UNIX_GROUP_NAME=oinstall
    INVENTORY_LOCATION=/u01/app/oraInventory
    ORACLE_HOME=/u01/app/oracle/product/19.0.0/db1
    ORACLE_BASE=/u01/app/oracle
    oracle.install.db.InstallEdition=EE
    oracle.install.db.OSDBA_GROUP=dba
    oracle.install.db.OSOPER_GROUP=oper
    oracle.install.db.OSBACKUPDBA_GROUP=oper
    oracle.install.db.OSDGDBA_GROUP=dba
    oracle.install.db.OSKMDBA_GROUP=dba
    oracle.install.db.OSRACDBA_GROUP=dba
    oracle.install.db.rootconfig.executeRootScript=false
  9. No db1 home /u01/app/oracle/product/19.0.0/db1, execute a instalação silenciosa do banco de dados somente de software.

     ./runInstaller -applyRU /tmp/archive/34765931/ -silent -ignorePrereqFailure -responseFile /tmp/archive/dbinstall.rsp
  10. Como usuário root, execute o root.sh script após a instalação somente do software.

    /u01/app/oracle/product/19.0.0/db1/root.sh
  11. Como usuário Oracle, atualize o padrão dbca.rsp arquivo com as seguintes entradas nas seções relevantes:

    gdbName=db1.demo.netapp.com
    sid=db1
    createAsContainerDatabase=true
    numberOfPDBs=3
    pdbName=db1_pdb
    useLocalUndoForPDBs=true
    pdbAdminPassword="yourPWD"
    templateName=General_Purpose.dbc
    sysPassword="yourPWD"
    systemPassword="yourPWD"
    dbsnmpPassword="yourPWD"
    datafileDestination=+DATA
    recoveryAreaDestination=+LOGS
    storageType=ASM
    diskGroupName=DATA
    characterSet=AL32UTF8
    nationalCharacterSet=AL16UTF16
    listeners=LISTENER
    databaseType=MULTIPURPOSE
    automaticMemoryManagement=false
    totalMemory=8192
  12. Como usuário Oracle, no diretório $ORACLE_HOME, inicie a criação do banco de dados com dbca.

    bin/dbca -silent -createDatabase -responseFile /tmp/archive/dbca.rsp
    
    output:
    Prepare for db operation
    7% complete
    Registering database with Oracle Restart
    11% complete
    Copying database files
    33% complete
    Creating and starting Oracle instance
    35% complete
    38% complete
    42% complete
    45% complete
    48% complete
    Completing Database Creation
    53% complete
    55% complete
    56% complete
    Creating Pluggable Databases
    60% complete
    64% complete
    69% complete
    78% complete
    Executing Post Configuration Actions
    100% complete
    Database creation complete. For details check the logfiles at:
     /u01/app/oracle/cfgtoollogs/dbca/db1.
    Database Information:
    Global Database Name:db1.demo.netapp.com
    System Identifier(SID):db1
    Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/db1/db1.log" for further details.
  13. Como usuário Oracle, valide os serviços de reinicialização do Oracle HA após a criação do banco de dados.

    [oracle@ip-172-30-15-58 db1]$ ../grid/bin/crsctl stat res -t
    
    Name           	Target  State        Server                   State details
    
    Local Resources
    
    ora.DATA.dg		ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.LISTENER.lsnr	ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.LOGS.dg		ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.asm		ONLINE  ONLINE       ip-172-30-15-58          Started,STABLE
    ora.ons		OFFLINE OFFLINE      ip-172-30-15-58          STABLE
    
    Cluster Resources
    
    ora.cssd        	ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.db1.db		ONLINE  ONLINE       ip-172-30-15-58          Open,HOME=/u01/app/oracle/product/19.0.0/db1,STABLE
    ora.diskmon		OFFLINE OFFLINE                               STABLE
    ora.driver.afd	ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.evmd		ONLINE  ONLINE       ip-172-30-15-58          STABLE
  14. Definir o usuário Oracle .bash_profile .

    vi ~/.bash_profile
  15. Adicione as seguintes entradas:

    export ORACLE_HOME=/u01/app/oracle/product/19.0.0/db1
    export ORACLE_SID=db1
    export PATH=$PATH:$ORACLE_HOME/bin
    alias asm='export ORACLE_HOME=/u01/app/oracle/product/19.0.0/grid;export ORACLE_SID=+ASM;export PATH=$PATH:$ORACLE_HOME/bin'
  16. Valide o CDB/PDB criado.

    source /home/oracle/.bash_profile
    
    sqlplus / as sysdba
    
    SQL> select name, open_mode from v$database;
    
    NAME      OPEN_MODE
    
    DB1       READ WRITE
    
    SQL> select name from v$datafile;
    
    NAME
    
    +DATA/DB1/DATAFILE/system.256.1132176177
    +DATA/DB1/DATAFILE/sysaux.257.1132176221
    +DATA/DB1/DATAFILE/undotbs1.258.1132176247
    +DATA/DB1/86B637B62FE07A65E053F706E80A27CA/DATAFILE/system.265.1132177009
    +DATA/DB1/86B637B62FE07A65E053F706E80A27CA/DATAFILE/sysaux.266.1132177009
    +DATA/DB1/DATAFILE/users.259.1132176247
    +DATA/DB1/86B637B62FE07A65E053F706E80A27CA/DATAFILE/undotbs1.267.1132177009
    +DATA/DB1/F7852758DCD6B800E0533A0F1EAC1DC6/DATAFILE/system.271.1132177853
    +DATA/DB1/F7852758DCD6B800E0533A0F1EAC1DC6/DATAFILE/sysaux.272.1132177853
    +DATA/DB1/F7852758DCD6B800E0533A0F1EAC1DC6/DATAFILE/undotbs1.270.1132177853
    +DATA/DB1/F7852758DCD6B800E0533A0F1EAC1DC6/DATAFILE/users.274.1132177871
    
    NAME
    
    +DATA/DB1/F785288BBCD1BA78E0533A0F1EACCD6F/DATAFILE/system.276.1132177871
    +DATA/DB1/F785288BBCD1BA78E0533A0F1EACCD6F/DATAFILE/sysaux.277.1132177871
    +DATA/DB1/F785288BBCD1BA78E0533A0F1EACCD6F/DATAFILE/undotbs1.275.1132177871
    +DATA/DB1/F785288BBCD1BA78E0533A0F1EACCD6F/DATAFILE/users.279.1132177889
    +DATA/DB1/F78529A14DD8BB18E0533A0F1EACB8ED/DATAFILE/system.281.1132177889
    +DATA/DB1/F78529A14DD8BB18E0533A0F1EACB8ED/DATAFILE/sysaux.282.1132177889
    +DATA/DB1/F78529A14DD8BB18E0533A0F1EACB8ED/DATAFILE/undotbs1.280.1132177889
    +DATA/DB1/F78529A14DD8BB18E0533A0F1EACB8ED/DATAFILE/users.284.1132177907
    
    19 rows selected.
    
    SQL> show pdbs
    
        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    
             2 PDB$SEED                       READ ONLY  NO
             3 DB1_PDB1                       READ WRITE NO
             4 DB1_PDB2                       READ WRITE NO
             5 DB1_PDB3                       READ WRITE NO
    SQL>
  17. Defina o tamanho do destino de recuperação do banco de dados para o tamanho do grupo de discos +LOGS.

    alter system set db_recovery_file_dest_size = 80G scope=both;
  18. Efetue login no banco de dados com o sqlplus e ative o modo de log de arquivamento.

    sqlplus /as sysdba.
    
    shutdown immediate;
    
    startup mount;
    
    alter database archivelog;
    
    alter database open;

Isso conclui a implantação do Oracle 19c versão 19.18 Restart em uma instância de computação Amazon FSx ONTAP e EC2. Se desejar, a NetApp recomenda realocar o arquivo de controle do Oracle e os arquivos de log on-line para o grupo de discos +LOGS.

Opção de implantação automatizada

Backup, restauração e clonagem do banco de dados Oracle com o SnapCenter Service

Ver"Serviços SnapCenter para Oracle" para obter detalhes sobre backup, restauração e clonagem do banco de dados Oracle com o console NetApp BlueXP .