Instalando o Oracle Database 11g Release 2 (11.2) no Red Hat 6.2
Resolvi criar este post devido algumas dificuldades que encontramos em migrar de versão do oracle 10g para 11g R2 e de Plataforma Windows 2003 Standard (32) para Red Hat 6.2 X86_64
O problema de fato foi na etapa 18 da instalação do banco de dados, pois o oracle exige alguns pacotes em versão inferior a que está disponivel no Red Hat 6.2 e com a compilação i386, sendo que estão disponiveis apenas na compilação i686 (resumindo ambos são versão 32b porem o nome da compilação mudou)
Dependencias
libaio-0.3.105 compat-libstdc++--33-3.2.3 libaio-devel-0.3.105 libgcc-3.4.6 libstdc++-3.4.6 unixODBC-2.2.11 unixODBC-devel-2.2.11 pdksh-5.2.14 |
Eu tentei desistalar alguns pacotes que estavam em versão mais atual para instalar na versão que o instalador pediu o resultado foi um fracasso, pois não é possivel desistalar todos os pacotes por causa de várias dependencias que eles possuem, além do fato de estarmos usando um sistema atualizado e fazendo ele trabalhar com pacotes desatualizados… leia abaixo o resultado da minha experiencia.
Desistalação de Pacotes com RPM (Red Hat Package Manager)
Importante – Nunca use o comando (rpm -e –nodeps)
A desistalação de um pacote é bem simples
# rpm -e nome-pacote |
Quando rodar o comando para remoção e o pacote possuir dependencias com algum outro, será mostrado uma mensagem erro informando as dependencias neste caso não é possivel remover o pacote até que seja resolvido as dependencias, mas se realmente quiser a remoção deste pacote, ignorando quaisquer avisos e problemas posteriores acrescente a opção –nodeps (não recomendo usar este comando leia abaixo o porque).
# rpm -e --nodeps nome-pacote |
Este comando remove os pacotes ignorando as depencias que o mesmo tiver.
Acabei usando o comando para remover um pacote forçado que era essencial, e o que aconteceu??(error while loading shared libraries cannot open shared object file: No such file or directory) tive que reinstalar o Red Hat(o suporte RH que deu a noticia =/), enfim, minha sorte foi que o ambiente estava em fase de preparação inicial então gastamos algumas horas a mais para voltar tudo ao normal. Ainda bem =).
Bom voltando ao scopo principal deste post, Como resolver as dependencias da instalação ?
Já sabemos que é necessário ter os pacotes tanto na versão x86_64 como na versão i686, então agora vamos rodar um comando para verificarmos se os pacotes estão instalados e quais as versões deles.
Verificando os pacotes e versões:
#rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' libaio glibc compat-libstdc libgcc libstdc++ unixODBC unixODBC-devel |
O resultado deverá ser parecido com este:
package libaio is not installed glibc-2.12-1.47.el6_2.9 (x86_64) package compat-libstdc is not installed libgcc-4.4.6-3.el6 (x86_64) libstdc++-4.4.6-3.el6 (x86_64) unixODBC-2.2.14-11.el6 (x86_64) unixODBC-devel-2.2.14-11.el6 (x86_64) |
Observe 2 coisas;
A primeira é que estão faltando os pacotes na versão i386, mas iremos instalar a compilação i686 que temos disponivel Red Hat 6.2
E que acusou que não temos 2 pacotes instalados (is not installed)
Para instalar os pacotes que faltam você poderá usar o RPM ou YUM
RPM – è necessário ter baixado o pacote ou usar a midia de instalação do RH no diretorio Packages
# rpm -ivh libaio-0.3.107-10.el6.i686.rpm |
faça isto para todos os pacotes que precisa instalar!!!
YUM – Desta forma não é necessário instalar pacote por pacote, porém este comando instala o pacote na última versão disponivel para o seu sistema.
# yum install -y unixODBC.i686 |
# yum install -y unixODBC-devel.i686 |
# yum install -y unixODBC-devel |
Esta é a melhor opção sem sombra de dúvidas!!!
Instale todos os pacotes na versão x86_64 e i686, e rode o comando novamente para verificar se instalou tudo que precisa.
#rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' libaio glibc compat-libstdc libgcc libstdc++ unixODBC unixODBC-devel |
Você terá um retorno assim:
package libaio is not installed glibc-2.12-1.47.el6_2.9 (x86_64) glibc-2.12-1.47.el6_2.9 (i686) package compat-libstdc is not installed libgcc-4.4.6-3.el6 (x86_64) libgcc-4.4.6-3.el6 (i686) libstdc++-4.4.6-3.el6 (x86_64) libstdc++-4.4.6-3.el6 (i686) unixODBC-2.2.14-11.el6 (x86_64) unixODBC-2.2.14-11.el6 (i686) unixODBC-devel-2.2.14-11.el6 (x86_64) unixODBC-devel-2.2.14-11.el6 (i686) |
Como consultar se você tem instalado um pacote especifico
# rpm -qa | grep libaio |
O retorno será assim:
libaio-0.3.107-10.el6.i686 libaio-0.3.107-10.el6.x86_64 libaio-devel-0.3.107-10.el6.i686 libaio-devel-0.3.107-10.el6.x86_64 # rpm -qa | grep compat-libstdc compat-libstdc++-33-3.2.3-69.el6.i686 compat-libstdc++-296-2.96-144.el6.i686 compat-libstdc++-33-3.2.3-69.el6.x86_64 |
http://blog.fabianobento.com.br/downloads/pdksh-5.2.14-12.i386.rpm
http://blog.fabianobento.com.br/downloads/pdksh-5.2.14-21.x86_64.rpm
Se você instalou os pacotes conforme exigencia da instalação do Oracle, você poderá proseguir com a instalação normalmente marcando a opção (Ignore All) para ignorar o aviso e assim proseguir com a instalaçao (conforme indicação da Oracle).
Não esqueça de liberar a porta 1521 no firewall (IPTABLES)
Bom pessoal, por hoje é isso até a próxima.
Parabéns, excelente conteúdo.
Fabiano Fera, me tira uma duvida mortal que me impede de arriscar, estou com o red hat 6.2, com um servidor novo aguardando uma decisão, usando partição EXT4 voce ver melhora de performance para o oracle? e quanto ao oracle em si, acha melhor usar a velha e segura ext3 ou ext4 é tão seguro e compativel quanto? Agradeço d+
Opa blz como está?
O ext4 é uma melhoria do ext3 que permite manipular arquivos gigantes(para alta disponibilidade) além de várias melhorias, eu estou usando normalmente no meu ambiente de produção há 6 meses e não tive nenhum problema.
Com certeza se você pesquisar na internet é provável que encontre alguns comentários sobre instabilidade e outros fatores, pois toda vez que lança uma tecnologia nova isso sempre acontece e leva um tempo para difundir e se adequar as mudanças, mas como eu disse estou usando no meu ambiente de produção normalmente e não tive nenhum problema ou instabilidade e claro, sempre é recomendável ter backup do banco e estutura, além de uma redundancia.
Você poderá usar normalmente e caso queira ter mais informações aconselho entrar em contato com o suporte da Oracle e Red Hat.
Fabiano, tem algum problema caso eu desinstale o ksh-20100621-19.el6_4.3.i686?
É que preciso instalar o pdksh-5.2.14, porém ele tem conflito com o ksh.
Grato.
Renato,
Não tem problema desinstalar, desde que use o comando
rpm -e nome-do-pacote, ou até o yum remove pacote
Olá Bento.
No comando rpm -q –qf ‘%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})n’ libaio glibc compat-libstdc libgcc libstdc++ unixODBC unixODBC-devel
Faltou um “\” antes do N em “… (%{ARCH})n”.
Caso execute o comando sem o “\” ele não quebrará linha e ficará complicado de entender o retorno do comando.
Outra pergunta, você sabe me dizer se com a
Olá Bento.
No comando rpm -q –qf ‘%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})n’ libaio glibc compat-libstdc libgcc libstdc++ unixODBC unixODBC-devel
Faltou um “\” antes do N em “… (%{ARCH})n”.
Caso execute o comando sem o “\” ele não quebrará linha e ficará complicado de entender o retorno do comando.
Outra pergunta, você sabe me dizer se a sua instalação criou as pastas lib e lib32?