Instalação Automática do Oracle 21C RAC no RedHat 7.9

Introdução

Este documento demnostra o processo de instalação automatizada do Oracle 21C RAC (21.14) no sistema operacional RedHat 7.9, utilizando um script de instalação assistida que não requer intervenção manual durante o processo.

⭐️ Baixar script de instalação: Script Shell para Instalação do Oracle Database

Preparação do Ambiente

  • 1 - Instalar o sistema operacional, preferencialmente com interface gráfica
  • 2 - Configurar a rede
  • 3 - Montar a imagem ISO local como repositório
  • 4 - Carregar os pacotes de instalação (pacote base e pacotes de patch)
  • 5 - Carregar o script de instalação automática: OracleShellInstall

Informações do Ambiente

# Versão do sistema
## Nó um
[root@servidor01 programas]# cat /etc/os-release 
NAME="Red Hat Enterprise Linux Server"
VERSION="7.9 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.9"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.9 (Maipo)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.9:GA:server"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.9
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.9"

## Nó dois
[root@servidor02 ~]# cat /etc/os-release 
NAME="Red Hat Enterprise Linux Server"
VERSION="7.9 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.9"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.9 (Maipo)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.9:GA:server"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.9
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.9"

# Informações de rede
## Nó um
[root@servidor01 programas]# ip a
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:96:ac:51 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.201/24 brd 192.168.10.255 scope global noprefixroute ens192
       valid_lft forever preferred_lft forever
    inet6 fe80::f5b9:ca65:dba2:bf0/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:96:ac:5b brd ff:ff:ff:ff:ff:ff
    inet 10.10.10.1/24 brd 10.10.10.255 scope global noprefixroute ens224
       valid_lft forever preferred_lft forever
    inet6 fe80::a8ce:7574:2cec:a98e/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

## Nó dois
[root@servidor02 ~]# ip a
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:f2:87:1f brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.202/24 brd 192.168.10.255 scope global noprefixroute ens192
       valid_lft forever preferred_lft forever
    inet6 fe80::add5:391e:a5cb:6547/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:f2:87:29 brd ff:ff:ff:ff:ff:ff
    inet 10.10.10.2/24 brd 10.10.10.255 scope global noprefixroute ens224
       valid_lft forever preferred_lft forever
    inet6 fe80::3044:e992:319f:95a2/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

# Montagem da imagem ISO local
## Nó um
[root@servidor01 programas]# mount | grep iso9660 | grep -v "/run/media"
/dev/sr0 on /mnt type iso9660 (ro,relatime)
[root@servidor01 programas]# df -h|grep /mnt
/dev/sr0               4.3G  4.3G     0 100% /mnt

## Nó dois
[root@servidor02 ~]# mount | grep iso9660 | grep -v "/run/media"
/dev/sr0 on /mnt type iso9660 (ro,relatime)
[root@servidor02 ~]# df -h|grep /mnt
/dev/sr0               4.3G  4.3G     0 100% /mnt

# Configuração de disco compartilhado com starwind (quando há storage, não é necessário starwind)
yum install -y iscsi-initiator-utils*
systemctl start iscsid.service
systemctl enable iscsid.service
iscsiadm -m discovery -t st -p 192.168.10.100
## Montar discos ASM
iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:192.168.10.100-fulano -p 192.168.10.100 -l
## Configurar montagem automática
iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:192.168.10.100-fulano -p 192.168.10.100 --op update -n node.startup -v automatic

## Nó um
[root@servidor01 programas]# lsblk 
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0  100G  0 disk 
├─sda1          8:1    0    1G  0 part /boot
└─sda2          8:2    0   99G  0 part 
  ├─rhel-root 253:0    0   91G  0 lvm  /
  └─rhel-swap 253:1    0    8G  0 lvm  [SWAP]
sdb             8:16   0   10G  0 disk 
sdc             8:32   0   50G  0 disk 
sr0            11:0    1  4.2G  0 rom  /mnt

