Favor desconsiderar...
Em 23/06/07, Tiago Dias <[EMAIL PROTECTED]> escreveu:
Este artigo é direcionado às pessoas interessadas na instalação do
servidor de banco de dados Oracle, versão 9i (release 9.2.0.4.0),
disponível no site www.oracle.com, composta por três CDs de instalação.
Instalar o Oracle em si não requer muito conhecimento; cabe ao DBA
determinar o tamanho de cada arquivo no sistema do banco de dados, portanto
este artigo cobre apenas a instalação do software. Pré-requisitos
Este artigo é direcionado às pessoas interessadas na instalação do
servidor de banco de dados Oracle, versão 9i (release 9.2.0.4.0),
disponível no site www.oracle.com, composta por três CDs de instalação.
Instalar o Oracle em si não requer muito conhecimento; cabe ao DBA
determinar o tamanho de cada arquivo no sistema do banco de dados, portanto
este artigo cobre apenas a instalação do software. Pré-requisitos Qualquer
Linux com glibc versão 2.2.8 ou mais recente (testado: Slackware 10.0).
Pacotes de desenvolvimento instalados (gcc, binutils principalmente). Um
diretório dedicado à instalação Oracle, que nesse momento será nomeado
/oracle.
Um usuário dedicado para o programa; neste exemplo, o usuário será oracle.
Opcional: um grupo para todas as pessoas que puderem se conectar como
superusuários do sistema de banco de dados. Primeiro passo: *libcwait.so*
Algumas versões da biblioteca C para Linux (glibc) não incluem o símbolo
__libc_wait esperado pelo instalador, por motivos de incompatibilidade.
Então, o procedimento mais simples a se fazer é colocar esta função na forma
de uma biblioteca localizada em um diretório abaixo de /oracle. Para isso,
crie o diretório /oracle/patch, e coloque o seguinte conteúdo no arquivo
/oracle/patch/libcwait.c:
#include
#include
#include
#include
pid_t
__libc_wait (int *status)
{
int res;
asm volatile ("pushl %%ebxnt"
"movl %2, %%ebxnt"
"movl %1, %%eaxnt"
"int $0x80nt"
"popl %%ebx"
: "=a" (res)
: "i" (__NR_wait4), "0" (WAIT_ANY), "c" (status), "d" (0),
"S" (0));
return res;
}
E então compile o conteúdo como uma biblioteca:
[EMAIL PROTECTED]:~$ cd /oracle/patch/
[EMAIL PROTECTED]:~$ gcc -O2 -fpic -xc -shared -o libcwait.so libcwait.c
E não esquecer de, quando estiver com o usuário oracle, adicionar esta
biblioteca para ser carregada antes de executar qualquer coisa como este
usuário (LD_PRELOAD=/oracle/patch/libcwait.so - está no arquivo .profile
sugerido no segundo passo).
Se você não utilizar esta biblioteca (inclusive citada no guia de
instalação Oracle), receberá o seguinte erro:
[EMAIL PROTECTED]:~$ Disk1/runInstaller
[EMAIL PROTECTED]:~$ Initializing Java Virtual Machine from /tmp/(...). Please
wait...
Error occurred during initialization of VM
Unable to load native library: /tmp/(...)/jre/lib/i386/libjava.so: symbol
__libc_wait, version GLIBC_2.0
not defined in file libc.so.6 with link time reference
Segundo passo: colocando variáveis do usuário oracle
As três variáveis mais importantes:
O banco de dados primário se chamará LINUX (mantenha as maiúsculas ou
minúsculas, preferencialmente mantenha um padrão para suas instalações).
Portanto, a variável ORACLE_SID terá o conteúdo LINUX (export
ORACLE_SID=LINUX).
O diretório base do Oracle (ORACLE_BASE) será /oracle/base.
O diretório de instalação dos produtos Oracle (ORACLE_HOME) será
/oracle/base/product/9.2.0. Todos os produtos internos ao banco de dados
serão instalados a partir deste diretório.
*Importante:* O Oracle Universal Installer (runInstaller), a priori,
requer a variável $DISPLAY - ou seja, que o X Window System esteja rodando.
Para uma instalação local e assumindo uma única tela, a variável $DISPLAY
deverá ser configurada como :0.0 (creio que esse comportamento possa ser
alterado com arquivos de resposta para instalações automatizadas).
Se você não entrar como o usuário oracle no momento da instalação, deverá
autorizar o uso do usuário oracle à tela do X Window System. Para fazê-lo de
forma simples, use o comando (como o usuário atual logado no sistema):
[EMAIL PROTECTED]:~$ xhost +
(resposta esperada: *access control disabled, clients can connect from any
host*)
Para facilitar toda a tarefa coloque o seguinte conteúdo no arquivo
.profile do usuário oracle:
export ORACLE_SID=LINUXBR
export ORACLE_BASE=/oracle/base
export ORACLE_HOME=/oracle/base/product/9.2.0
export ORACLE_TERM=vt100
export NLS_LANG=AMERICAN
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export PATH=$PATH:$ORACLE_HOME/bin
export LD_PRELOAD=/oracle/patch/libcwait.so
export
CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export DISPLAY=:0.0
export LD_ASSUME_KERNEL=2.4.1
export THREADS_FLAG=native
Faça logoff e entre novamente com o usuário oracle (o traço é importante
para rodar o arquivo .profile):
[EMAIL PROTECTED]:~$ su - oracle
E cheque se todas as variáveis estão ativas:
[EMAIL PROTECTED]:~$ set | grep ORACLE
ORACLE_BASE=/oracle/base
ORACLE_HOME=/oracle/base/product/9.2.0
ORACLE_SID=LINUXBR
ORACLE_TERM=vt100
Terceiro passo: rodar o Oracle Universal Installer
Supondo que o primeiro CD esteja montado no diretório /mnt/cdrom, digite:
/mnt/cdrom/runInstaller
Muitas variáveis já estão programadas pelo segundo passo. Adicionalmente,
você provavelmente quer o conjunto comum do sistema de banco de dados,
Oracle 9i Database 9.2.0.4.0, na versão enterprise (2.84GB).
Para deixar a criação do banco de dados para depois (para um DBA), escolha
a opção Software Only na seção Database Configuration. Após clicar em
Install, após cerca de 5%, edite um arquivo chamado sysliblist. Seu conteúdo
é:
[EMAIL PROTECTED]:~$ cat /oracle/base/product/9.2.0/lib/sysliblist
-ldl -lm -lpthread -lnsl -lirc
Edite o arquivo e insira, no final da linha, o parâmetro
-Wl,-allow-shlib-undefined, ficando o arquivo (não insira linhas em branco
extras!):
[EMAIL PROTECTED]:~$ cat /oracle/base/product/9.2.0/lib/sysliblist
-ldl -lm -lpthread -lnsl -lirc -Wl,-allow-shlib-undefined
Não importa qual o conteúdo do arquivo anteriormente, coloque o parâmetro.
O arquivo é criado no momento da instalação, detectando bibliotecas externas
no sistema para compilar certos componentes Oracle. Se você alterar o
arquivo a tempo, sua instalação não apresentará erros, embora o próprio guia
de instalação os preveja. Apêndice: Instalando novamente
Se você quiser instalar o Oracle novamente, todos os arquivos ficam abaixo
do diretório da variável ORACLE_BASE, bastando apagar este diretório e os
seguintes arquivos e refazer todos os passos (excetuando-se criar o arquivo
.profile, que você poderá editar para encaixar-se em futuras necessidades):
/etc/oratab bancos de dados e se o utilitário dbstart iniciará ou não
cada banco.
/etc/oraInst.loc diretório de inventário e do grupo unix que realiza a
instalação.
Fonte: linuxbr.com
Autor: Cesar Suga - cesar(arrouba)fsndobrasil.com
--
Administrador de Sistemas GNU/Linux
HomePage: www.dias.eti.br
Email: [EMAIL PROTECTED]
"A mente que se abre a uma nova idéia jamais voltará ao seu tamanho
original"
(Albert Einstein)
--
Administrador de Sistemas GNU/Linux
HomePage: www.dias.eti.br
Email: [EMAIL PROTECTED]
"A mente que se abre a uma nova idéia jamais voltará ao seu tamanho
original"
(Albert Einstein)