sábado, 5 de fevereiro de 2011

Instalação do Oracle 11g em ambiente Linux

A seguir um guia de como pode ser realizada a instalação do Oracle em um ambiente Linux (neste exemplo utilizei a instalação do Oracle Database 11g Release 2 na distribuição CentOS 5.5 x86-64).


Pré-requisitos:

São necessários os seguintes recursos instalados no servidor Linux para iniciar a configuração do ambiente.
·                     GNOME Desktop Environment
·                     Editors
·                     Graphical Internet
·                     Text-based Internet
·                     Development Libraries
·                     Development Tools
·                     Server Configuration Tools
·                     Administration Tools
·                     Base
·                     System Tools
·                     X Window System


Também é necessário baixar a mídia de instalação disponibilizada pela própria Oracle gratuitamente no link a seguir: Oracle 11g


* As ações a seguir devem ser executadas como root ou outro usuário de administração.


Instalação de pacotes requeridos:


Com o cd de instalação montado, é necessário instalar alguns pacotes requeridos pelo Oracle. 
Ir ao diretório da media onde estão os pacotes de instalação:

cd /media/CentOS_5.5_Final/CentOS

E emitir os seguintes comandos:

rpm -Uvh compat-libstdc++-33-3.2.3-61.x86_64.rpm
rpm -Uvh unixODBC-devel-2.2.11-7.1.x86_64.rpm
rpm -Uvh unixODBC-2.2.11-7.1.x86_64.rpm
rpm -Uvh make-3.81-3.el5.x86_64.rpm
rpm -Uvh elfutils-libelf-devel-0.137-3.el5.x86_64.rpm
rpm -Uvh elfutils-libelf-0.137-3.el5.x86_64.rpm
rpm -Uvh sysstat-7.0.2-3.el5.x86_64.rpm
rpm -Uvh binutils-2.17.50.0.6-14.el5.x86_64.rpm
rpm -Uvh gcc-4.1.2-48.el5.x86_64.rpm
rpm -Uvh gcc-c++-4.1.2-48.el5.x86_64.rpm
rpm -Uvh glibc-common-2.5-49.x86_64.rpm
rpm -Uvh glibc-2.5-49.x86_64.rpm
rpm -Uvh glibc-devel-2.5-49.x86_64.rpm
rpm -Uvh libaio-devel-0.3.106-5.x86_64.rpm
rpm -Uvh libaio-0.3.106-5.x86_64.rpm
rpm -Uvh libgcc-4.1.2-48.el5.x86_64.rpm
rpm -Uvh libstdc++-devel-4.1.2-48.el5.x86_64.rpm
rpm -Uvh libstdc++-4.1.2-48.el5.x86_64.rpm

Esta lista de comandos fará a instalação de todos os pacotes que o Oracle necessita.



Editar os parâmetros do kernel:

Adicionar as linhas no seguinte arquivo /etc/sysctl.conf:

kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144




Atualizar os parâmetros do kernel:

Para atualizar os parâmetros alterados de kernel é necessário apenas executar o comando /sbin/sysctl –p.




Alteração de limites de segurança:

Adicionar as seguintes linhas ao arquivo /etc/security/limits.conf:

soft    nproc   2047
hard    nproc   16384
soft    nofile  1024
hard    nofile  65536



Adicionar a seguinte linha ao arquivo /etc/pam.d/login, caso ela ainda não exista:

session    required     /lib/security/pam_limits.so




Desabilitar o parâmetro SELINUX editando o arquivo /etc/selinux/config

SELINUX=disabled




Criação dos grupos e usuários:


É preciso criar um usuário grupo com permissão de instalação e um usuário Linux para gerenciar o Oracle evitando o uso desnecessário do usuário root.
Para isto crie os grupos com os comandos:

groupadd oinstall
groupadd dba

E o usuário com a senha, incluindo este usuário no grupo:

useradd -g oinstall -G dba oracle
passwd oracle



Criação de diretórios:

Crie o diretório padrão ORACLE_HOME de preferência em um filesystem separado apenas para esta finalidade.

mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1