## Nó dois
[root@servidor02 ~]# lsblk 
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0  100G  0 disk 
├─sda1          8:1    0    1G  0 part /boot
└─sda2          8:2    0   99G  0 part 
  ├─rhel-root 253:0    0   91G  0 lvm  /
  └─rhel-swap 253:1    0    8G  0 lvm  [SWAP]
sdb             8:16   0   10G  0 disk 
sdc             8:32   0   50G  0 disk 
sr0            11:0    1  4.2G  0 rom  /mnt

# Pacotes de instalação armazenados no diretório /programas
[root@servidor01 programas]# ll
-rwx------. 1 root root 3109225519 Apr 25 13:47 LINUX.X64_213000_db_home.zip
-rwx------. 1 root root 2422217613 Apr 25 13:46 LINUX.X64_213000_grid_home.zip
-rwxr-xr-x 1 root root     197418 Apr 26 10:40 OracleShellInstall
-rwx------. 1 root root 2044000163 Apr 25 13:46 p36352207_210000_Linux-x86-64.zip
-rwx------. 1 root root  127629034 Apr 25 13:46 p6880880_210000_Linux-x86-64.zip
-rwx------. 1 root root     321590 Mar 11 14:12 rlwrap-0.44.tar.gz


Após garantir que o amibente está pronto, pode-se executar a instalação automática.

Comando de Instalação

Parâmetros padrão para ambiente de produção (o script suporta execução repetida em caso de falha):

# Editar o comando de instalação conforme documentação ou -h, executar no diretório /programas:
./OracleShellInstall -n servidor `# prefixo hostname`\
-hn servidor01,servidor02 `# hostname dos nós RAC`\
-cn cluster-db `# nome do cluster`\
-rp minha_senha_root `# senha root`\
-gp minha_senha_grid `# senha grid`\
-op minha_senha_oracle `# senha oracle`\
-lf ens192 `# interface de rede local`\
-pf ens224 `# interface de rede privada RAC`\
-ri 192.168.10.201,192.168.10.202 `# IPs públicos dos nós RAC`\
-vi 192.168.10.203,192.168.10.204 `# IPs virtuais RAC`\
-si 192.168.10.205 `# IP scan do RAC`\
-od /dev/sdb `# disco ASM para OCR`\
-dd /dev/sdc `# disco ASM para dados`\
-o prod01 `# nome do banco`\
-pdb teste `# nome do PDB`\
-ds AL32UTF8 `# caracteres do banco`\
-ns AL16UTF16 `# caracteres nacionais`\
-redo 100 `# tamanho redo`\
-dp minha_senha_sistema `# senha sys/system`\
-gpa 36352207 `# PSU/RU do Grid`\
-opd Y `# otimizar banco`


Processo de Instalação

   ███████                             ██          ████████ ██               ██  ██ ██                    ██              ██  ██
  ██░░░░░██                           ░██         ██░░░░░░ ░██              ░██ ░██░██                   ░██             ░██ ░██
 ██     ░░██ ██████  ██████    █████  ░██  █████ ░██       ░██       █████  ░██ ░██░██ ███████   ██████ ██████  ██████   ░██ ░██
░██      ░██░░██░░█ ░░░░░░██  ██░░░██ ░██ ██░░░██░█████████░██████  ██░░░██ ░██ ░██░██░░██░░░██ ██░░░░ ░░░██░  ░░░░░░██  ░██ ░██
░██      ░██ ░██ ░   ███████ ░██  ░░  ░██░███████░░░░░░░░██░██░░░██░███████ ░██ ░██░██ ░██  ░██░░█████   ░██    ███████  ░██ ░██
░░██     ██  ░██    ██░░░░██ ░██   ██ ░██░██░░░░        ░██░██  ░██░██░░░░  ░██ ░██░██ ░██  ░██ ░░░░░██  ░██   ██░░░░██  ░██ ░██
 ░░███████  ░███   ░░████████░░█████  ███░░██████ ████████ ░██  ░██░░██████ ███ ███░██ ███  ░██ ██████   ░░██ ░░████████ ███ ███
  ░░░░░░░   ░░░     ░░░░░░░░  ░░░░░  ░░░  ░░░░░░ ░░░░░░░░  ░░   ░░  ░░░░░░ ░░░ ░░░ ░░ ░░░   ░░ ░░░░░░     ░░   ░░░░░░░░ ░░░ ░░░ 

