Ajustes do sistema operacional AIX 7L para instalação do Oracle Database 11g.

Por Carlos Henrique Yakithi Furushima
Postado em Abril 2015

Revisado por Marcelo Pivovar - Solution Architect

Para um bom funcionamento do banco de dados Oracle uma das tarefas primordiais é o ajuste do sistema operacional, em outras palavras, adaptar o sistema operacional para hospedar o banco de dados, essa adaptação envolve mudanças no comportamento padrão do sistema operacional, que é requerido para que o Oracle exercer suas atividades, sem quaisquer surpresas.

  • Verificação de memória MEMORIA RAM e SWAP
    • Memória RAM

Requisitos: Valor mínimo 2.5GB
Como verificar:

/usr/sbin/lsattr -E -l sys0 -a realmem
 
    • SWAP

Requisitos: Valor mínimo 1,5GG
Como verificar:

/usr/sbin/lsps -a
 

Recomendação: Para uma hardware com capacidade de 2.5GB até 16GB de MEMORIA RAM devemos usar "Valor de SWAP" = "Valor de MEMORIA RAM". Para uma hardware com capacidade acima de 16GB RAM devemos usar 16GB para SWAP

  • Verificação de espaço na partição /tmp do file system

Requisitos: Valor mínimo 2GB
Como verificar:

/usr/bin/df -g /tmp
 
  • Parametrizações do Kernel
    • Parametrização do sistema operacional AIX via utilitário no. 
no -r -o ipqmaxlen=512
no -r -o rfc1323=1
no -r -o sb_max=1310720
no -r -o tcp_recvspace=65536
no -r -o tcp_sendspace=65536
no -r -o udp_sendspace=65536
no -r -o udp_recvspace=655360
no -p -o tcp_ephemeral_low=9000 -o tcp_ephemeral_high=65500
no -p -o udp_ephemeral_low=9000 -o udp_ephemeral_high=65500

Recomendação: Após execução das parametrizações, efetuar um reboot do servidor.
Para verificar os valor dos parâmetros após reboot, utilizar os comandos:

/usr/sbin/no -a |  grep ipqmaxlen
/usr/sbin/no -a |  grep rfc1323
/usr/sbin/no -a |  grep sb_max
/usr/sbin/no -a |  grep tcp_recvspace
/usr/sbin/no -a |  grep tcp_sendspace
/usr/sbin/no -a |  grep udp_sendspace
/usr/sbin/no -a |  grep udp_recvspace

    • Parametrização das interface de rede do sistema operacional AIX via utilitário chdev. 

Requisitos: tcp_recvspace , tcp_sendspace , udp_recvspace e udp_sendspace, devem estar com valores 65536.

chdev -l 'enXXXX' -a  state='up' -a tcp_recvspace='65536' -a tcp_sendspace='65536'
chdev -l 'enXXXX' -a  state='up' -a udp_recvspace='65536' -a udp_sendspace='65536'
 

OBS.: Entende-se por 'enXXXX' uma interface de rede valida, por exemplo, en0 ('enXXXX' é um nome genérico que representa a sua interface válida.).
Exemplo:

chdev -l 'en1' -a  state='up' -a udp_recvspace='65536' -a udp_sendspace='65536'
chdev -l 'en1' -a  state='up' -a tcp_recvspace='65536' -a tcp_sendspace='65536'

    • Parametrização dos recursos de hardware interface de rede do sistema operacional AIX via utilitário chdev. 

Requisitos: Parâmetro “maxuproc” deve ser maior ou igual a 16384.
Como verificar:

lsattr -E -l sys0 -a maxuproc  -F value

 

Se, maxuproc não é maior ou igual a 16384, então é necessário ajusta-lo

chdev -l sys0 -a  maxuproc=16384 

 

  • Verificar se existe todas as bibliotecas necessárias para instalação (compilação) do Oracle Database.
    • Checar os filesets necessários para a instalação.

Requisitos: Os seguintes filesets são requeridos:

      • bos.adt.base
      • bos.adt.lib
      • bos.adt.libm
      • bos.perf.libperfstat
      • bos.perf.perfstat
      • bos.perf.proctools
      • xlC.aix61.rte:10.1.0.0 ou superior
      • xlC.rte.10.1.0.0 ou superior
      • gpfs.base 3.3.0.11 ou superior

Como verificar:

  • O campos "State" deve estar com status "COMMITTED"
lslpp -l bos.adt.base bos.adt.lib  bos.adt.libm bos.perf.perfstat bos.perf.libperfstat bos.perf.proctools  
xlC.aix61.rte rsct.basic.rte rsct.compat.clients.rte xlC.rte
    • Verificar se HACMP está instalado.

Como verificar:

  • O retorno do comando deverá informar que as bibliotecas, referente ao HACMP está "not installed"
lslpp -l cluster.es.* rsct.hacmp.rte  rsct.compat.basic.hacmp.rte rsct.compat.clients.hacmp.rte

    • Verificar se Patch APAR para o "AIX 7.1 TL 0 SP1", requerido para o Oracle 11gR2 foi aplicado.

APAR é um pedido para a correção de um defeito em uma versão atual de um programa fornecido pela IBM.
Como verificar:

  • O retorno do comando deverá informar, que foram encontrados todos os filesets para o determinado APAR.
