Instalação Oracle 10.2.0.1 no Kubuntu 9.10 (32bits)

Segue um tutorial de instalação do banco de dados Oracle 10.2.0.1 no Ubuntu 32 bits. Apesar de existir uma versão Express Edition, precisei instalar o 10.2.0.1 no meu laptop. Veja que este é um artigo que visa linux 32 bits, para 64 bits os parametros podem ter outros valores. Esta instalação é apenas para desenvolvimento, se você procura por uma instalação do oracle que irá servir muitos usuários, procure por maiores informações na internet.

O Ubuntu não é listado como uma distribuiçao suportada, mas isso não quer dizer que não pode instalar no ubuntu. Tem alguns ajustes manuais, veja quais são.

Como o Oracle DB não é uma instalação next, next, nem é um serviço trivial, recomendo ler o Quick Install Guide onde é explicado em detalhes algumas instruções.

1) Pre-requisitos e preparação do ambiente

 1.1) SWAP

Na instalação o oracle deverá checar o tamanho da área de swap de acordo com as regras abaixo:

</p>

 Memória RAM

Tamanho do SWAP

 Até 1 GB
2 x RAM
 De 1 a 2 GB
1,5 x RAM
 De 2 a 8 GB
Igual a RAM
 Maior que 8 GB
0,75 x RAM

 

 

 

No meu caso, tenho 3 GB RAM e 1 GB de swap, para não precisar redimensionar o tamanho do swap e gastar muito tempo, é possível criar um arquivo de swap e adicionar isso no kernel em runtime, quando a instalação terminar, pode remover o arquivo. Veja como fazer isso.

1.2) Criação de grupos e usuário, diretório  </p>

sudo groupadd oinstall
sudo groupadd dba
sudo groupadd nobody

</p>

sudo usermod -g nobody nobody
sudo mkdir -p /opt/oracle
sudo useradd -g oinstall -G dba  -d /opt/oracle -s /bin/bash oracle
sudo chown -R oracle:oinstall /opt/oracle

Coloque uma senha para o usuário oracle </p>

sudo passwd oracle

1.2) Atualização dos parametros do kernel

Preste muita atenção nesta tarefa.

Antes faça um backup dos valores atuais do kernel

sudo sysctl -a > ~/sysctl_bkp

Edite o arquivo /etc/sysctl.conf e altere os seguintes parametros

# Oracle
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 32768 65000
kernel.shmmax=1073741824
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144

Coloquei apenas 1 GB para memória compartilhada no Oracle, apesar da documentação pedir a metade.

Chame o comando abaixo, para colocar em efeito os parametros alterados.

sudo sysctl -p

1.3) Alterar os limites

sudo vi /etc/security/limits.conf
# Oracle
oracle           soft    nproc   2047
oracle           hard    nproc   16384
oracle           soft    nofile  1024
oracle           hard    nofile  65536

1.4) Instalação de pacotes adicionais

É necessário instalar alguns programas adicionais

m4
autoconf
autotools-dev
automake
gsfonts-x11
lesstif2
libaio1
sysstat
zlibc
libstdc++5
dpkg-dev
html2text
gettext
intltool-debian
po-debconf
debhelper
librpmio0
librpm0
librpmbuild0
rpm
alien
libstdc++6-4.4-dev
g++-4.4
g++
build-essential
fakeroot
libsys-hostname-long-perl
libmail-sendmail-perl

É necessário instalar o libstdc++5, que pode ser copiado de

http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_i386.deb

O Oracle espera alguns comandos em um caminho que não existe no ubuntu, então vamos arrumar </p>

sudo ln -s /usr/bin/awk /bin/awk
sudo ln -s /usr/bin/rpm /bin/rpm
sudo ln -s /usr/bin/basename /bin/basename

Crie um arquivo de profile para o usuário oracle

su - oracle
vi ~/.bashrc

Informe

umask 022

Esteja certo de que o hostname responde com um IP, faça um ping no nome do computador.

Reinicie o seu sistema operacional 

2) Instalação do Oracle

Configure a permissão para que outros usuários possam iniciar programas gráficos

xhost +

Faça o login com o usuário oracle

su - oracle
export DISPLAY=:0

Chame o instalador do oracle

./runInstaller -ignoreSysPrereqs

A opção  -ignoreSysPrereqs desabilita a verificação de compatibilidade do sistema operacional.

Durante a instalaçã

3) Pós instalação

A instalação GUI aconteceu sem maiores problemas,  demorou cerca de 20min.

Segue alguns ajustes para bom funcionamento do ambiente

3.1) /etc/oratab

Foi gerado um arquivo em /etc/oratab, mas não foi colocado o local da instalação do oracle, e isso é importante para iniciar e parar o oracle.

Coloque uma linha como o formato. Se desejar que o oracle seja iniciado com o sistema operacional, deixeo Y caso contrário, coloque N

$ORACLE_SID:$ORACLE_HOME:Y

No meu caso é assim:

APPS:/opt/oracle/oracle/product/10.2.0/db_1:Y 

3.2) Ambiente oracle

Configure no /etc/profile as váriaveis de ambiente. As variáveis serão globais para o sistema operacional.

</p>

export ORACLE_HOME=/opt/oracle/oracle/product/10.2.0/db_1
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
export NLS_LANG=english

Coloquei o NLS_LANG para inglês para as mensagens de interface do sqlplus serem em inglês, o que facilita muito o trabalho. Veja minha opinião sobre a tradução de sistemas.

Edite o $ORACLE_HOME/bin/dbstart e altere a declaração da variável ORACLE_HOME_LISTENER  (linha 78 aproximadamente) para $ORACLE_HOME, como o exemplo </p>

ORACLE_HOME_LISTNER=$ORACLE_HOME

3.3) Inicialização do oracle

Faça o login como usuário oracle e inicie o servidor </p>

lsnrctl start
dbstart

 

3.4) rlwrap e sqlplus (opcional)

Para quem já usou o sqlplus sabe que ele não mantém um histórico dos comandos, como o bash. Seria muito útil ter um comportamento semelhante o bash, onde no console do sqlplus o usuário possa buscar no histórico (ctrl+r) ou navegar com as setas.

Isso é possível como rlwrap

sudo apt-get install rlwrap

Então chame

rlwrap sqlplus usuario/senha@oracle_sid

3.4.5) Uma dica a parte, ao usarem o sqlplus para conectar em um serviço que não esteja configura o tnsnames.ora, é possível passar o servidor e porta.

sqlplus usuario/senha@//nome_servidor:porta/oracle_sid

Para parar o Oracle

dbshut
lsnrctl stop

 

M

http://www.makina-corpus.org/blog/how-install-oracle-10g-full-64-bits-version-not-xe-and-tora-gnu-linux-ubuntu-karmic-910-64-bits

http://www.pythian.com/news/968/installing-oracle-11g-on-ubuntu-804-lts-hardy-heron/

 

Categorias:

Atualizado em:

Deixe um comentário