Atenção: Este script deve ser utilizado apenas para implantação em servidores novos. Não execute em hosts com bancos de dados em produção para evitar perda ou corrupção de dados!!!                                                                                  

Selecione o modo de instalação [standalone(si)/standaloneASM(sa)/cluster(rac)] : rac

Modo de instalação do banco: rac                                                                              

Selecione a versão do banco [11/12/19/21] : 21

Versão do banco:     21                                                                               

OracleShellInstall iniciando instalação. Logs disponíveis em: /programas/print_ora_install_20240426130641.log                                                                                  
Verificando compatibilidade do sistema......concluído (tempo: 0 segundos)
Removendo complexidade de senha......concluído (tempo: 0 segundos)
Configurando repositório YUM......concluído (tempo: 1 segundo)
Configurando confiança SSH entre nós......concoluído (tempo: 2 segundos)
Coletando informações do SO......concluído (tempo: 0 segundos)
Configurando Swap......concluído (tempo: 30 segundos)
Configurando firewall......concluído (tempo: 2 segundos)
Configurando selinux......concluído (tempo: 1 segundo)
Configurando nsyctl......concluído (tempo: 1 segundo)
Instalando dependências......concluído (tempo: 42 segundos)
Configurando hostname e /etc/hosts......concluído (tempo: 0 segundos)
Criando usuários e grupos......concluído (tempo: 1 segundo)
Criando diretórios de instalação......concluído (tempo: 1 segundo)
Configurando serviço Avahi-daemon......concluído (tempo: 1 segundo)
Configurando Huge Pages, NUMA e agendador de E/S......concluído (tempo: 1 segundo)
Configurando parâmetros sysctl......concluído (tempo: 1 segundo)
Configurando RemoveIPC......concluído (tempo: 1 segundo)
Configurando limits de usuário......concluído (tempo: 1 segundo)
Configurando diretório shm......concluído (tempo: 1 segundo)
Instalando plugin rlwrap......concluído (tempo: 11 segundos)
Configurando variáveis de ambiente......concluído (tempo: 1 segundo)
Configurando informações do segundo nó RAC......concluído (tempo: 117 segundos)
Configurando SSH trust entre todos os nós......concluído (tempo: 12 segundos)
Descompactando Grid e patches......concluído (tempo: 165 segundos)
Descompactando Oracle e patches......concluído (tempo: 130 segundos)
Instalando Grid e patches......concluído (tempo: 2015 segundos)
Criando grupos de disco ASM......concluído (tempo: 26 segundos)
Instalando Oracle e patches......concluído (tempo: 1840 segundos)
Criando banco de dados......concluído (tempo: 1762 segundos)
Otimizando banco de dados......concluído (tempo: 127 segundos)

Parabéns! Instalação do Oracle RAC concluída (tempo: 6318 segundos). Deseja reiniciar o主机: [Y/N] Y

Reiniciando主机......      


Teste de Conexão

Verificar versão do sistema:

[root@servidor01 programas]# cat /etc/os-release 
NAME="Red Hat Enterprise Linux Server"
VERSION="7.9 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.9"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.9 (Maipo)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.9:GA:server"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.9
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.9"


Verificar versão do Grid e patches:

[grid@servidor01:/home/grid]$ sqlplus -v

SQL*Plus: Release 21.0.0.0.0 - Production
Version 21.14.0.0.0

[grid@servidor01:/home/grid]$ opatch lspatches
36460255;TOMCAT RELEASE UPDATE 21.0.0.0.0 (36460255)
36360767;RHP RELEASE UPDATE 21.14.0.0.0 (36360767)
36360764;ACFS RELEASE UPDATE 21.14.0.0.0 (36360764)
36360754;OCW RELEASE UPDATE 21.14.0.0.0 (36360754)
36352352;Database Release Update : 21.14.0.0.240416 (36352352)
36115667;DBWLM RELEASE UPDATE 21.0.0.0.0 (36115667)

