Instale o Oracle RAC na Solução Bare Metal

Esta página mostra como instalar o Oracle Real Application Clusters (RAC) no seu servidor da solução Bare Metal.

Implementação

Neste guia, criamos uma implementação que inclui o Oracle RAC 19c instalado num servidor da Solução Bare Metal. Criamos um RAC de dois nós com uma base de dados.

Antes de começar

  • Certifique-se de que aprovisiona a infraestrutura necessária para o RAC. Isto inclui dois nós, armazenamento partilhado e volumes dedicados para alojar o diretório inicial do Oracle.
  • Neste guia, usamos o processo de instalação da GUI. Se também quiser usar o processo de instalação da GUI, configure o Virtual Network Computing (VNC) num dos nós seguindo o guia de configuração do VNC da Oracle.
  • Crie um ponto de montagem local /apps para alojar os diretórios Oracle home e Grid home.

Instalação de RAC

A instalação do RAC na Solução Bare Metal envolve os seguintes passos:

  1. Prepare os nós para a instalação do RAC.
  2. Configure o Oracle ASM.
  3. Faça verificações de pré-instalação.
  4. Instale o Oracle RAC.
  5. Execute os passos pós-instalação.

Prepare os nós para a instalação do RAC

Execute os seguintes passos em ambos os nós, salvo indicação em contrário:

  1. Atualize o ficheiro /etc/hosts com os seguintes endereços IP para o RAC:

    • Endereços IP públicos
    • Endereços IP privados
    • Endereços IP virtuais
    • Endereços IP virtuais SCAN

    Segue-se um exemplo do ficheiro /etc/hosts modificado:

    
     10.*.*.* bms-jumphost
    
     # public IP addresses for Oracle RAC
     192.*.*.* at-2811641-svr001 at-2811641-svr001.localdomain
     192.*.*.* at-2811641-svr002 at-2811641-svr002.localdomain
    
     # private IP addresses for Oracle RAC
     172.*.*.* at-2811641-svr001-priv at-2811641-svr001-priv.localdomain
     172.*.*.* at-2811641-svr002-priv at-2811641-svr002-priv.localdomain
    
     # virtual IP addresses for Oracle RAC
     192.*.*.* at-2811641-svr001-vip at-2811641-svr001-vip.localdomain
     192.*.*.* at-2811641-svr002-vip at-2811641-svr001-vip.localdomain
    
     # SCAN virtual IP addresses for Oracle RAC
     192.*.*.* psoracle-scan psoracle-scan.localdomain
     192.*.*.* psoracle-scann psoracle-scan.localdomain
     192.*.*.* psoracle-scan psoracle-scan.localdomain
    
    
  2. Faça a resolução de DNS para os endereços IP virtuais e os endereços IP virtuais SCAN.

    Usamos o Cloud DNS para resolver endereços IP virtuais e endereços IP virtuais SCAN. Para ver instruções, consulte o artigo Configure o SCAN com o Cloud DNS.

  3. Atualize o ficheiro /etc/sysctl.conf com os parâmetros do kernel.

    
     vi /etc/sysctl.conf
    
     # Added for Oracle
     fs.file-max = 6815744
     kernel.sem = 250 32000 100 128
     kernel.shmmni = 4096
     kernel.shmall = 1073741824
     kernel.shmmax = 4398046511104
     kernel.panic_on_oops = 1
     net.core.rmem_default = 262144
     net.core.rmem_max = 4194304
     net.core.wmem_default = 262144
     net.core.wmem_max = 1048576
     net.ipv4.conf.all.rp_filter = 2
     net.ipv4.conf.default.rp_filter = 2
     fs.aio-max-nr = 1048576
     net.ipv4.ip_local_port_range = 9000 65500
    
    
  4. Aplique as atualizações dos parâmetros do kernel.

     /sbin/sysctl -p
    
  5. No ficheiro /etc/security/limits.conf, adicione os limites de recursos.

    
     vi /etc/security/limits.conf
    
     ## Added for Oracle
     grid soft nofile 1024
     grid hard nofile 65536
     grid soft nproc 2047
     grid hard nproc 16384
     grid soft stack 10240
     grid hard stack 32768
    
     oracle soft nofile 1024
     oracle hard nofile 65536
     oracle soft nproc 2047
     oracle hard nproc 16384
     oracle soft stack 10240
     oracle hard stack 32768
    
    
  6. Adicione os utilizadores e os grupos necessários.

    
     groupadd -g 54321 oinstall
     groupadd -g 54322 dba
     groupadd -g 54323 oper
     groupadd -g 54327 asmdba
     groupadd -g 54328 asmoper
     groupadd -g 54329 asmadmin
    
     useradd -u 54321 -g oinstall -G dba,oper,asmdba,asmoper,asmadmin,oracle
    
    
  7. Instale o pacote de pré-instalação do Oracle.

    Este guia pressupõe que configurou o repositório Oracle.

    
     yum install oracle-database-preinstall-19c
    
    

    O pacote oracle-database-preinstall-19c instala os pacotes necessários e cria o utilizador oracle e uma entrada no ficheiro /etc/sysctl.conf.

  8. Reponha a palavra-passe do utilizador oracle.

    
     passwd oracle
    
    
  9. Instale os seguintes pacotes para o Oracle ASM:

    • oracleasm-support
    • kmod-oracleasm
    
     yum install oracleasm-support
     yum install kmod-oracleasm
    
    
  10. Desative a opção SELinux atualizando o ficheiro /etc/selinux/config.

    
     vi /etc/selinux/config
    
     # This file controls the state of SELinux on the system.
     # SELINUX= can take one of these three values:
     #     enforcing - SELinux security policy is enforced.
     #     permissive - SELinux prints warnings instead of enforcing.
     #     disabled - No SELinux policy is loaded.
     SELINUX=disabled
     # SELINUXTYPE= can take one of three values:
     #     targeted - Targeted processes are protected,
     #     minimum - Modification of targeted policy. Only selected processes are protected.
     #     mls - Multi Level Security protection.
     SELINUXTYPE=targeted
    
    
  11. Pare e desative a firewall.

    
     systemctl stop firewalld.service
     systemctl disable firewalld
    
    
  12. Configure o NTP.

    1. Instale o pacote NTP.

      
       yum install ntp
      
      
    2. Inicie o serviço ntpd.

      
       systemctl start ntpd
      
      
    3. Atualize o ficheiro /etc/ntp.conf.

      Neste caso, sincronizamos com o nosso anfitrião bastion, que é 10.x.x.x. Também pode ser o seu servidor NTP interno. 192.x.x.x é o endereço IP do seu servidor da solução Bare Metal.

      
      vi /etv/ntp.conf
      
      restrict 192.x.x.x mask 255.255.255.0 nomodify notrap
      server 10.x.x.x prefer
      
      
    4. Atualize o servidor NTP para iniciar a sincronização.

       ntpdate -qu SERVER_NAME
      
  13. Se o avahi-daemon estiver em execução, pare-o e desative-o.

    
     systemctl status avahi-daemon
     ● avahi-daemon.service - Avahi mDNS/DNS-SD Stack
       Loaded: loaded (/usr/lib/systemd/system/avahi-daemon.service; enabled; vendor preset: enabled)
       Active: active (running) since Mon 2021-08-09 07:51:26 UTC; 23h ago
     Main PID: 2543 (avahi-daemon)
       Status: "avahi-daemon 0.6.31 starting up."
         Tasks: 2
       CGroup: /system.slice/avahi-daemon.service
               ├─2543 avahi-daemon: running [at-2811641-svr001.local]
               └─2546 avahi-daemon: chroot helper
    
     systemctl stop avahi-daemon
     Warning: Stopping avahi-daemon.service, but it can still be activated by:
       avahi-daemon.socket
    
     [root@at-2811641-svr001 ~]# systemctl disable avahi-daemon
     Removed symlink /etc/systemd/system/multi-user.target.wants/avahi-daemon.service.
     Removed symlink /etc/systemd/system/sockets.target.wants/avahi-daemon.socket.
     Removed symlink /etc/systemd/system/dbus-org.freedesktop.Avahi.service.
    
     systemctl status avahi-daemon
     ● avahi-daemon.service - Avahi mDNS/DNS-SD Stack
       Loaded: loaded (/usr/lib/systemd/system/avahi-daemon.service; disabled; vendor preset: enabled)
       Active: inactive (dead) since Tue 2021-08-10 07:16:28 UTC; 36s ago
     Main PID: 2543 (code=exited, status=0/SUCCESS)
    
    
  14. Crie os diretórios Oracle home e Grid home.

    
     mkdir -p /apps/grid/19.3.0/gridhome_1
     mkdir -p /apps/grid/gridbase/
    
     mkdir -p /apps/oracle/product/19.3.0/dbhome_1
    
     chmod -R 775 /apps/
     chown -R oracle:oinstall /apps/
    
    
  15. No primeiro nó, faça o seguinte:

    1. Transfira os ficheiros de imagem da infraestrutura de grelha da Oracle.
    2. Como utilizador Oracle, copie os ficheiros transferidos para o diretório base do Grid.
    3. Como utilizador Oracle, extraia os ficheiros de imagem da infraestrutura de grelha da Oracle.
    
     cp LINUX.X64_193000_grid_home.zip /apps/grid/19.3.0/gridhome_1/
     cd /apps/grid/19.3.0/gridhome_1/
     unzip LINUX.X64_193000_grid_home.zip
    
    
  16. Em qualquer um dos nós, configure o SSH sem palavra-passe para o utilizador do Oracle.

    
     cd /apps/grid/19.3.0/gridhome_1/deinstall
    
     ./sshUserSetup.sh -user oracle -hosts "at-2811641-svr001 at-2811641-svr002" -noPromptPassphrase -confirm -advanced
    
    
  17. Em qualquer nó, como utilizador root, instale o pacote RPM a partir do diretório base do Grid.cvuqdisk

    
     rpm -qa cvuqdisk
    
     cd /apps/grid/19.3.0/gridhome_1/cv/rpm/
    
     rpm -iv cvuqdisk-1.0.10-1.rpm
    
     Preparing packages...
     Using default group oinstall to install package
     cvuqdisk-1.0.10-1.x86_64
    
     rpm -qa cvuqdisk
    
     cvuqdisk-1.0.10-1.x86_64
    
    

