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)

Responder a