/usr/sbin/instfix -i -k "IZ87216  IZ87564"

 

O Retorno do comando deve ser:

All filesets for  IZ87216 were found.
All filesets for  IZ87564 were found.
  • Workarounds dos bugs 13531373 e 13077654.
    • bug 13531373 - AIX specific

No arquivo /etc/rc.net, insira o bloco IF abaixo, no fim do arquivo.

   ######## Workaround  bug 13531373 (AIX)
   ## DBAFURUSHIMA -  CARLOS FURUSHIMA
   #
   if [ -f /usr/sbin/no  ] ; then
   /usr/sbin/no -p -o  tcp_ephemeral_low=9000
   /usr/sbin/no -p -o  udp_ephemeral_low=9000
   /usr/sbin/no -p -o  tcp_ephemeral_high=65500
   /usr/sbin/no -p -o  udp_ephemeral_high=65500
   /usr/sbin/no -p -o udp_sendspace=65536
   /usr/sbin/no -p -o udp_recvspace=655360
   /usr/sbin/no -p -o tcp_sendspace=65536
   /usr/sbin/no -p -o tcp_recvspace=65536
   /usr/sbin/no -p -o rfc1323=1
   /usr/sbin/no -p -o sb_max=4194304
   /usr/sbin/no -r -o ipqmaxlen=512
   fi
   #
   ########
    • bug 13077654 - AIX specific

Criação de link simbólico para utilitários no e lsattr, em /etc.

   ln -s /usr/sbin/no /etc/no
   ln -s  /usr/sbin/lsattr /etc/lsattr
  • Criação de usuários e grupos UNIX.

Descreveremos a criação dos usuários grid (Usuário owner do grid infrastructure) e oracle (Usuário owner para o RDBMS).

  • Criação dos grupos
mkgroup -'A' id='501'  adms='root' dba
mkgroup -'A' id='502'  adms='root' oinstall
mkgroup -'A' id='503'  adms='root' oper
mkgroup -'A' id='504'  adms='root' asmadmin
mkgroup -'A' id='505'  adms='root' asmadba
mkgroup -'A' id='506'  adms='root' asmoper
  • Criação dos usuários
mkuser id='401'  pgrp='oinstall' groups='oinstall,dba,asmadmin,asmdba,asmoper' home='/home/grid'  grid
mkuser id='402'  pgrp='oinstall' groups='oinstall,dba,asmadmin,asmdba,asmoper'  home='/home/oracle' oracle
  • Atribuir Capabilities para o usuário owner do grid infrastructure.

Atribuindo os Capabilities:

/usr/bin/chuser  capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE grid

Como verificar:

/usr/bin/lsuser -a  capabilities grid

  • Definição dos limits em /etc/security/limits para os usuario que estão envolvidos com os binário ORACLE instalados.

Os usuários devem conter as seguintes características de limits.

fsize = -1
core = 2097151
cpu = -1
data = -1
rss = -1
stack = -1
nofiles = -1

Exemplo:

grid :
fsize = -1
core = 2097151
cpu = -1
data = -1
rss = -1
stack = -1
nofiles = -1
   
oracle :
fsize = -1
core = 2097151
cpu = -1
data = -1
rss = -1
stack = -1
nofiles = -1
  • Configuração do NTP

Em caso de implementação do Oracle RAC, o serviço NTP é necessário para sincronização do horário entre os nodes existentes.

Inserir o bloco de configuração abaixo em /etc/ntp.conf, informando o IP de seu servidor NTP, no argumento da linha “server” (Primeira linha).

server <IP DO SEU SERVIDOR NTP>
driftfile  /etc/ntp.drift
tracefile  /etc/ntp.trace

No arquivo /etc/rc.tcpip, retire o comentário da linha com o conteúdo "#start /usr/sbin/xntpd "$src_running"" (Comentário é representado pelo caractere #) e ao final do conteúdo adicione o argumento “-x”.

Linha com comentário

#start /usr/sbin/xntpd  "$src_running" 

Linha sem comentário + argumento “-x”

start /usr/sbin/xntpd "$src_running"  "-x"
 

Finalizado todos os ajustes de NTP, realizar um stop/start dos serviços, representado pelo deamon xntpd.

stopsrc -s xntpd
startsrc -s xntpd -a "-x"

 

Como verificar status do NTP:

lssrc  -ls xntpd 


Carlos H. Y. Furushima é um especialista em banco de dados relacional, trabalhando como consultor de TI, atuando principalmente como o Oracle Database Administrator (DBA Oracle). Tem uma vasta experiência e conhecimento em "Performance, diagnostic and tuning", "High Availability", "Backup & Recovery" e "Exadata". Ele também está entusiasmado com sistema operacional Linux/Unix, onde contribui com o desenvolvimento do código do kernel Linux em parceria com a comunidade "GNU Linux", com criação e revisão de novas funcionalidades, melhorias e correções de bugs. Recentemente, Furushima divide seu tempo com consultoria especializada em banco de dados Oracle e estudos sobre "Oracle Internals", com o objetivo de descobrir e entender os benefícios do bancos de dados Oracle em plataforma Linux/Unix. Siga Furushima em seu blog http://dbafurushima.com.br/.

Este artigo foi revisto pela equipe de produtos Oracle e está em conformidade com as normas e práticas para o uso de produtos Oracle.