Configure o Oracle ASM

Para configurar o Oracle ASM, execute os seguintes passos como utilizador root:

  1. Em qualquer um dos nós, identifique todos os LUNs partilhados que vai usar para o Oracle ASM.

     multipath -ll
    
  2. Em qualquer um dos nós, crie partições em todos os dispositivos partilhados através de fdisk ou gdisk.

     fdisk /dev/mapper/DISK_WWID
    

    Substitua o seguinte:

    • DISK_WWID: WWID do disco.

    Segue-se um exemplo de resultado:

     fdisk /dev/mapper/3600a098038314343753f4f723154594e
    
     Welcome to fdisk (util-linux 2.23.2).
    
     Changes will remain in memory only, until you decide to write them. Be careful
     before using the write command.
    
     Device does not contain a recognized partition table Building a new DOS
     disklabel with disk identifier 0xf7f8fd23.
    
     The device presents a logical sector size that is smaller than the physical
     sector size. Aligning to a physical sector (or optimal I/O) size boundary is
     recommended, or performance may be impacted.
    
     Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4
     free) e extended Select (default p): p Partition number (1-4, default 1): First
     sector (2048-2147518463, default 2048): Using default value 2048 Last sector,
     +sectors or +size{K,M,G} (2048-2147518463, default 2147518463): Using default
     value 2147518463 Partition 1 of type Linux and of size 1 TiB is set
    
     Command (m for help): w The partition table has been altered!
    
     Calling ioctl() to re-read partition table.
    
     WARNING: Re-reading the partition table failed with error 22: Invalid argument.
     The kernel still uses the old table. The new table will be used at the next
     reboot or after you run partprobe(8) or kpartx(8) Syncing disks.
    
     fdisk -l /dev/mapper/3600a098038314343753f4f723154594e
    
     Disk /dev/mapper/3600a098038314343753f4f723154594e: 1099.5 GB, 1099529453568 bytes,2147518464 sectors
     Units = sectors of 1 * 512 = 512 bytes
     Sector size (logical/physical): 512 bytes / 4096 bytes
     I/O size (minimum/optimal): 4096 bytes / 65536 bytes
     Disk label type: dos
     Disk identifier: 0xf7f8fd23
    
                                             Device Boot      Start         End      Blocks          Id  System
     /dev/mapper/3600a098038314343753f4f723154594e1            2048  2147518463  1073758208          83  Linux
    
  3. Execute partprobe para tornar todas as novas partições visíveis.

     partprobe
    
  4. Em ambos os nós, configure o Oracle ASM.

     oracleasm configure -i
     Configuring the Oracle ASM library driver.
    
     This will configure the on-boot properties of the Oracle ASM library
     driver.  The following questions will determine whether the driver is
     loaded on boot and what permissions it will have.  The current values
     will be shown in brackets ('[]').  Hitting <ENTER> without typing an
     answer will keep that current value.  Ctrl-C will abort.
    
     Default user to own the driver interface []: oracle
     Default group to own the driver interface []: oinstall
     Start Oracle ASM library driver on boot (y/n) [n]: y
     Scan for Oracle ASM disks on boot (y/n) [y]: y
     Writing Oracle ASM library driver configuration: done
    
  5. Em ambos os nós, defina o valor do parâmetro ORACLEASM_SCANORDER como dm e o valor de ORACLEASM_SCANEXCLUDE como sd, uma vez que os servidores do Bare Metal Solution usam dispositivos de vários caminhos.

     vi /etc/sysconfig/oracleasm
    
     ORACLEASM_SCANORDER="dm"
     ORACLEASM_SCANEXCLUDE="sd"
    
  6. Em ambos os nós, valide a configuração do Oracle ASM.

    
     oracleasm configure
     ORACLEASM_ENABLED=true
     ORACLEASM_UID=oracle
     ORACLEASM_GID=oinstall
     ORACLEASM_SCANBOOT=true
     ORACLEASM_SCANORDER="dm"
     ORACLEASM_SCANEXCLUDE="sd"
     ORACLEASM_SCAN_DIRECTORIES=""
     ORACLEASM_USE_LOGICAL_BLOCK_SIZE="false"
    
    
  7. Em ambos os nós, inicie oracleasm.

    
     oracleasm init
    
     Creating /dev/oracleasm mount point: /dev/oracleasm
     Loading module "oracleasm": oracleasm
     Configuring "oracleasm" to use device physical block size
     Mounting ASMlib driver filesystem: /dev/oracleasm
    
    
  8. Em ambos os nós, verifique o estado de oracleasm.

    
     oracleasm status
    
     Checking if ASM is loaded: yes
     Checking if /dev/oracleasm is mounted: yes
    
    
  9. Em qualquer um dos nós, crie discos Oracle ASM nos dispositivos com partições de vários caminhos.

     oracleasm createdisk OCR /dev/mapper/DISK_WWID
    

    Substitua o seguinte:

    • DISK_WWID: WWID do disco.

    Segue-se um exemplo de resultado:

    
     oracleasm createdisk OCR /dev/mapper/3600a098038314343753f4f723154594e1
     Writing disk header: done
     Instantiating disk: done
    
    
  10. No primeiro nó, liste os nomes dos discos.

     oracleasm listdisks
    

    Segue-se um exemplo de resultado:

    
    DATA01
    DATA02
    DATA03
    DATA04
    DATA05
    DATA06
    FRA01
    FRA02
    FRA03
    OCR
    
    
  11. No segundo nó, liste os discos que foram marcados como discos ASMLIB no primeiro nó.

     oracleasm scandisks
    

    Segue-se um exemplo de resultado:

    
    Reloading disk partitions: done
    Cleaning any stale ASM disks...
    Scanning system for ASM disks...
    Instantiating disk "DATA01"
    Instantiating disk "DATA06"
    Instantiating disk "DATA04"
    Instantiating disk "OCR"
    Instantiating disk "DATA05"
    Instantiating disk "FRA01"
    Instantiating disk "DATA03"
    Instantiating disk "FRA03"
    Instantiating disk "FRA02"
    Instantiating disk "DATA02"
    
  12. No segundo nó, liste os nomes dos discos.

     oracleasm listdisks
    

    Segue-se um exemplo de resultado:

    oracleasm listdisks
    DATA01
    DATA02
    DATA03
    DATA04
    DATA05
    DATA06
    FRA01
    FRA02
    FRA03
    OCR
    
    

    Se os discos não aparecerem no segundo nó após a análise, execute o comando partprobe para tornar as partições visíveis.

