Home :: International :: Manuals :: Howto :: FAQ :: Man Pages :: Email Login

 
 

 

Instalação do Oracle para Linux HOWTO

Stephen Darlington, stephen@zx81.org.uk Traduzido por Fernando Boaglio fernandoboaglio@yahoo.com.br no dia 14 de agosto de 2001.

v1.16, 11 de Junho de 2000


Com esse HOWTO, e um pouco de sorte, você poderá ter o "Oracle 8i Enterprise Edition for Linux" instalado, criando um banco de dados e conectando-o a uma máquina remota. O foco principal desse guia é o Red-Hat Linux 6.0, entretanto deverá funcionar mais ou menos em qualquer outra distribuição recente.

1. Introdução

1.1 O que esse documento contém?

Linux é bem conhecido como sendo difícil de usar e, geralmente, não muito amigável. Sendo um pouco fã de UNIX, eu não tenho certeza se eu concordo ou não com isso.

O Oracle é parecido, eu acho. No início é difícil manipulá-lo, mas é difícil trabalhar com qualquer outro RDBMS (Sistema Gerenciador de Banco de Dados Relacional) quando já se está acostumado.

Combinando os dois, lembre-se que 8i é somente uma segunda versão, e você perceberá que isto não será tão simples mesmo se você está familiarizado com ambos.

Eu estou, mas tive problemas. Muitos dos problemas foram estupidez ou presunção, mas eu documentei tudo.

1.2 Para quem é esse HOWTO?

Em primeiro lugar, esse documento é para pessoas que queiram instalar o Oracle 8i versão 8.1.5 no Red-Hat Linux 6.0 e qualquer outra configuração reduzirá as chances de uma instalação bem sucedida (eu tentei a princípio escrever esse guia para todos os tipos de Linux e as versões recentes de Oracle, mas a sua estrutura não era clara e não foi tão útil para todos).

Para diferentes distribuições as chances de uma instalação bem sucedida são boas, especialmente se você usar distribuições baseadas no Red-Hat, como por exemplo o Mandrake. Novamente, acesse o meu site se tiver problemas com outras distribuições.

Se você quer instalar a 8.0, eu recomendo tentar Linux Journals guide, e se você quiser instalar qualquer versão anterior, você terá que usar a versão para SCO e seguir as instruções de Paul Haigh's Oracle Database HOWTO.

Se você está tentando instalar a versão 'correta', qual a experiência necessária que você precisará?

Talvez a maneira mais fácil seja eu escrever sobre minha experiência, se a sua for semelhante nós estaremos indo pelo mesmo caminho. Eu tenho usado vários tipos de Unix com Oracle nos últimos anos. Em casa eu tenho usado Linux desde 1994 e eu venho usando Solaris e HP-UX desde 1992. A primeira vez que mexi com Oracle foi em 1996 e tenho trabalhado com ambas versões 7 e 8. Eu sou basicamente um desenvolvedor, mas já fiz trabalhos de DBA (Administrador de Banco de Dados) e de Sysadmin (Administrador de Systemas).

Resumindo, eu me viro muito bem com Unix e eu sei bastante sobre a terminologia Oracle. Você precisará das duas coisas para encarar o resto desse documento. Mas não se preocupe se você não for experiente, siga as instruções com cuidado e continue fazendo perguntas. A comunidade Linux é solidária, mas não espere uma resposta se você nem ao menos fez esforço para resolver o problema por si próprio.

1.3 Novas versões desse documento

Depois de seis meses de freqüentes, raramente grandes, atualizações, esse documento agora parece estar estável ao ponto onde somente novas atualizações da Oracle pedem uma nova versão. Como eu já disse, vale a pena olhar no meu web site para quaisquer atualizações, principalmente se essa versão não responde às suas dúvidas. Você irá achar mais material de Oracle e Linux também.

1.4 Garantia

Você terá o que pagou. Eu não ofereço garantia de nenhum tipo, implícita ou explícita. Eu irei ajudá-lo onde eu puder, mas legalmente falando não conte comigo.

1.5 Créditos e Agradecimentos

Este HOWTO foi escrito por Stephen Darlington. Não poderia ser criado sem as constantes sucessivas perguntas e respostas da Oracle Technet e da Usernet news-groups. Portanto, obrigado ao pessoal que continua colocando mensagens e desculpas a todos porque eu não posso agradecê-los individualmente!

Agradecimentos às seguintes pessoas, sem ordem de preferência, pela contribuição para esse documento: Ton Haver, Guy Cole, Iain Frerichs, Albert Braun, Steve Morando, Krill Kokoshka, Brain Slesinsky, Galen G Burk e Bill Gathen.

Eu aprecio qualquer retorno construtivo para esse HOWTO e qualquer assunto importante voltado a Oracle ou Linux. Entretanto, se você tiver alguma dúvida é melhor perguntar em um newsgroup onde outros poderão se beneficiar das respostas. Mande um e-mail pra mim no endereço stephen@zx81.org.uk.

1.6 Licença

Este documento tem copyright 2000 Stephen Darlington. Você poderá usá-lo e reproduzi-lo livremente, desde que:

  • Não omita ou altere as informações de copyright.
  • Não omita ou altere a versão e a data.
  • Não omita ou altere o link para a atual versão na web.
  • Marque claramente qualquer parte resumida ou alterada.

