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:
512Mb de memória (rodar o Oracle Server) ou 128Mb (rodar o client)
o swap com pelo menos 512Mb
área temporária (/tmp) de pelo menos 400Mb
Processador Pentium II - 233 Mhz
espaço livre para o software de 2.5 Gb
Linux Suse 7.1 com kernel 2.4.4, glibc 2.2, binutils 2.10 e make 3.79
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:
Tora - Toolkit for Oracle - Ferramenta gratuita de administração/desenvolvimento
Object manager-gerenciador de objetos gratuito , aparentemente seu desenvolvimento foi abandonado
SQL Work-fazedor de consultas gratuito , aparentemente seu desenvolvimento foi abandonado
DBA Comp - freeware monitor de performance do banco
YASQL,KOra - substitutos para o SQL*Plus
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