Efetue verificações pré-instalação

Verifique se todos os pré-requisitos para a instalação da infraestrutura de grelha da Oracle estão cumpridos. No primeiro nó, execute o script runcluvfy.sh.

   
   ./runcluvfy.sh stage -pre crsinst -n at-2811641-svr001,at-2811641-svr002 -verbose
   

Se algum dos pré-requisitos falhar, corrija-o antes de continuar com a instalação.

Instale o Oracle RAC

No primeiro nó no qual transferiu e extraiu os ficheiros de imagem da infraestrutura Oracle Grid, execute os seguintes passos:

  1. Estabeleça ligação ao servidor da Bare Metal Solution através do VNC Viewer.
  2. Execute o gridSetup.shscript.
  3. Na página Selecionar opção de configuração, selecione Oracle Grid Infrastructure para um novo cluster e, de seguida, clique em Seguinte.
  4. Na página Selecionar configuração do cluster, selecione Configurar um cluster autónomo do Oracle e, de seguida, clique em Seguinte.
  5. Na página Informações de ligação e utilização da grelha, faça o seguinte:

    1. Selecione Criar SCAN local.
    2. Introduza um nome do cluster. Certifique-se de que tem menos de 15 carateres.
    3. Introduza um nome SCAN.
    4. Introduza uma porta SCAN.
    5. Clicar em Seguinte.
  6. Para adicionar o segundo nó, clique em Adicionar e faça o seguinte:

    1. Introduza o nome do anfitrião público do segundo nó.
    2. Introduza o nome de anfitrião virtual do segundo nó.
    3. Clique em OK.
  7. Na página Especificar utilização da interface de rede, faça o seguinte:

    1. Para cada interface, na coluna Usar para, selecione o tipo de utilização. Para a interface privada, selecione ASM e privado.
    2. Clicar em Seguinte.
  8. Na página Informações da opção de armazenamento, selecione Oracle Flex ASM para armazenamento para armazenar ficheiros de OCR e ficheiros de disco de votação no Oracle ASM e, de seguida, clique em Seguinte.

  9. Na página Criar repositório de gestão da infraestrutura de grelha, selecione Sim e, de seguida, clique em Seguinte.

    Este passo cria o repositório de gestão da infraestrutura de grelha (GIMR).

  10. Na página Opção de repositório de gestão da infraestrutura de grelha, selecione Não, uma vez que não queremos criar um grupo de discos separado para o GIMR.

  11. Na página Criar grupo de discos ASM, faça o seguinte:

    1. Introduza o nome do grupo de discos.
    2. Clique em Alterar caminho de descoberta e introduza o caminho de descoberta correto para os discos ASM da Oracle.

      Certifique-se de que os dispositivos estão mapeados para vários caminhos, para que os discos do Oracle ASM estejam operacionais mesmo depois de um caminho ficar inativo.

  12. Na página Especifique a palavra-passe do ASM, faça o seguinte:

    1. Selecione Usar as mesmas palavras-passe para estas contas.
    2. Introduza e confirme a palavra-passe.
    3. Clicar em Seguinte.
  13. Na página Suporte de isolamento de falhas, selecione Não usar a interface de gestão inteligente da plataforma (IPMI) e clique em Seguinte.

  14. Na página Especificar opções de gestão, clique em Seguinte, uma vez que não vamos configurar a infraestrutura de grelha da Oracle com o Oracle Enterprise Manager.

  15. Na página Grupos de sistemas operativos privilegiados, faça o seguinte:

    1. Para todos os privilégios do Oracle ASM, selecione oinstall. Também pode usar asmdba e asmoper.
    2. Clicar em Seguinte.
  16. Na página Especifique a localização da instalação, especifique a base de dados Oracle e clique em Seguinte.

  17. A execução dos scripts de raiz pode ser feita automaticamente se tiver a palavra-passe de raiz ou se o utilizador oracle tiver privilégios de sudo. No entanto, neste guia, executamos os scripts manualmente. Por conseguinte, na página Execução de scripts de raiz, clique em Seguinte.

  18. Na página Efetue verificações de pré-requisitos, faça o seguinte:

    1. Corrija as falhas apresentadas.

      Se tiver corrigido todas as falhas encontradas na execução do script runcluvfy.sh, conforme descrito na secção Realize verificações de pré-instalação, pode esperar uma instalação limpa.

    2. Depois de corrigir as falhas, clique em Verificar novamente para atualizar o estado das falhas como Concluído.

    3. Clicar em Seguinte.

  19. Reveja o resumo e clique em Instalar.

  20. O comando de instalação pede-lhe que execute os scripts de raiz em ambos os nós. Primeiro, execute os scripts no primeiro nó e, em seguida, no segundo nó.

    
     /apps/grid/oraInventory/orainstRoot.sh
     /apps/grid/19.3.0/gridhome_11/grid/root.sh
    
    
  21. Quando for apresentada a janela Concluir, clique em Fechar.