OPatch succeeded.


Verificar cluster:

[grid@servidor01:/home/grid]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       servidor01                    STABLE
               ONLINE  ONLINE       servidor02                    STABLE
ora.chad
               ONLINE  ONLINE       servidor01                    STABLE
               ONLINE  ONLINE       servidor02                    STABLE
ora.net1.network
               ONLINE  ONLINE       servidor01                    STABLE
               ONLINE  ONLINE       servidor02                    STABLE
ora.ons
               ONLINE  ONLINE       servidor01                    STABLE
               ONLINE  ONLINE       servidor02                    STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       servidor01                    STABLE
      2        ONLINE  ONLINE       servidor02                    STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       servidor01                    STABLE
      2        ONLINE  ONLINE       servidor02                    STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       servidor02                    STABLE
ora.OCR.dg(ora.asmgroup)
      1        ONLINE  ONLINE       servidor01                    STABLE
      2        ONLINE  ONLINE       servidor02                    STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       servidor01                    Started,STABLE
      2        ONLINE  ONLINE       servidor02                    Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       servidor01                    STABLE
      2        ONLINE  ONLINE       servidor02                    STABLE
ora.cdp1.cdp
      1        ONLINE  ONLINE       servidor02                    STABLE
ora.cvu
      1        ONLINE  ONLINE       servidor02                    STABLE
ora.prod01.db
      1        ONLINE  ONLINE       servidor01                    Open,HOME=/u01/app/o
                                                             racle/product/21.3.0
                                                             /db,STABLE
      2        ONLINE  ONLINE       servidor02                    Open,HOME=/u01/app/o
                                                             racle/product/21.3.0
                                                             /db,STABLE
ora.prod01.teste.pdb
      1        ONLINE  ONLINE       servidor01                    STABLE
      2        OFFLINE OFFLINE                               STABLE
ora.qosmserver
      1        ONLINE  ONLINE       servidor02                    STABLE
ora.servidor01.vip
      1        ONLINE  ONLINE       servidor01                    STABLE
ora.servidor02.vip
      1        ONLINE  ONLINE       servidor02                    STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       servidor02                    STABLE
--------------------------------------------------------------------------------


Verificar versão do Oracle e patches:

[oracle@servidor01:/home/oracle]$ sqlplus -v

SQL*Plus: Release 21.0.0.0.0 - Production
Version 21.14.0.0.0

[oracle@servidor01:/home/oracle]$ opatch lspatches
36360767;RHP RELEASE UPDATE 21.14.0.0.0 (36360767)
36360754;OCW RELEASE UPDATE 21.14.0.0.0 (36360754)
36352352;Database Release Update : 21.14.0.0.240416 (36352352)

OPatch succeeded.


Conectar ao banco:

[oracle@servidor01:/home/oracle]$ sas

SQL*Plus: Release 21.0.0.0.0 - Production on Fri Apr 26 15:05:26 2024
Version 21.14.0.0.0

Copyright (c) 1982, 2021, Oracle.  All rights reserved.

Connected to:
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.14.0.0.0

sys@PROD01 2024-04-26 15:05:26> show parameter name

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
cdb_cluster_name                     string
cell_offloadgroup_name               string
db_file_name_convert                 string
db_name                              string      prod01
db_unique_name                       string      prod01
global_names                         boolean     FALSE
instance_name                        string      prod01_1
lock_name_space                      string
log_file_name_convert                string
pdb_file_name_convert                string
processor_group_name                 string
service_names                        string      prod01
sys@PROD01 2024-04-26 15:05:32> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 TESTE                         READ WRITE NO
sys@PROD01 2024-04-26 15:05:34> select instance_name,status from gv$instance;

INSTANCE_NAME    STATUS
---------------- ------------
prod01_1         OPEN
prod01_2         OPEN


Conexão com banco de dados funcionando corretamente.

Tags: Oracle oracle-database oracle-rac Linux redhat

Publicado em 6-8 16:21 por Thomas