Estas restrições tem o intuito de proteger alguns leitores de versões erradas e não originais. Se você acha que o seu caso é uma exceção, pergunte-me.

(Essas informações de copyright notice foram inspiradas no HOWTO de Eric Raymond)

2. Largada

2.1 Visão Geral

Nessa seção nós iremos configurar o Linux de tal maneira que você possa instalar no seu hard-disk o Oracle 8i do CD que eles te mandaram.

O processo de instalação do Oracle começa quando você tem o seu PC com Linux instalado, configurado e conectado a sua rede.

2.2 Pré-requisitos

Hardware

Eu acho que a parte mais importante dos pré-requisitos é não subestimá-los. O Oracle é uma enorme e complexa aplicação e você não terá o melhor dele se você analisar o hardware superficialmente. Meu grande erro foi assumir que a Oracle estava brincando quando eles disseram que você precisa de 128Mb de RAM. Eu tenho instalado Oracle algumas vezes em servidores Sun com esse tanto de memória, porque eu precisaria mais numa máquina CISC?

Não quis acreditar na Oracle. Minha máquina com 32Mb de RAM trabalhou duro por quase meia hora antes de eu perceber que não tinha jeito.

Eu estava tentado usar o mínimo necessário de hardware que geralmente é uma má idéia. Se você não pode bancar o hardware, com certeza você não poderá bancar as licenças! Por outro lado, qualquer máquina que pode rodar Linux e tenha memória suficiente terá uma chance. Minha outra máquina, a que eu usei para o resto desse documento, é adequada para uma máquina de desenvolvimento. É um Celeron de 466Mhz com 128Mb de RAM, um hard-disk de 8Gb, uma placa de video da Intel e uma placa de rede DM9102.

2.3 Configuração do Linux

Escolha de distribuição

A Oracle parece ter baseado a maioria de seu desenvolvimento no Red Hat Linux 6.0. Para uma instalação sem problemas, faça o mesmo. Eu tenho ouvido histórias horríveis sobre tentativas de instalação em outras distribuições.

Entretanto, qualquer coisa parecida com o Red Hat deve funcionar. Uma versão recente do Mandrake deve funcionar, assim como novas versões do Red Hat. Já o SuSE suporta Oracle e tem uma webpage dedicada ao assunto.

Configuração da Distribuição

Agora que você já decidiu em qual distribuição semelhante ao Red Hat você irá utilizar, você precisará saber quais opções selecionar dentro do grande número de pacotes necessários para fazer o Oracle funcionar.

Em primeiro lugar você vai precisar ter uma partição de swap de duas a três vezes o tamanho da memória (você precisará em torno de 200Mb de memória, real ou virtual, somente para rodar o installer!). Note que ao contrário da opinião pública, as partições de swap do Linux podem ser maiores que 128Mb.

Os ajustes de suas outras partições também podem ser importantes. Tenha certeza que o software Oracle fique numa partição diferente do seu sistema operacional, e certifique-se que os datafiles do Oracle já estejam na outra partição. A idéia aqui é ter certeza de não ter datafiles fragmentados (em um ambiente real, você poderá ter alguns discos com o Oracle distribuído neles. Existem bom livros que você pode consultar com mais informação sobre o assunto).

Em relação ao software, eu escolhi a opção easy e instalei tudo. Você certamente necessitará de todos os pacotes básicos, os pacotes X Windows (a rotina de instalação é uma interface gráfica JAVA) e as ferramentas de desenvolvimento, independente que você pretenda programar ou não. Comparado o tamanho do Oracle e de seus bancos de dados, a distribuição Linux é pequena, provavelmente menor que um gigabyte. Vale a pena instalar tudo para ficar tranquilo!

Parâmetros do Kernel