Execute os passos pós-instalação

Após a conclusão da instalação da infraestrutura de grelha da Oracle, siga estes passos:

  1. Instale e configure o software da base de dados Oracle.

    Para a instalação do RAC, escolha a opção de instalação Apenas software.

    Para ver instruções sobre como instalar o software da base de dados Oracle, consulte o blogue: Step by step installing And configuring Oracle 19c Binaries for RAC database.

  2. Crie grupos de discos do Oracle ASM.

    1. Crie uma entrada para a instância do Oracle ASM no ficheiro /etc/oratab.

      
      vi /etc/oratab
      
      +ASM1:/apps/grid/19.3.0/gridhome_1:N
      
      
    2. Defina as variáveis ORACLE_SID e ORACLE_HOME para a instância do Oracle ASM e estabeleça ligação à mesma.

      
      . oraenv
      ORACLE_SID = [oracle] ? +ASM1
      The Oracle base has been set to /apps/grid/gridbase
      
      sqlplus / as sysasm
      
      SQL> select INSTANCE_NAME,STATUS from v$instance;
      
      INSTANCE_NAME    STATUS
      ---------------- ------------
      +ASM1           STARTED
      
      
    3. Verifique se os discos a adicionar têm um HEADER_STATUS de PROVISIONED.

      
      SQL> select HEADER_STATUS,STATE,TOTAL_MB/1024,path from v$asm_disk;
      
      HEADER_STATUS.      STATE             PATH
      ------------ -------- ------------- -------------------------
      PROVISIONED            NORMAL       /dev/oracleasm/disks/DAT01
      
      PROVISIONED             NORMAL      /dev/oracleasm/disks/DATA02
      
      MEMBER              NORMAL       /dev/oracleasm/disks/OCR
      
      
    4. Crie o grupo de discos a partir de um nó.

      
      SQL> create diskgroup DATA external redundancy disk '/dev/oracleasm/disks/DATA01','/dev/oracleasm/disks/DATA02';
      Diskgroup created.
      
      SQL> select name, state, type from v$asm_diskgroup;
      
      NAME             STATE      TYPE
      ------------------------------
      OCR           MOUNTED      EXTERN
      DATA            MOUNTED    EXTERN
      
      
    5. No outro nó, inicie sessão na instância do Oracle ASM e monte o grupo de discos.

      
      SQL> select name, state, type from v$asm_diskgroup;
      
      NAME                 STATE       TYPE
      -------------------- ----------- ------
      DATA                 DISMOUNTED
      OCR                  MOUNTED     EXTERN
      
      SQL> alter diskgroup DATA mount;
      
      Diskgroup altered.
      
      SQL> select name, state, type from v$asm_diskgroup;
      
      NAME                           STATE       TYPE
      ------------------------------ ----------- ------
      OCR                            MOUNTED     EXTERN
      DATA                           MOUNTED     EXTERN
      
      
  3. Crie uma base de dados RAC com o Oracle Database Configuration Assistant (DBCA).

    Certifique-se de que escolhe Tipo de base de dados como Base de dados de cluster de aplicações reais.

    Para ver instruções, consulte a documentação da Oracle.

A instalação da base de dados RAC está concluída e pronta a ser usada.

O que se segue?