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.