A documentação sugere que você faça mudanças no kernel do Linux de maneira que você possa ter mais memória compartilhada. Desde que isso é tão difícil no Linux (ao contrário da maioria dos UNIX's comercializados você deve recompilar o kernel), na fórmula que eu adotei eu instalei assim mesmo. As configurações default do Red Hat Linux funcionaram, mas você deverá mudá-las para um ambiente de desenvolvimento grande ou um ambiente de produção.

Note que alguém vai precisar recompilar o kernel para ter o Oracle funcionando 100%. Eu acho que deve depender do outro software que você vai rodar na mesma máquina.

Siga as instruções da documentação da Oracle (no CD de instalação em formato HTML) e o Linux Kernel HOWTO para configurar o seu novo kernel.

Usuários e grupos

Usando linuxconf (ou qualquer outro método que você esteja acostumado), adicione um novo grupo chamado "dba" e um novo usuário "oracle" que pertença a esse grupo "dba".

Você poderá fazer qualquer outro usuário ser um DBA colocando-o no grupo DBA. Se você tem vários DBA's, isso é uma boa idéia para auditoria.

Instalando o Java Virtual Machine correto

A Oracle obviamente aterrorizou com o Java na sua primeira versão. Todas as versões 8i desde a 8.1.5 tem inclusa a sua própria máquina virtual, logo você não precisa ter o seu. De fato, certifique-se de que removeu qualquer referência (você não precisa apagar, somente remova do PATH e certifique-se de que as variáveis JAVA_HOME e CLASSPATH estão configuradas). O instalador já é bem temperamental sem essas variáveis.

Se você está usando a 8.1.5 , leia isso:

Se você checar a documentação oficial, você descobrirá que a Oracle recomenda o Java Runtime versao 1.1.6v5 da Blackdown. Isto é exatamente o que você precisa. Não pense que 'novas versões terão menos bugs' que o installer não funciona. E não pense que 'eu vou desenvolver software, então eu vou baixar o JDK' que não vai funcionar também.

Tem um porém ao usar essa versão do JRE: a Oracle espera que o executável java esteja no diretório /usr/local/jre/bin/jre. Enquanto existir esse inconveniente, não significa que você deve instalar necessariamente lá.

Eu segui os seguintes passos para ter um JRE funcionando:

  1. Faça o download do Java Runtime Environment do site Blackdown website
  2. Mova para o diretório a instalar o JRE:
    cd /usr/local
    
  3. Descompacte o arquivo:
    bzip2 -d -c jre-1.1.6-v5-glibc-x86.tar.bz2 | tar xvf -
    
  4. Crie um link simbólico entre o JRE e onde a Oracle exige:
    ln -s jre116_v5 jre
    

2.4 Começando com as perguntas e respostas

Eu realmente preciso de 128Mb de RAM?

Eu recomendo que você use 128Mb de RAM ou mais. Eu acho que seria difícil ter um trabalho sério com menos que isso.

Entretanto, se você desabilitar a opção Java e configurar toda a memória compartilhada relativamente pequena, não existe razão por que não funcionar. Eu tenho escutado histórias de sucesso com 64Mb. Você provavelmente não conseguirá o mesmo com 32Mb.

Existe um porém. Você deve ter ao menos metade do que a Oracle recomenda para conseguir rodar, mas para instalar esse número deles começa a fazer sentido. Eu tenho ouvido falar que o installer usa 150Mb de memória e eu mesmo cheguei a usar 120Mb. Se você tem 64Mb ou menos de memória, tenha certeza que você tenha muito espaço de swap e muita paciência.

Uma outra alternativa é se você não pode adicionar memória: instale o Oracle em outra máquina melhor, depois copie o diretório /$ORACLE_HOME/ . Você deverá certificar de ter todos os mesmos usuários e grupos (de preferência de mesmo número) e ter um cuidado especial com os executáveis SUID como $ORACLE_HOME/bin/oracle.

Vai funcionar com Red Hat 6.1 ou superior?

Eu ainda estou rodando o 6.0, logo, tudo que eu posso dizer é que algumas pessoas tem tido sucesso nessa configuração.

Quando esse documento foi escrito, o Oracle 8i estava certificado para Red Hat 6.0 e "Certificação para outras distribuições em desenvolvimento" (FAQ do Oracle 8i Patch).

Funciona com Debian/SuSE/Mandrake/alguma outra distribuição?

Oracle especificou que deve ser um Linux com Kernel 2.2 e GLIBC 2.1 com qualquer window manager. Em teoria, qualquer distribuição que tenha essas características deve funcionar.

Na prática, a Oracle não deve suportar e você deve ter mais problemas tentando instalar tudo. A menos que você tenha um bom motivo eu sugiro usar o Red Hat 6.0 com todos os patches que você puder pegar.

Só para constar, eu tenho escutado histórias de sucesso com todas as outras distribuições (eu mesmo testei o Mandrake 7.1). Algumas, entretanto, tem causado constantes problemas, sendo Slackware a principal delas.

Funciona com distribuições baseadas em GLIBC 2.2?

Até o presente momento, Red Hat 7.x e outras distribuições baseadas em GLIBC 2.2 tem sido um tanto problemáticas (entretanto, é possível fazer funcionar). De fato, existe um bug reportado no site da Red Hat falando sobre um problema em particular. Resumindo, a Red Hat recomenda o Red Hat 6.2 para Oracle ou força a usar a versão antiga da GLIBC enviada para criação do kernel.

Meu site tem informações mais atuais sobre o assunto.

Funciona com Kernels em desenvolvimento?

Não existe motivo para que não funcione -- eu usei a 2.3.19 por certo tempo porque suportava a minha placa de rede e a versão estável do kernel naquela época ainda não tinha suporte -- ao menos que tenha necessidade, a maneira mais segura é não usar kernels em desenvolvimento. Eu mudei para o kernel estável assim que o driver da minha placa foi incluído.

Funciona com o Linux 2.4?

(Quando esse documento foi concluído, o Linux 2.4 tinha acabado de ser lançado. As principais distribuições estão apenas começando a enviar as novas versões atualizadas e eu não estou ciente de nenhuma versão de Oracle para tal ambiente.

Entretanto, o novo kernel tem uma série de novas características e melhorias de performance que o Oracle poderia se beneficiar, mas será que você pode usar sem o risco de um desastre? A resposta é um cauteloso "sim". Geralmente o kernel é compatível com os 2.2.x e eu não tenho notado problemas nem com o 2.3 e os mais recentes 2.4-test betas.

Onde eu consigo o Oracle?

Em primeiro lugar, você deve ser corajoso, ter uma conexão de Internet rápida ou uma infindável paciência (e acesso ilimitado), você pode baixar do site Oracle Technet. Atenção: tem quase 200Mb e o 8.1.6 é ainda maior.

Uma opção mais adequada é conseguir o CD. A Oracle às vezes se oferece para te mandar um CD de desenvolvimento gratuitamente quando você participa da Technet. Vale a pena gastar algum tempo no site procurando algo do tipo. Outra alternativa é comprar o CD da Oracle Store por US$40. Ele inclui vários outros softwares e vêm em 15 CDs.

3. O installer

3.1 Como?

Geralmente seguir a documentação é uma boa idéia. Não é assim tão ruim e você terá maior suporte da Oracle (se você tiver contrato). (eu acabei estragando um ambiente -- e sabendo que iria estragar -- seguindo a documentação para Oracle Applications. Foi a única maneira de ter um suporte descente). Este documento te dará uma visão geral, mas você ainda deve consultar a documentação da Oracle.

3.2 O que eu informo no programa de instalação?

Durante a instalação, o Oracle irá fazer algumas perguntas. Geralmente elas não são tão difíceis mas vamos ver o que responder e porquê.

  1. Muitas pessoas cometem o erro de seguir as instruções da documentação da Oracle e, portanto, falhar no primeiro obstáculo. Não tente executar o runInstaller porque quase sempre falha. Ao invés disso, vá ao diretório install/linux no CD e execute runIns.sh logado como 'oracle'.
  2. Quando aparecer a tela do installer clique em 'Next'.
  3. Deve te pedir para entrar no diretório fonte dos arquivos de instalação (o arquivo 'jar') e o diretório de instalação do Oracle. Não mexa no primeiro. O diretório do Oracle será onde você quiser instalar o software. De acordo com a documentação de instalação deve ser em algo do tipo /u01, mas eu ignorei isso e coloquei em /home/oracle. Geralmente as sugestões da Oracle, nesse caso, valem a pena. Clique 'Next' quando você tiver especificado todos os detalhes.
  4. Agora irá perguntar sobre o grupo DBA. Este é o grupo do Unix que você criou na seção anterior, e provavelmente é 'dba'. Entre com os detalhes e clique 'Next'.
  5. Agora você deve se logar como 'root' e execute o arquivo /tmp/OraInstall/orainstRoot.sh. Faça como pedido (você deve rodar pdksh ou bash em 'Bourne compatibility mode' para funcionar perfeitamente). Quando estiver pronto, clique em 'Retry'.
  6. Agora você terá a opção de escolher o que instalar. A melhor escolha é 'Oracle Enterprise Edition', pois inclui tudo (na documentação da Oracle a tabela 3.1 diz exatamente o que é instalado). Tenha certeza que o radio button da direita esteja selecionado e clique 'Next'.
  7. Agora deve permitir que você escolha as opções de instalação bem detalhadas. Ao menos que você não tenha espaço suficiente ou saiba exatamente o que precisa, eu recomendo deixar como veio e clicar 'Next'. O Universal Installer não deixará você fazer escolhas erradas, portanto não fique muito preocupado se você excluir alguma opção. Você poderá adicionar algo depois sempre.
  8. Para quaisquer produtos que você pediu para instalar, o installer permitirá que você mude o local de instalação. Novamente, mude o local somente se você tiver um bom motivo. Clique em 'Next' quando terminar.
  9. Agora vai instalar tudo que você pediu. Provavelmente vai demorar um pouco e irá usar mais memória do que precisa.
  10. Agora deverá perguntar se você quer criar o banco de dados. Selecione 'no'. Existem duas razões para isso: geralmente não funciona e, mesmo quando isso acontece, é muito lento (parece iniciar outro JVM, deixando o X, o back-end do Oracle e duas máquinas virtuais, não fica bom com 128Mb de memória).
  11. O installer deve perguntar sobre os protocolos de rede que você deseja que o Oracle suporte. Sempre aparece tudo em branco para mim. Eu não sei o que deveria aparecer ali, mas eu cliquei 'Next' e parece que tudo funcionou bem.
  12. Todo o trabalho duro está feito. Todos os produtos que você queria devem estar instalados e prontos para usar. Parabéns!

3.3 Instalando o patch

Infelizmente o CD que a Oracle te enviou foi provavelmente a versão 8.1.5.0.0. Assim como a maioria das primeiras versões, essa versão tem problemas (que incluem arquivos vazios, portanto são problemas sérios) e tem patch para a versão 8.1.5.0.2, que é fundamental. Você certamente vai precisar consultar a seção "Configuração" desse HOWTO. O patch descrito aqui é um patch acumulativo, isto é, ele inclui todos os arquivos para mudar da versão 8.1.5.0.0 para a 8.1.5.0.2.

O arquivo que você precisa está no site site da Oracle e é relativamente fácil de instalar.

  1. Este provavelmente é o primeiro de vários patches, então crie um diretório chamado "patches" em algum lugar conveniente (o meu está em $ORACLE_HOME).
  2. Baixe o arquivo nele.
  3. Crie um lugar para colocar os arquivos:
    mkdir /tmp/orapatch
    cd /tmp/orapatch
    
  4. Descompacte o arquivo:
    tar zvxf $ORACLE_HOME/patches/linux815patches.tgz
    
  5. Rode o script que está agora no diretório corrente:
    ./linux_815patches.sh
    

Note que é importante não descompactar o arquivo no diretório corrente. O installer do patch verifica o número de arquivos presentes e não roda se não for o correto. É claro que se ele achar o próprio arquivo do patch compactado ele vai encontrar arquivos demais!

3.4 Configurando o seu ambiente

Adicione as seguintes linhas ao seu ".profile" (ou equivalente no seu shell):

. oraenv
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

Porque o installer da Oracle não faz isso eu não faço a menor idéia.

Se você ver "[: integer expression expected before -lt" da próxima vez que você se logar, é porque o 'oraenv' está esperando a sua variável ULIMIT ser um valor inteiro ao invés do valor default 'unlimited'. Eu não tenho visto problema algum em ignorar esse erro, mas você pode arrumá-lo simplesmente atribuindo à ULIMIT algum valor finito.

3.5 Perguntas e respostas de instalação

O installer sai com a mensagem 'CreateOUIProcess()'

Em primeiro lugar, certifique-se que você está rodando a versão correta do JVM. Eu não sei o que a Oracle faz com o software dela, mas depende muito da versão que você usa.

Em segundo lugar, pode ser útil se, ao invés de rodar runInstaller da raiz do CD, você pode ir para install/linux e rodar o script runInst.sh .

Este problema é bem mais comum no Red Hat 6.1 que no 6.0, e pode ser algo relacionado com alguma biblioteca C nova.

Eu tenho ouvido falar que se você tem a versão errada do window manager mais comum do GNOME, o Enlightenment, pode ocorrer esse problema. Atualize ou mude para outro ambiente como o KDE ou o Fvwm2.

O installer aparece na tela como um flash e logo em seguida desaparece

Isto não é tão incomum. Geralmente significa que você está rodando uma versão antiga do Enlightenment. Atualizando ou trocando para outro ambiente deve resolver o problema.

Um problema semelhante é o installer sumir em certo ponto do processo, geralmente entre os 80%. Acredita-se que isso ocorra por falta de memória. Você deve aumentar o tamanho do swap da sua máquina, qualquer coisa além de 200Mb deve ser suficiente.

Acontecem estranhos erros de Java quando eu inicio o installer

Qual versão do JVM você está usando? Muita gente diz que funciona com outras versões, mas quando eu baixei pro JRE 1.1.6 (que a documentação da Oracle recomenda) a maioria dos problemas acabaram.

Duas outras coisas que valem a pena mencionar: certifique-se que você está usando o JRE e não o JDK. Em segundo lugar, você deve estar usando "green" threads. Ao menos que você configure a variável THREADS_FLAG igual a 'native' você certamente tem a configuração correta.

O installer mostra 'segmentation fault'

Você tem GLIBC 2.1, não é mesmo?

Problemas no carregamento de bibliotecas compartilhadas

A mensagem de erro que eu estou falando parece um pouco com essa:

error in loading shared libraries: libclntsh.so.8.0: cannot open
shared object file: No such file or directory

É a mesma coisa que o NT reclamando que não acha uma DLL. É bem fácil de arrumar. Simplesmente adicione a seguinte linha ao final do seu arquivo ".profile" se você estiver usando uma Bourne shell (pergunte ao seu guru local se você não sabe):

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

Ou use a seguinte linha se você está usando uma CSH shell:

setenv LD_LIBRARY_PATH "$LD_LIBRARY_PATH
$ORACLE_HOME/lib"

Eu não uso a C-Shell, portanto a verificação desse comando fica a seu critério.

O Pro*C não funciona

A resposta para essa pergunta deu um bom trabalho, apesar de estar no website da Oracle, se você procurar o bastante.

A configuração default do Pro*C não sabe onde encontrar todas as suas bibliotecas, logo você precisa dizer onde elas estão. Depois da instalação, o arquivo $ORACLE_HOME/precomp/admin/pcscfg.cfg está vazio, mas precisa conter o seguinte:

sys_include=(/home/oracle/precomp/public, /usr/include,
/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/,
/usr/include, /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include,
/usr/include)
include=(/home/oracle/precomp/public) 
include=(/home/oracle/rdbms/demo) 
include=(/home/oracle/network/public) 
include=(/home/oracle/plsql/public)
ltype=short

(As primeiras quatro linhas acima, do sys_include ao include) devem ser todas na mesma linha dentro do arquivo).

A documentação da Oracle não menciona isso, mas você também precisa editar o arquivo $ORACLE_HOME/precomp/lib/env_precomp.mk. Na linha que define o CCPSYSINCLUDE, coloque o seguinte:

CCPSYSINCLUDE=sys_include='($(ORACLE_HOME)/precomp/public,
/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include,
/usr/include/g++-2, /usr/include)'

