Os 8 Passos de instalação do Oracle 9i no Linux

Por Fernando Boaglio

Esse tutorial ilustra os 8 passos de instalação do Oracle 9i numa máquina linux. Cada passo deve ser seguido sequencialmente e somente quando for dado como opcional que você pode pular. De preferência, não pule!

PASSO 1: pré-requisitos

Verifique os requisitos mínimos para rodar o Oracle9i segundo a documentação da Oracle:


Isso é o que a Oracle sugere, mas na realidade não é tudo isso. Você poderia usar um processador pior do que o indicado, a única diferença será o tempo de processamento. A quantidade de memória não precisa ser 512Mb, eu já fiz instalação em máquinas de 256Mb, porém eu usei quase 700Mb de swap. O Oracle Database em si não usa tanto swap, o que realmente usa memória na instalação é o instalador conhecido como Oracle Universal Installer. Ele é universal porque foi criado em JAVA, portanto a mesma interface que você vê no Linux é igual no Windows NT, no Sun Solaris ou no AIX.

Quanto ao Linux, o Suse 7.1 é o único certificado, ou seja, é o único Linux que a Oracle oferece suporte.Isso não significa que não funcione com os outros Linuxs, só significa que a Oracle não garanta que funcione. A atenção aqui só vale pro kernel, biblioteca C, binutils e make. O seu kernel deve ser sempre o último, pois isso evita problemas de versões de kernels anteriores que foram corrigidos nas novas. Para saber a versão do kernel, digite uname -a . Para saber a versão do make, digite make -v .Para saber a versão da binutils digite find / -name libbfd-* .Para saber a versão da biblioteca C(glibc) digite find / -name libc-* . Em sistemas Linux que usam RPM, você pode consultar as versões por ele; por exemplo, para saber a versão do make, digite rpm -qa | grep make ou para saver a versão da glibc digite rpm -qa|grep glibc .

A escolha da distribuição linux fica a seu critério. A minha sugestão é o Red Hat 7.2 por ser o mais usado no mercado. Eu uso o Slackware 8.0 e já sei de histórias de instalações bem sucedidas no Conectiva 7.0 . Só tome cuidado com os pre-requisitos citados no parágrafo anterior.

PASSO 2 (opcional) : configure seu kernel

