Configuração do ambiente
A seguir tenho a configuração minima da maquina virtual que irá receber a instalação da base de dados.Contexto | Parametro | Value |
Network | Hostname | 1z0-083-srv |
Network | ip | 192.168.1.19 |
System | SO | Oracle Linux 7.5 |
System | Oracle Version | 19c |
System | Root Size | 30 GB |
System | Swap Size | 8 GB |
System | Physical Memory | 8 GB |
System | Oracle Mount Point | /u01 |
System | Oracle Mount Point Size | 50 GB |
System | Oracle Base Grid | /u01/app/grid |
System | Oracle Base Oracle | /u01/app/oracle |
System | Oracle GI Home | /u01/app/oracle/product/19.0.0/grid |
System | Oracle Home | /u01/app/oracle/product/19.0.0/rdbms |
OS Packages
Abaixo temos as packages que são requiridas para a instalação do produto, essas packages podem ser instaladas atraves de um repositório local ou externo, podemos utilizar tanto o comando yum quanto o rpm para realizar a instalação, esta relação foi pode ser encontrada na documentação da Oracle abaixo.Oracle OS Packages
yum install bc
yum install binutils
yum install compat-libcap1
yum install compat-libstdc++
yum install elfutils-libelf
yum install elfutils-libelf-devel
yum install fontconfig-devel
yum install glibc
yum install glibc-devel
yum install ksh
yum install libaio
yum install libaio-devel
yum install libdtrace-ctf-devel
yum install libXrender
yum install libXrender-devel
yum install libX11
yum install libXau
yum install libXi
yum install libXtst
yum install libgcc
yum install libstdc++
yum install libstdc++-devel
yum install libxcb
yum install make
yum install net-tools (for Oracle RAC and Oracle Clusterware)
yum install nfs-utils (for Oracle ACFS)
yum install python (for Oracle ACFS Remote)
yum install python-configshell (for Oracle ACFS Remote)
yum install python-rtslib (for Oracle ACFS Remote)
yum install python-six (for Oracle ACFS Remote)
yum install targetcli (for Oracle ACFS Remote)
yum install smartmontools
yum install sysstat
Grupos do Sistema Operacional
A seguir temos todos os grupos que podem ser criados no sistema operacional para atender os produtos da Oracle. Na versão 12c a Oracle estendeu a feature de Role Separation para Extended Role Separation, criando 3 novos grupos e 3 novos nives de privilegios, são eles sysbackup, sysdb e syskm.
Contexto | Parametro | Value | Privilegio |
Security | Oracle Iventory Group | oinstall (GID 501) | NA |
Security | Database Adm Group (OSDBA) | dba (GID 502) | sysdba |
Security | Database Oper Group (OSOPER) | oper (GID 503) | sysoper |
Security | Database Bkp Group (OSBACKUPDBA) | backupdba (GID 504) | sysbackup |
Security | Database Dataguard Group (OSDGDBA) | dgdba (GID 505) | sysdg |
Security | Encryption key management (OSKMDBA) | kmdba (GID 506) | syskm |
Security | Grid Adm Group | asmadmin (507) | sysasm |
Security | Grid DBA Group | asmdba (508) | sysdba |
Security | Grid Oper Group | asmoper (509) | sysoper |
No linux os grupos podem ser criados da seguinte forma:
groupadd oinstall -g 501
groupadd dba -g 502
groupadd oper -g 503
groupadd backupdba -g 504
groupadd dgdba -g 505
groupadd kmdba -g 506
groupadd asmadmin -g 507
groupadd asmdba -g 508
groupadd asmoper -g 509
service avahi-daemon stop
Redirecting to /bin/systemctl stop avahi-daemon.service
Warning: Stopping avahi-daemon.service, but it can still be activated by:
avahi-daemon.socket
chkconfig avahi-daemon off
Note: Forwarding request to 'systemctl disable avahi-daemon.service'.
rm '/etc/systemd/system/multi-user.target.wants/avahi-daemon.service'
rm '/etc/systemd/system/sockets.target.wants/avahi-daemon.socket'
rm '/etc/systemd/system/dbus-org.freedesktop.Avahi.service'
Usuarios de Sistema Operacional
Abaixo temos os usuários que podem ser criados, utilizarei o Oracle e Grid para a minha instalação, assim utlizando apenas o Role Separation, deixando os demais grupos para serem testados após a instalação e o ambiente preparado para o Extended Role Separation.
Contexto | Parametro | Value |
Security | Grid owner | grid (501) |
Security | Grid owner groups | -g oinstall -G asmadmin,asmdba,asmoper,dba grid |
Security | Database owner | oracle (502) |
Security | Database owner groups | -g oinstall -G dba,oper,asmdba,backupdba,dgdba,kmdba oracle |
No linux os usuários foram criados conforme abaixo:
useradd -u 501 -g oinstall -G asmadmin,asmdba,asmoper,dba grid
useradd -u 502 -g oinstall -G dba,oper,asmdba,backupdba,dgdba,kmdba oracle
OS User Resource Limit
A seguir temos os valores de resource limit recomendados pela Oracle
Contexto | Parametro | Value |
Resource Limit | nproc Soft Limit | grid/oracle soft nproc 2047 |
Resource Limit | nproc Hard Limit | grid/oracle hard nproc 16384 |
Resource Limit | nofile Soft Limit | grid/oracle soft nofile 1024 |
Resource Limit | nofile Hard Limit | grid/oracle hard nofile 65536 |
Resource Limit | stack Soft Limit | grid/oracle soft stack 10240 KB |
Resource Limit | stack Hard Limit | grid/oracle hard stack 32768 KB |
Adicionar as linhas a seguir no final do arquivo /etc/security/limits.conf.
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
Kernel Parameters
Editar o /etc/sysctl.conf e incluir as linhas abaixo:
Contexto | Parametro |
Kernel | fs.file-max = 6815744 |
Kernel | kernel.sem = 250 32000 100 128 |
Kernel | kernel.shmmni = 4096 |
Kernel | kernel.shmall = 1073741824 |
Kernel | kernel.shmmax = 4398046511104 |
Kernel | net.core.rmem_default = 262144 |
Kernel | net.core.rmem_max = 4194304 |
Kernel | net.core.wmem_default = 262144 |
Kernel | net.core.wmem_max = 1048576 |
Kernel | fs.aio-max-nr = 1048576 |
Kernel | net.ipv4.ip_local_port_range = 9000 65500 |
[root@ol7-121-single ~]# cat /etc/sysctl.conf
# System default settings live in /usr/lib/sysctl.d/00-system.conf.
# To override those settings, enter new settings here, or in an /etc/sysctl.d/.conf file
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
Demais Configurações
SELinux
Alterar o Oracle SELinux para permissive, editar o arquivo /etc/selinux/config e alterar para SELINUX=permissive
Firewall
Desabilitar o firewall, como demostrado abaixo
# systemctl stop firewalld
# systemctl disable firewalld
Instalar o cvuqdisk
Depois de criados os usuarios e grupos do sistema operacional, instalar o pacote cvuqdisk, esse é utilizado para validar discos compartilhados durante a instalação do Oracle, essa pacote se encontra nos binários do pacote da instalação do grid/rdbms na pasta rpm.
[root@ol7-121-single grid]# cd rpm/
[root@ol7-121-single rpm]# pwd
/oracle/grid/rpm
[root@ol7-121-single rpm]# rpm -Uvh cvuqdisk-1.0.9-1.rpm
warning: Failed to open SELinux handle.
Preparing... ################################# [100%]
Using default group oinstall to install package
Updating / installing...
1:cvuqdisk-1.0.9-1 ################################# [100%]
[root@ol7-121-single rpm]#
Desabilitando o Daemon avahi.
Este Daemon é utilizado pelo Linux para busca de devices na rede, para facilitar a comunicação com outros usuarios e dispositivos, porém impacta diretamente no Grid e é um pre-requisito que seja desabilitado.
service avahi-daemon stop
Redirecting to /bin/systemctl stop avahi-daemon.service
Warning: Stopping avahi-daemon.service, but it can still be activated by:
avahi-daemon.socket
chkconfig avahi-daemon off
Note: Forwarding request to 'systemctl disable avahi-daemon.service'.
rm '/etc/systemd/system/multi-user.target.wants/avahi-daemon.service'
rm '/etc/systemd/system/sockets.target.wants/avahi-daemon.socket'
rm '/etc/systemd/system/dbus-org.freedesktop.Avahi.service'
Pre-Configuração Automática
A maioria dos passos acima podem ser feitas de forma automatica utilizando o pacote de preconfiguração RPM da Oracle, caso sejá inscrito no suporte de Linux da Oracle. Esse pacote realizará a instalação de pacotes RPMs básicos, fará o ajuste de parametros de kernel e usuários, para isso baste instalar como root:
yum install oracle-database-preinstall-19c
Validando com ORACHK
Executar também o orachk, pode ser obtido dentro do ultimo binário do SW do Grid / Database, ou também pode ser baixado através do da nota abaixo, agora o TFA e o orachk fazem parte de um framework chamado Autonomous Health Framework, o qual também possui o TFA e o Oratop, entre outros.
O Orachk irá realizar pequenas validações, como pacotes, usuários, grupos e kernel, podendo assim evitar maior problemas durante a instalação de fato.
MOS: Autonomous Health Framework (AHF) - Including TFA and ORAchk/EXAChk (Doc ID 2550798.1)
Executar:
./orachk -profile preinstall
A maioria dos passos acima podem ser feitas de forma automatica utilizando o pacote de preconfiguração RPM da Oracle, caso sejá inscrito no suporte de Linux da Oracle. Esse pacote realizará a instalação de pacotes RPMs básicos, fará o ajuste de parametros de kernel e usuários, para isso baste instalar como root:
yum install oracle-database-preinstall-19c
Validando com ORACHK
Executar também o orachk, pode ser obtido dentro do ultimo binário do SW do Grid / Database, ou também pode ser baixado através do da nota abaixo, agora o TFA e o orachk fazem parte de um framework chamado Autonomous Health Framework, o qual também possui o TFA e o Oratop, entre outros.
O Orachk irá realizar pequenas validações, como pacotes, usuários, grupos e kernel, podendo assim evitar maior problemas durante a instalação de fato.
MOS: Autonomous Health Framework (AHF) - Including TFA and ORAchk/EXAChk (Doc ID 2550798.1)
Executar:
./orachk -profile preinstall
Instalando Grid Infrastructure
A partir do 12.2 a Oracle disponibiliza uma imagem pronta dos binários, basta somente extrair o ZIP para o local desejado e rodar o setup, não há necessidade da instalação dos binários como era feito anteriormente.
As telas abaixo mostram a instalação do GridInfrastructur para um Servidor StandAlone com a opção de instalação de binário apenas, o ASM iremos criar separadamente.
[root@1z0-083-srv oraInventory]# ./orainstRoot.sh
/u01/app/oracle/product/19.0.0/grid/gridSetup.sh
To configure Grid Infrastructure for a Cluster or Grid Infrastructure for a Stand-Alone Server execute the following command as grid user:
/u01/app/oracle/product/19.0.0/grid/gridSetup.sh
This command launches the Grid Infrastructure Setup Wizard. The wizard also supports silent operation, and the parameters can be passed through the response file that is available in the installation media.
As telas abaixo mostram a instalação do GridInfrastructur para um Servidor StandAlone com a opção de instalação de binário apenas, o ASM iremos criar separadamente.
Ao termino será solicitado que seja executado dois scripts como root, a diferença agora entre o Oracle 19c e as demais releases é que para configurar de fato o Oracle Clusterware ou o Oracle Restart, fazemos através de do gridSetup e não mais através de script como era feito antes, podendo então ser feito através de interface gráfica.
[root@1z0-083-srv oraInventory]# ./orainstRoot.sh
/u01/app/oracle/product/19.0.0/grid/gridSetup.sh
To configure Grid Infrastructure for a Cluster or Grid Infrastructure for a Stand-Alone Server execute the following command as grid user:
/u01/app/oracle/product/19.0.0/grid/gridSetup.sh
This command launches the Grid Infrastructure Setup Wizard. The wizard also supports silent operation, and the parameters can be passed through the response file that is available in the installation media.
Configurando o Oracle Restart
Vamos então agora de fato configurar o Oracle Restart, para isso chamamos o gridSetup novamente, durante esse processo temos a opção de instalar e configura o asmfilter, vamos selecionar para que seja utilizado o ASMFilter dentro da nossa nova instalação.
[root@1z0-083-srv grid]# ./root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= grid
ORACLE_HOME= /u01/app/oracle/product/19.0.0/grid
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /u01/app/oracle/product/19.0.0/grid/crs/install/crsconfig_params
The log of current session can be found at:
/u01/app/grid/crsdata/1z0-083-srv/crsconfig/roothas_2020-01-31_02-41-00PM.log
2020/01/31 14:41:08 CLSRSC-363: User ignored prerequisites during installation
LOCAL ADD MODE
Creating OCR keys for user 'grid', privgrp 'oinstall'..
Operation successful.
LOCAL ONLY MODE
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
CRS-4664: Node 1z0-083-srv successfully pinned.
2020/01/31 14:46:41 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'
1z0-083-srv 2020/01/31 14:53:43 /u01/app/grid/crsdata/1z0-083-srv/olr/backup_20200131_145343.olr 724960844
2020/01/31 14:55:49 CLSRSC-327: Successfully configured Oracle Restart for a standalone server
Nenhum comentário:
Postar um comentário