Isso funcionou para o Red Hat 6.0, mas precisa arrumar mais para outras distribuições ou versões mais recentes do Red Hat.

Eu instalei o patch mas agora piorou!

Isto é complicado e quase não documentado pela Oracle e é bem comum em todos os seus produtos e installers. Já é hora deles fazerem algo a respeito!

Geralmente o que acontece: você instala o Oracle Enterprise Edition e, como a Oracle te falou, você baixa e instala todos os patches existentes. Então você decide usar os pré-compiladores e instalar o Oracle Programmer do mesmo CD.

Antes de instalar o Pro*C o seu banco funcionava e agora não funciona mais.

O problema é que as versões dos pré-compiladores que você instalou não está com patch aplicado e alguns programas do Oracle estão ligados às correções; o installer da Oracle é tão burro que sobrepõe novas versões do mesmo código.

A solução não é simples. Uma vez que você não pode extrair um único arquivo do CD, você precisa instalar tudo novamente, dessa vez instale o Oracle Programmer antes de instalar o patch.

O Oracle acha que eu não tenho espaço livre suficiente no disco

Existe algo errado com o programa de instalação. Assumindo que você tenha espaço livre suficiente, vai instalar sem problemas.

4. Criando um banco de dados

4.1 Visão Geral

Provavelmente, se você seguiu o conselho da seção anterior, você não criou o banco de dados.

