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 estrangando 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.
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ê.
runInstaller
porque quase sempre
falha. Ao invés disso, vá ao diretório install/linux
no CD e execute runIns.sh
logado como 'oracle'.
/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 especificados todos os detalhes.
/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.'
Infelizmente o CD que a Oracle te enviu 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.
$ORACLE_HOME
).
mkdir /tmp/orapatch cd /tmp/orapatch
tar zvxf $ORACLE_HOME/patches/linux815patches.tgz
./linux_815patches.sh
Note que é importante não descompactar o arquivo que no diretório corrente. O installer do patch verifica que o numero correto de arquivos presentes e não roda se não for o número correto. É claro que se ele achar o próprio arquivo do patch compactado ele vai encontrar arquivos demais!
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
a ULIMIT algum valor finito.
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 porblema é bem mais comum no RedHat 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.
Isto não é tão incomum. Geralmente significa que você está rodando uma versão antiga do Enlightment. 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 maquina, qualquer coisa além de 200Mb deve ser suficiente.
Qual versão do JVM você está usando? Muita gente diz que funciona com outras versões, mas eu quando eu baixei pro JRE 1.1.6 (que a documentação da Oracle recomenda) a maioria dos problemas acabaram.
Duas outras coisasa 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.
Você tem GLIBC 2.1, não é mesmo?
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 o 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.
A resposta para essa pergunta deu um bom trabalho, pesar da resposta 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 RedHat 6.0, mas precisa arrumar mais para outras distribuições ou versões mais recentes do RH.
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.
Existe algo errado com o programa de instalação.Assumindo que você tenha espaço livre suficiente, vai instalar sem problemas.