E de permissões ao usuário oracle neste filesystem:

chown -R oracle.oinstall /u01
 

Modificando a versão:

O Oracle precisa reconhecer a distribuição Linux na qual esta sendo realizada esta instalação e isto requer que um parâmetro que o Oracle lê informe uma versão de mercado que esta sendo usuada como base (no caso do CentoOS o Red Hat) para a devida instalação.
Apenas edite o arquivo /etc/redhat-release  e substitua o conteúdo para redhat-4 , por exemplo.
Salve o conteúdo do arquivo e após a instalação você pode voltar o conteúdo original.


Adicionar o host a lista de controle:

Para isto é necessário apenas executar o comando xhost +localhost



Parâmetros de inicialização (bash_profile):

O arquivo bash_profile fica no diretório home do usuário criado (neste meu exemplo /home/oracle, mas isto pode ser alterado). Este arquivo por ser de configuração fica oculto a listagem comum com o comando ls, por isto, é necessário listar os arquivos com o comando ls –a e editar por exemplo com o vi: bash_profile e incluir os seguintes parâmetros (se necessário, altere para os diretórios que você criar):


# Configurações do Oracle
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi




* As ações a seguir devem ser executadas com o usuário criado para administração do Oracle (neste exemplo: oracle)

Variável display para execução do instalador Oracle:

É necessário configurar a variável DISPLAY para executar o assistente gráfico desenvolvido em JAVA de instalação do Oracle, isto através do comando:

export DISPLAY = localhost:0,0
 

Após isto, iniciar o Oracle Universal Installer (OUI), emitindo o seguinte comando no diretório onde está salva a mídia de instalação o Oracle 11g:

 ./runInstaller





E com isto dar inicio a instalação do software (neste caso optei por uma instalação padrão sem muitas configurações):













Neste momento o OUI solicita executar dois scripts como root no sistema operacional após sua execução o instalação será concluída.






Realizando o login no banco de dados:

Com o banco de dados instalado, podemos realizar a conexão utilizando o SQL*Plus para isto basta apenas digitar no prompt sqlplus e informar seu usuário e senha. 

O arquivo .bash_profile configurado anteriormente fará com que a inicialização seja possível, mas você pode configurar as variáveis de ambiente.
Ex:


export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=banco
export PATH=$PATH:$ORACLE_HOME/bin

 Esta ultimo comando seta a variável Path com o mesmo valor existente e inclui o valor da ORACLE_HOME/bin, se utilizarmos apenas PATH=$ORACLE_HOME/bin esta variável será sobreposta apenas com os binários do Oracle e isto lhe causará problemas, impossibilitando utilizar qualquer executável do sistema (como por exemplo um simples ls).



Para resolver isso de maneira rápida é só fechar sua sessão e abrir uma nova.







Espero que tenha sido claro, qualquer dúvida só postar nos comentários.

Robert Santos

5 comentários:

  1. E ai Robert,

    Só um coisa que seria legal colocar pra complementar esse artigo seria o acesso ao banco e abertura. Básico, mas acho q seria legal pra dar um "start" pra quem nunca fez e até mesmo como teste.

    Abs.

    ResponderExcluir
  2. Valeu Erick, post atualizado.

    Estou esperando um certo alguém criar um blog de middleware agora né?

    Abraço.

    ResponderExcluir
  3. Muito legal essa dica, mas esse tutor vale para a distribuição CentOS 6.2-i386? agradeço a resposta desde já

    ResponderExcluir
  4. Pode ser usado sim pra ambientes 32 ou 64, a diferença é na instalação dos pacotes que contém na mídia.

    Por exemplo, ao invés de instalar o pacote "compat-libstdc++-33-3.2.3-61.x86_64.rpm" vc deve instalar pacotes com final i386 "rpm -Uvh compat-libstdc++-33-3.2.3-61.i386.rpm" (não tenho certeza se o nome é exatamente este, mas é algo muito parecido).

    Abraço

    ResponderExcluir
  5. Os passos para instalação podem ser usados no Red Hat 5 também?

    ResponderExcluir