Infra - Linux

Driblando a instalação do Oracle 10 no Suse 9.1 Professional

Saiba os procedimentos necessários para não passar pelo mesmo problema.

por Alessandro de Oliveira Faria



Após a conclusão da instalação Linux em um cliente, o DBA oracle ZUZA - zuzafgc@uol.com.br (um dos melhores DBA que ja conheci como profissional e pessoa) iniciou a instalação do pacote oracle 10. Foi neste momento que começaram as dores de cabeça pelo insucesso da instalação.

Pois estávamos em um sábado pela manhã. Teriámos que optar em resolver o problema ali no presente momento, ou retornar para efetuar as respectivas pesquisas e retornar no próximo fim de semana.

Constatei que o problema seria resolvido com mais facialidade com a presença de um DBA (Mestre ZUZA). Como esta história teve um final feliz, resolvi documentar as dificuldades para outros profissionais ou até mesmo eu não sofresse novamente.

1ª Dificuldade incompatibilidade de versões Linux.

O Oracle é certificado apenas para algumas versões Linux específicas. A instalação não será executada no método convecinal ser a sua distribuição não for homologa. Veja o erro no exemplo a seguir:

# ./runinstaller

Checking operating system version: must be redhat-2.1,UnitedLinux-1.0 or redhat-3
Failed <<<<
#

Para que o instalador não verifique a versão atual do Linux, basta utilizar o seguinte comando:

# ./runinstaller -ignoreSysPrereqs

2ª Dificuldade, o HugeTLBfs!

Oracle 10 utiliza este recurso chamado hugetlbpages, um recurso adicionado no kernel 2.6 que existem também em outras versões.

Os dados neste sistema de arquivos sao levados por grandes paginas de memória até CPU. Vale a pena resssaltar que foi criado exclusivamente para oferecer um suporte melhorado a bancos de dados de memória compartilhada.

Este recurso permite usar pagesize de 4M, assim evitando grande cliclos ao nucleo do processador gastos com paginações menores (nem vou mencionar o impacto na otimização de memória física).

O problema vem com a mensagem de erro abaixo durante a instalação:

ORA-27125: unable to create shared memory segment

A receita de bolo abaixo, contorna este problema habilitando tal recurso no sistema.

Edite o arquivo profile, inserindo a seguinte linha:

# vi /etc/profile

Insira ====> export DISABLE_HUGETLBFS=1

O Oracle deve ser instalado como usuário oracle, e a variável ambiental DISABLE_HUGETLBFS passa não existir quando executamos o runinstaller. Para resolver este problema execute os comando abaixo.

cd $ORACLE_HOME/bin
mv oracle oracle.bin
cat >oracle <<"EOF"
#!/bin/bash

export DISABLE_HUGETLBFS=1
exec $ORACLE_HOME/bin/oracle.bin $@
EOF

chmod +x oracle

Com estes procedimentos a instalação Oracle será concluída com sucesso!

Alessandro de Oliveira Faria

Alessandro de Oliveira Faria - Sócio-proprietário da empresa NETi TECNOLOGIA fundada em Junho de 1996 (http://www.netitec.com.br), empresa especializada em desenvolvimento de software e soluções biométricas, Consultor Biométrico na tecnologia de reconhecimento facial, atuando na área de tecnologia desde 1986 assim propiciando ao mercado soluções em software nas mais diversas linguagens e plataforma, levando o Linux a sério desde 1998 com desenvolvimento de soluções open-source, membro colaborador da comunidade Viva O Linux, mantenedor da biblioteca open-source de vídeo captura entre outros projetos.