A primeira coisa a fazer é baixar o fonte do kernel mais atual e reconfigurá-lo de acordo com o seu ambiente (placas de rede, video, som). Como fazer isso eu não vou explicar, pois no Kernel-HOWTO(http://www.linuxdoc.org/HOWTO/Kernel-HOWTO.html ) foi escrito pra isso.

Fazendo isso a sua máquina ficará muito mais rápida, pois ao invés de rodar o kernel genérico que vem de fábrica, sua máquina estará rodando um kernel específico para sua máquina.

Quando esse documento foi escrito, o último kernel estável era o 2.4.18 , que eu baixei do seguinte link: http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.18.tar.bz2 .

Depois de configurá-lo de acordo com sua máquina, faça as seguintes alterações no arquivo shm.h que se localiza no diretório /usr/src/linux/include/linux :

O parâmetro SHMMAX define o máximo de memória compartilhada que sua máquina pode alocar em memória. O default do linux é 32 Mb (ou 0x2000000 em hexadecimal) e a Oracle sugere que você mude para 128Mb (0x8000000) . Na realidade esse parâmetro deve ser metade de sua memória física. Portanto, se você tem uma máquina com 512 Mb de RAM, o parâmetro deve ser de 256 Mb (0x10000000).

Os outros parâmetros SHMIN,SHMNI e SHMSEG estão com valores apropriados. Não precisa alterar mais nada.

Depois de configurá-lo de acordo com sua máquina, faça as seguintes alterações no arquivo sem.h que se localiza no diretório /usr/src/linux/include/linux :

O parâmetro SEMOPM deve ser alterado para 100. Os parâmetros SEMMNI, SEMMNS, SEMMSL e SEMVMX não precisam ser alterados.

Com essas alterações feitas já pode compilar o kernel e bootar a máquina com a nova configuração. Não se esqueça que esse passo é opcional para um servidor de testes e essencial para um servidor de produção, que rodará grandes bancos de dados exigindo alta performance da máquina.

Consulte o documento "Release Notes for 9i Linux" (9i_lin_relnotes.pdf) para maiores detalhes dos parâmetros. Para conferir os valores SEMMSL, SEMMNS, SEMOPM e SEMMNI respectivamente, digite o comando: cat /proc/sys/kernel/sem .

Para checar o parâmetro SHMMAX digite o comando: cat /proc/sys/kernel/shmmax .

PASSO 3 : Baixe os arquivos necessários para a instalação

Para uma instalação bem sucedida você vai precisar do JDK 1.1.8_v3 e fazer um downgrade da binutils. Se você instalar o Oracle no Slackware 8.0 ou Red Hat 7 ou no Conectiva 7.0, você precisará fazer o downgrade da binutils da 2.11 para a 2.10 .

Faça o download desses aplicativos do meu site: http://www.oracle.matrix.com.br/download/ .

Para fazer o downgrade do binutils, primeiro desinstale a versão mais nova e instale a mais antiga. Se o seu linux usar RPM, você pode procurar na http://www.rpmfind.net alguma binutils da versão 2.10 para a sua distribuição.

Para instalar o JDK , digite os comandos abaixo:

cd /usr/local

tar xvfy jdk118_v3-glibc-2.1.3.tar.bz2

ln -s jdk118_v3 java

Agora adicione 3 grupos ao seu sistema: dba, oper e oinstall usando o kuser (gráfico), groupadd ou editando o /etc/group. Crie os usuários oracle no grupo dba e oinstall e o usuário apache dentro do grupo oper usando o kuser ou o adduser.

Execute os comandos abaixo:

mkdir /var/opt/oracle

chown oracle:dba /var/opt/oracle

chmod 755 /var/opt/oracle

Logue-se no usuário e adicione no profile dele (arquivo .profile ou .bash_profile) os comandos abaixo para edicionar as variáveis de ambiente:

export ORACLE_HOME=/oracle/ora9i

export ORACLE_SID=o9i

export ORACLE_BASE=/oracle

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/jlib

:$ORACLE_HOME/assistants/jlib/:$LD_LIBRARY_PATH:

export EDITOR=vi

export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/JRE/bin

export DISPLAY=localhost:0.0

export NLS_LANGUAGE=English

Faça o logoff e login novamente. Chame o ambiente gráfico se ainda não estiver nele. Digite o comando xcalc e verifique se apareceu uma calculadora. Se ela apareceu, o seu ambiente está pronto para a instalação. Se por acaso ocorreu o erro: Error: Can't open display: localhost:0.0 então falta se logar como root e permitir que o usuário oracle use o ambiente gráfico através do comando xhost +localhost .

PASSO 4 : Instalador

Com tudo pronto agora insira o primeiro CD de instalação do Oracle 9i. Para poder utilizá-lo talvez você precise fazer o mount como root. Logado como oracle, digite os comandos abaixo:

ls /mnt/cdrom (ou ls /cdrom )

sh /mnt/cdrom/runInstaller (ou sh /cdrom/runInstaller)

Em breve deverá aparecer a tela gráfica do Universal Installer dizendo WELCOME.

Quando aparecer a janela de escolha de grupos, selecione o oinstall.

Serão pedidas uma série de informações sobre os produtos que você deseja instalar. Depois de selecionar tudo, será perguntado se você deseja instalar um banco de dados pronto. A minha sugestão é que você faça isso depois de ter instalado o produto. Portanto, de preferência responda não para essa pergunta.

Durante a instalação pode ser pedido para executar alguns scripts como root.

Talvez ocorram alguns erros de compilação, simplesmente os ignore. Depois de tudo instalado, você deverá se logar como oracle e digitar relink all para nova tentativa de recompilação, que não deverá apresentar erros depois de alguns ajustes.

Após a instalação do produto será chamada a ferramenta de administração de rede, chamada de Network Administrator Assistant (netca). Selecione tudo padrão e pronto.

Depois de tudo isso instalado, você poderá fechar o installer sem problemas. Se ocorreu problemas de linkagem, proceda como descrito acima.

PASSO 5 : Aplicação de Patchset (opcional)

Infelizmente que eu saiba ainda não existe uma versão pública do Patch do Oracle para 9i, você precisa ter contrato de suporte com a Oracle para ter acesso ao Metalink (http://metalink.oracle.com).

Existe uma diferença entre patch e patchset. O patch normalmente é um arquivo ou um conjunto de arquivos que você descompacta algum lugar e roda algum script. O patchset é também um conjunto de arquivos, entretanto bem maior e normalmente vem até com um installer.

Atualmente já existe a segunda versão do patchset para Linux, com aproximadamente 130Mb. Para baixa-la, você deve se logar no site do Metalink, clique em Patches, depois selecione Oracle Server em Product Family, 9.0.1.2 em Release, LINUX Intel em Plataform e clique em submit. Procure pelo Patchset::2072050 que deve ter 130Mb.

Descompate o arquivo em algum diretório e digite runInstaller. Quando chamar o instalador, e ele perguntar pelo caminho dos arquivos para instalar apontando para um products.jar, selecione o products.jar do diretório do patch que você acabou de descompactar. Continue a instalação normalmente especificando as atualizações necessárias.

Se ocorrer algum erro de compilação, faça o mesmo procedimento da instalação normal: tentar relinkar tudo com o comando relink all .

PASSO 6 : Criação do banco de dados

Para criar um banco chame o Database Configuration Assistant com o comando dbca . Depois de selecionar as opções e criar o banco, o assistente automaticamente configura o listener.

A única coisa que falta que nem instalador nem o assitente fazem é configurar o startup automático da base de dados. Isso é feito em duas etapas: primeiro se coloca o banco de dados no ar e depois o listener.

Basicamente o que se necessita é um arquivo para ser chamado no boot para inicializar o banco e o listener. Existem outras versões desse arquivo na internet, mas o meu chama-se rc.oracle :

rc.oracle

case "$1" in

start) su - oracle -c "/oracle/Ora9i/bin/dbstart"

export ORACLE_HOME=/oracle/Ora9i

export LD_LIBRARY_PATH=/oracle/Ora9i/lib

su - oracle -c "export ORACLE_HOME=/oracle/Ora9i && export LD_LIBRARY_PATH=/oracle/Ora9i/lib && /oracle/Ora9i/bin/lsnrctl start && touch /var/lock/subsys/dbora"

;;

stop) su - oracle -c "/oracle/Ora9i/bin/dbshut"

