22.6. Instalando Oracle®

Contribuição de Marcel Moolenaar.

22.6.1. Prefacio

Este documento descreve o processo de instalação do Oracle® 8.0.5 e Oracle 8.0.5.1 Enterprise Edition para Linux em uma máquina FreeBSD.

22.6.2. Instalando o Ambiente Linux

Esteja certo de ter instalado o emulators/linux_base e devel/linux_devtools a partir da coleção do ports. Se você passar por dificuldades com estes ports, você pode usar os pacotes ou versões antigas disponíveis na coleção dos ports.

Se você quer executar o ``intelligent agent'', você também precisará instalar o pacote Tcl do RedHat: tcl-8.0.3-20.i386.rpm. O comando geral para instalar pacotes com o port oficial do RPM (archivers/rpm) é:

# rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm pacote

Instalação do pacote não deve gerar erros.

22.6.3. Criando o Ambiente Oracle

Antes que você possa instalar o Oracle, você precisa configurar um ambiente adequado. Este documento apenas descreve o que fazer especificamente procedimentos para executar o Oracle para Linux no FreeBSD, e não o que está descrito no guia de instalação do Oracle.

22.6.3.1. Ajustes do Kernel

Como descrito no guia de instalação do Oracle, você precisa configurar o tamanho máximo da memória compartilhada. Não use o SHMMAX no FreeBSD. SHMMAX é meramente calculado através do SHMMAXPGS e PGSIZE. Sendo assim, defina o SHMMAXPGS. Todas as outras opções podem ser usadas como descritas no guia. Por exemplo:

options SHMMAXPGS=10000
options SHMMNI=100
options SHMSEG=10
options SEMMNS=200
options SEMMNI=70
options SEMMSL=61

Configure estas opções para atender suas necessidades no uso do Oracle.

Também tenha certeza de ter as seguintes opções em seu arquivo de configuração de kernel:

options SYSVSHM #SysV shared memory
options SYSVSEM #SysV semaphores
options SYSVMSG #SysV interprocess communication

22.6.3.2. Conta de Usuário Oracle

Crie uma conta oracle assim como você criaria qualque outra conta. A conta oracle é especial apenas para possuir um shell Linux. Adicione /compat/linux/bin/bash ao /etc/shells e configure o shell da conta oracle para /compat/linux/bin/bash.

22.6.3.3. Ambiente

Além das variáveis usuais do Oracle como ORACLE_HOME e ORACLE_SID você deve configurar as seguintes variáveis de ambiente:

Variável Valor
LD_LIBRARY_PATH $ORACLE_HOME/lib
CLASSPATH $ORACLE_HOME/jdbc/lib/classes111.zip
PATH /compat/linux/bin /compat/linux/sbin /compat/linux/usr/bin /compat/linux/usr/sbin /bin /sbin /usr/bin /usr/sbin /usr/local/bin $ORACLE_HOME/bin

É aconselhável configurar todas as variáveis de ambiente no arquivo .profile. Um exemplo completo seria:

ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_HOME=/oracle; export ORACLE_HOME
LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH
ORACLE_SID=ORCL; export ORACLE_SID
ORACLE_TERM=386x; export ORACLE_TERM
CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip
export CLASSPATH
PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin
PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin
PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin
export PATH

22.6.4. Instalando o Oracle

Devido a uma pequena inconsistência no emulador Linux, você precisa criar um diretório com o nome .oracle em /var/tmp antes de inicializar o instalador. Faça com que ele tenha permissão de escrita para todos ou faça com que seu proprietário seja o usuário oracle. Você deve ser capaz de instalar o Oracle sem problemas. Se você tiver problemas, verifique a sua distribuição Oracle e/ou configuração primeiro! Após ter instalado o Oracle, aplique as correções descritas nas próximas duas subseções.

Um problema frequente é que o adaptador do protocolo TCP não é instalado corretamente. Como consequência, você não pode inciar qualquer aplicação de escuta TCP. As seguintes ações ajudam a resolver este problema:

# cd $ORACLE_HOME/network/lib
# make -f ins_network.mk ntcontab.o
# cd $ORACLE_HOME/lib
# ar r libnetwork.a ntcontab.o
# cd $ORACLE_HOME/network/lib
# make -f ins_network.mk install

Não esqueça de executar o root.sh novamente!

22.6.4.1. Corrigindo o root.sh

Ao instalar o Oracle, algumas ações, precisam ser efetuadas como root, são gravadas em um shell script root.sh. Este script é escrito no diretório orainst. Aplique a seguinte correção em root.sh, para que ele use o local correto do chown ou alternativamente execute o script em um shell nativo Linux.

*** orainst/root.sh.orig Tue Oct 6 21:57:33 1998
--- orainst/root.sh Mon Dec 28 15:58:53 1998
***************
*** 31,37 ****
# This is the default value for CHOWN
# It will redefined later in this script for those ports
# which have it conditionally defined in ss_install.h
! CHOWN=/bin/chown
#
# Define variables to be used in this script
--- 31,37 ----
# This is the default value for CHOWN
# It will redefined later in this script for those ports
# which have it conditionally defined in ss_install.h
! CHOWN=/usr/sbin/chown
#
# Define variables to be used in this script

Quando você não instala o Oracle a partir do CD, você pode corrigir o fonte do root.sh. Seu nome é rthd.sh e está localizado no diretírio orainst na árvore dos fontes.

22.6.4.2. Corrigindo o genclntsh

O script genclntsh é usado para criar uma única biblioteca cliente compartilhada. Ela é usada quando os demos são compilados. Aplique a seguinte correção para comentar a definição do PATH:

*** bin/genclntsh.orig Wed Sep 30 07:37:19 1998
--- bin/genclntsh Tue Dec 22 15:36:49 1998
***************
*** 32,38 ****
#
# Explicit path to ensure that we're using the correct commands
#PATH=/usr/bin:/usr/ccs/bin export PATH
! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
#
# each product MUST provide a $PRODUCT/admin/shrept.lst
--- 32,38 ----
#
# Explicit path to ensure that we're using the correct commands
#PATH=/usr/bin:/usr/ccs/bin export PATH
! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
#
# each product MUST provide a $PRODUCT/admin/shrept.lst

22.6.5. Executando o Oracle

Ao seguir estas instruções você deve ser capaz de executar o Oracle como se estivesse no Linux.

Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.