Para muitas pessoas, eu posso esquematizar o processo em poucas palavras: "rode o 'dbassist'". Ao menos que seja a primeira vez que você estiver rodando Oracle, nenhuma das questões deve ser novidade.

Para completar, eu vou documentar o que fiz, mas eu diria melhor o que proponho em primeiro lugar. Observação: este não é um sistema de produção nem algo 'sério' (ou seja, de grupo ou full time) de desenvolvimento. Eu instalei o 8i para testar e ver se era novo ou diferente do 8 e das versões anteriores.

Isto significa que o 'dbassist' oferece uma opção fácil e eu a escolhi. E quando eu sugeri um outro disco, ou ao menos uma partição diferente, foi recusado. Meu $ORACLE_HOME é /home/oracle. Todos os arquivos e softwares estão lá, todos em uma única partição.

4.2 Guia passo a passo

  1. Chame o prompt e digite:
    dbassist
    
  2. Na minha máquina mostra "JNLS Exception:oracle.ntpg.jnls.JNLSException. Unable to find any National Character Sets". De acordo com o FAQ do Oracle 8i Patch, este problema já é conhecido (884001) e pode ser ignorado.
  3. Selecione a opção "Create a database" e clique em "Next"
  4. Existem duas opções: Typical e Custom. Se você sabe exatamente o que está fazendo, então provavelmente você não estaria lendo isso e poderia selecionar a opção "Custom" sem problemas. Eu não vou explicar essa parte. Ao invés disso, eu vou assumir que você selecionou "Typical" e clicou em "Next".
  5. Depois será perguntado se você quer copiar o banco de dados do seu CD ou quer criar o banco de dados. Sempre que eu tentava a primeira opção, o Oracle não conseguia achar meu CD player (você simplesmente acabou de instalar dele!). Então eu recomendo usar a segunda opção. Não é difícil, apenas mais demorado.
  6. Provavelmente é mais seguro selecionar 'Hybrid' quando perguntar em qual ambiente o banco de dados irá operar.
  7. Agora vai perguntar para quantos usuários o seu banco de dados será usado. Eu coloquei cinco.
  8. Depois vai perguntar quais os produtos que você quer instalar no seu novo banco de dados. Mais uma vez, você sabe melhor que eu o que você quer!
  9. O Oracle precisa agora de um "Global Database Name" e um "SID". O nome do banco de dados é como se fosse um nome de domínio, mas diferente. Se você for um guru de Oracle já sabe o que colocar, caso contrário sua empresa deve ter algum padrão de nomes. Eu chamei o meu de 'dev1' (ambos SID e nome do banco).
  10. Agora você quer criar o banco já ('now') ou salva as configurações em um script? Com 128Mb de RAM eu achei a primeira opção dolorosa. Eu criei o script, saí do X e de qualquer coisa que usasse muita memória, então eu rodei o script. Muito mais adequado.
  11. Eu não tinha notado nada disso na documentação, mas seu banco de dados não irá funcionar direito sem isso! O banco de dados que o 'dbassist' cria não tem problemas, mas por default os segmentos de rollback de usuário são deixados off-line (traduzindo: usuários não administradores não podem fazer qualquer operação que envolva transação). Digite:
    cd $ORACLE_HOME/dbs
    
    Você precisa editar o arquivo chamado "init<SID>.ora" ("initdev1.ora" no meu caso). Mais ou menos no meio tem uma linha comentada parecida com isso:
    # rollback_segments = (r01, r02, r03, r04)
    
    Descomente essa linha (remova o #), grave o arquivo e está terminado.
  12. Agora alguns passos extras. Você tem um banco de dados e deve ser capaz de colocá-lo no ar, mas provavelmente não sabe quais são as senhas dos administradores! Aqui são duas que você precisa saber. A primeira é a senha do usuário SYSTEM. O seu valor default é 'MANAGER'.Parece ser convenção que a Oracle coloca as senhas em maiúsculas. Na realidade as senhas não são case sensitive. Eu recomendo que você mude assim que puder digitando password no prompt do SQL*Plus. Para os que estavam esperando o comando ALTER USER , essa é a nova versão do SQL*Plus que vem no 8i. A outra senha que você precisa saber é a do usuário SYS. O seu valor default é 'CHANGE_ON_INSTALL' e você deve fazer exatamente o que ele diz: mude_ao_instalar !
  13. Último passo. Nesse passo você se livra da irritante mensagem 'no profile' toda vez que você se loga no SQL*Plus. Logue-se no SQL*Plus como usuário 'system' (sqlplus system/<password>). Depois digite:
    @?/sqlplus/admin/pupbld.sql
    
    A interrogação é a mesma coisa que o diretório $ORACLE_HOME .
  14. Este passo é opcional e é usado para definir o seu editor de textos default do SQL*Plus (ao digitar ed). Abra o arquivo $ORACLE_HOME/sqlplus/admin/glogin.sql no seu editor favorito e adicione a linha define_editor=<editor name> no final.

É isso. Você deve ter agora um banco de dados que você consegue se logar usando o SQL*Plus.

4.3 Perguntas e respostas

É realmente fácil assim?

Sim e não. Se você está brincando, construir um banco de dados pra aprender as novas características do 8i, então a resposta é 'sim'. O banco de dados que você vai construir seguindo as instruções acima é completo e vai funcionar sem problemas.

Entretanto, se você conhece alguma coisa sobre Oracle, você vai perceber rápidamente que a configuração default é extremamente ruim. Se você está fazendo um sistema de produção sério, eu recomendo o uso da opção "Custom".

Mesmo para o meu sisteminha eu fiz alguns ajustes. Eu aumentei o tamanho da maioria das tablespaces e mudei para que elas não crescessem automaticamente (eu odeio quando o software tenta ser tão esperto).

É realmente necessário colocar todos os arquivos em diferentes discos?

Não e funciona bem se você não colocar, mas eu não recomendo colocar todos os arquivos no mesmo disco apesar de tudo.

Espalhando os arquivos em alguns discos, mesmo que seja os arquivos de dados em um e os arquivos de rollback em outro, terá um considerável aumento de performance. Leia o livro Oracle DBA para maiores detalhes.

Eu não consigo rodar o dbassist

Isso é causado por alguns arquivos vazios na instalação inicial. Aplicando o patch deve resolver o problema.

Eu recebo a mensagem "ORA-01034: ORACLE not available"

Para encurtar a história o seu $ORACLE_SID provavelmente está configurado incorretamente ou não existe. Certifique-se que você configurou-o com o mesmo valor que você deu no 'dbassist' e que esse valor seja atribuído, isto é, export ORACLE_SID em qualquer Bourne shell.

Eu recebo a mensagem "ORA-01012: Not logged in"

Este é um erro bem comum e existem diferentes fatores que podem causá-lo.

Em primeiro lugar certifique-se que você não está usando a configuração "Shared Server" (também conhecida como MTS). Crie um banco usando "Dedicated Server" e depois o converta.

Se não for isso, verifique a variável de ambiente NLS_LANG. A opção mais fácil é não atribuir nada. Se você realmente quer usar, certifique-se que tem o valor correto. Não confunda os '1's(uns) com os 'l's (éles)!

Os data-files podem ter até 1Gb de tamanho?

O 'dbassist' não vai deixar você criar um data-file maior que 1Gb. Eu acredito que seja um bug pois o Linux pode ter arquivos de até 2Gb.

Note que isso não limita o tamanho do seu banco de dados para 1Gb ou menos. Um banco de dados é composto de várias tablespaces que podem ser compostas de vários data-files. Converse com seu amigo DBA para maiores informações.

Posso usar arquivos raw?

Versões recentes do kernel do Linux permitem que as aplicações acessem os discos diretamente. O Oracle é capaz de usar esta facilidade e pode (às vezes) aumentar a performance.

Técnicamente a resposta é 'sim', você pode usar arquivos raw, mas na realidade a resposta é 'não'. A melhoria de performace não compensará a sobrecarga de administração.

5. Configuração

5.1 Visão Geral

Parabéns, você tem o Oracle rodando no seu Linux. Você criou um banco de dados e consegue conectá-lo através do SQL*Plus.

É claro que não é só isso. Para ser ideal, você deve ser capaz de conectar como outro usuário Unix e de uma máquina diferente. É pra isso que serve essa seção desse documento.

5.2 Conectando como outro usuário

Alguns detalhes nessa seção são meio vagos mas não é a configuração que eu pessoalmente uso. Entretanto, fazendo um dos seguintes passos deve funcionar:

  • . oraenv
    
    se você está numa Bourne shell(como Bash ou pdksh)
  • source coraenv
    
    se você prefere C-Shell

Quando você roda "oraenv" você recebe a mensagem de erro se usar 'bash', a shell default do Linux. Parece que isso não causa problemas, portanto não se preocupe. Você sempre pode usar 'pdksh' se isso realmente te preocupar.

5.3 Conectar de uma outra máquina

Eu lembro disto sendo bem complicado com versões anteriores do Oracle, mas parece que agora funciona. Eu tenho certeza que deve significar que eu fiz algo de errado, esqueci alguma coisa ou existe uma imensa brecha de segurança.

Isto é o que eu lembro de ter feito:

  1. Logar no Linux como usuário 'oracle'
  2. Certifique-se que o "oraenv" foi executado, isto é, o seu $ORACLE_HOME configurado corretamente
  3. Digite:
    lsnrctl start
    
Na sua máquina cliente tudo o que você precisa é apontar para a máquina correta e instance de banco correta.

Se você quiser maior controle sobre os processos, o "Net8 Configuration Assistant" ('netec') deve te ajudar.

5.4 Conectar a uma outra máquina

Isto costumava ser complicado em versões antigas da Oracle envolvendo a edição de vários arquivos texto, com muitos deles usando uma complexa sintaxe.

Entretanto, no 8i, se você colocar o seu JVM pra funcionar, somente precisará do programa "Net8 Easy Config". Siga esses passos para permitir que sua máquina conecte ao banco de dados de outra máquina:

  1. Chame o "Net8 Easy Config" digitando netec no prompt estando logado como 'oracle'.
  2. Depois de um curto intervalo enquanto o Java trabalha, a tela de "Bem-vindo" aparece. Ele deve perguntar o que você quer fazer. Deixe os radio buttons da esquerda sem nada (o default é 'create') e entre com o nome do banco de dados no text box. Clique em 'Next' quando terminar.
  3. Selecione um dos protocolos oferecidos. Ao menos que o seu caso seja diferente, o default deverá ser 'TCP/IP' . Pressione 'Next'.
  4. Entre com o hostname (ou endereço IP) da máquina remota. O número da porta provavelmente não precisa ser alterado. Pressione 'Next'.
  5. Selecione o tipo de banco (8i ou outro qualquer) usando os radio buttons e digite o nome dele no text box apropriado. Pressione 'Next'.
  6. Você pode testar que a informação que você acabou de digitar faz sentido para o Oracle. Eu acho que 'netec' tem uma tendência para abortar se algum detalhe está errado. Pressione 'Next' quando tiver certeza que está tudo OK. Você pode ficar pressionando 'Back' para voltar e corrigir alguma coisa.
  7. Se você está satisfeito com toda a informação digitada, você pode pressionar 'Finish' e acabou!

Se você quiser mais controle sobre os processos, você precisará usar o "Net8 Assistant" -- uma grande janela com muitas opções confusas -- que podem ser iniciadas com o comando netasst.

5.5 Perguntas e respostas

Eu não consigo iniciar o 'netasst'

O problema é com alguns arquivos vazios. Instalando o patch deve resolver o problema.

6. Palavras Finais

6.1 Software Útil

Agora que você tem o Oracle instalado, você poderá tentar usá-lo. Entretanto, é possível fazer tudo do seu servidor, sendo melhor usar as facilidades de acessar via cliente-servidor.

Naturalmente o Oracle tem uma vasta coleção de softwares clientes bons, mesmo que não exista muito disso para Linux. Dos softwares da Oracle, eu recomendo os seguintes:

  • Oracle Enterprise Manager. é bem mais fácil não ter que lembrar a sintaxe de todos os comandos esquisitos, como ALTER USER ou ALTER SYSTEM.
  • Oracle WebDB. pode ser complicado de instalar, mas permite o desenvolvimento de web-sites impressionantes sem saber nada de HTML.

Mas a maioria dos melhores softwares vem de outros lugares...

  • Tool for Oracle Application Development (T.O.A.D.). Este é usado por ser gratuito, mas agora pertence à Quest Software. Você pode baixar a versão gratuita (se você está preparado pra fazer isso a cada bimestre) ou comprar um. Quando eu uso Oracle diariamente, este é o programa que eu utilizo. Não é tão limpo como alguns, mas tem tudo que você precisa.
  • SQLNavigator. Também da Quest Software. Eu não usei muito mas tem sido muito bem recomendado por quem utiliza.
  • OraSoft. Esses rapazes desenvolveram aplicações Oracle que só rodam em Linux. Eu também não os usei muito, mas parecem bons.
  • Orac. Outro que eu não usei muito, mas tem sido descrito como uma boa e configurável ferramenta para os DBAs.

6.2 Livros Úteis

Obtive a maioria das informações de amigos e livros. Eu não posso liberar meus amigos, mas posso recomendar esses livros:

  • "Oracle Essentials," Rick Greenwald, R. Stackowiak, Jonathan Stern, O'Reilly and Associates, ISBN 1-56592-708-7.
  • "Oracle 8i: The Complete Reference," Kevin Loney and George Koch, Oracle Press, ISBN 007212368.
  • "Oracle Performance Tuning," Mark Gurry and Peter Corrigan, O'Reilly and Associates, ISBN 1-56592-237-9.
  • "Oracle Design," Dave Ensor and Ian Stevenson, O'Reilly and Associates, ISBN 1-56592-268-9.
  • "PL/SQL Programming," Steven Feuerstein, O'Reilly and Associates, ISBN 1-56592-335-9.
  • "PL/SQL Built-in Packages," Steven Feuerstein, O'Reilly and Associates, ISBN 1-56592-375-8.

Você achará mais recomendações e revisões no meu website.

6.3 Sites Úteis

Existe muita coisa útil na web

  • Oracle Technet. Este é o site de suporte da Oracle (público e gratuito).
  • Oracle Metalink. Este é o site de suporte privado da Oracle (você precisa ter um contrato). Somente um pouco melhor que o da Technet!
  • Oracle Fans. Editoriais e fóruns. Sem relação oficial com a Oracle (logo, as informações são menos confiáveis!).
  • OraFaq. Um site cheio de perguntas e respostas para Oracle em todas as plataformas.
  • Oracle Linux mailing list (Mande um e-mail para ListGuru@fatcity.com com 'SUBSCRIBE ORACLE-LINUX-L' no corpo da mensagem.

 
 
 
 
Google
  Web Linuxinfor   
 

Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account

Document on this page is part of "Instalação do Oracle para Linux HOWTO". See Index Page for more info about Authorship and Copyright. Counter:

1999-2008 Linuxinfor.com. No rights reserved.