su - oracle -c "export ORACLE_HOME=/oracle/Ora9i && export LD_LIBRARY_PATH=/oracle/Ora9i/lib && /oracle/Ora9i/bin/lsnrctl stop"

;;

esac


Além disso deve-se configurar o arquivo /etc/oratab da seguinte maneira:

oratab

#

# This file is used by ORACLE utilities. It is created by root.sh

# and updated by the Database Configuration Assistant when creating

# a database.

# A colon, ':', is used as the field terminator. A new line terminates

# the entry. Lines beginning with a pound sign, '#', are comments.

#

# Entries are of the form:

# $ORACLE_SID:$ORACLE_HOME:<N|Y>:

#

# The first and second fields are the system identifier and home

# directory of the database respectively. The third filed indicates

# to the dbstart utility that the database should , "Y", or should not,

# "N", be brought up at system boot time.

#

# Multiple entries with the same $ORACLE_SID are not allowed.

#

o9i:/oracle/Ora9i:Y


Esse arquivo lê as informações da seguinte maneira: ORACLE_SID:ORACLE_HOME:Startup_automático?-Sim/Não .

Em qualquer instalação ele é configurado com N na última opção. Altere para S.

Copie esse arquivo rc.oracle para o /etc/rc.d/init.d e depois faça esse link simbólico dentro do rc2.d:

cd /etc/rc.d/init.d

ln -s etc/rc.d/init.d/rc.oracle S99dbora

Fazendo-se um ls -al deve-se ter esse resultado:

lrwxrwxrwx 1 root root S99dbora -> ../init.d/dbora*

Pronto, agora sua máquina está configurada.

PASSO 7 : Acessando a base de dados para startup e shutdown

Alguns velhos costumes não podem ser usados no 9i. O usuário INTERNAL não existe mais, agora a conexão como administrador se faz dessa maneira:

SQL*Plus: Release 9.0.1.0.0 - Production on Tue Apr 9 22:11:47 2002

(c) Copyright 2001 Oracle Corporation. All rights reserved.

SQL> connect / as sysdba

Connected to an idle instance.

SQL>


PASSO 8 : Tudo ok. E agora ?

A Oracle providencia um conjunto de ferrmentas de administração de banco de dados chamada Enterprise Manager, normalmente em máquinas Windows. Entretanto existem alguns softwares interessantes para serem usados no seu Linux:

Todas essas ferramentas podem ser baixadas do meu site: http://www.oracle.matrix.com.br/download/

Um ótimo link com vários tutoriais de Oracle de diversas versões pode ser encontrado em: http://www.palslib.com/Oracle/Installation.html

© 2002 A construção do site, tradução e criação dos documentos foram feitos por Fernando Boaglio, consultor Oracle há mais de 5 anos

e webmaster do site conhecido como Página de Oracle - http://www.oracle.matrix.com.br