Instale o Oracle Instant Client

Instale o Oracle Instant Client

Estou tentando fazer com que o Oracle SQL Developer funcione em 16.04. Eu segui a resposta do PhatHV paraessepergunta, e o aplicativo de desktop abre bem e parece correto, mas quando tento me conectar a um banco de dados (e sei que isso deve funcionar porque me conectei ao mesmo banco de dados no Windows), uma janela de erro aparece dizendo

An error was encountered performing the requested operation:

no ocijdbc12 in java.library.path

Vendor code 0

Alguém sabe o que causa esse erro e como corrigi-lo?

Responder1

Para mim, isso só funciona quando eu defino a variável de ambiente LD_LIBRARY_PATH para o diretório do Instant Client, fazendo isso em /etc/ld.so.conf.d/oracle.conf e a execução sudo ldconfignão.

Responder2

Ok, agora consegui (com alguma ajuda) corrigir esse problema em dois computadores separados, mas já faz tempo suficiente que não me lembro de tudo o que fizemos para corrigi-lo. Incluirei pelo menos o que me lembro e posso alterar esta resposta mais tarde. Não entendo tudo nos bastidores, então peço desculpas se houver etapas desnecessárias. Porém, como mencionei na pergunta original, segui outra resposta dada pelo PhatHV e não vou repetir aqui os passos ali encontrados. Presume-se que você seguiu o tutorial dele antes de vir aqui.

Instale o Oracle Instant Client

Para o SQL Developer versão 4.2.0, precisei obter a versão 12.2.0.1.0 do Instant Client. Você pode encontrar o downloadaqui. Selecione o "Instant Client for Linux" que corresponde à sua arquitetura (eu tenho uma máquina de 64 bits, então abri a opção x86-64. Baixe os 5 arquivos a seguir (substituindo o número da versão e a arquitetura quando apropriado):

  • oracle-instantclient12.2-basic-12.2.0.1.0-1.x86-64.rpm
  • oracle-instantclient12.2-devel-12.2.0.1.0-1.x86-64.rpm
  • oracle-instantclient12.2-jdbc-12.2.0.1.0-1.x86-64.rpm
  • oracle-instantclient12.2-odbc-12.2.0.1.0-1.x86-64.rpm
  • oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86-64.rpm

Se ainda não o tiver, você precisará instalar uma ferramenta chamada alien:

sudo apt-get install alien

Navegue até o diretório Downloads (ou onde você salvou os arquivos) e execute sudo alien -icada arquivo para instalá-lo. Usamos alienporque primeiro os converte .debantes de instalá-los. Como observação, aliennão produz muita saída imediatamente, então pode parecer que não está fazendo nada, mas prometo que está.

sudo alien -i oracle-instantclient12.2-basic-12.2.0.1.0-1.x86-64.rpm
sudo alien -i oracle-instantclient12.2-devel-12.2.0.1.0-1.x86-64.rpm
sudo alien -i oracle-instantclient12.2-jdbc-12.2.0.1.0-1.x86-64.rpm
sudo alien -i oracle-instantclient12.2-odbc-12.2.0.1.0-1.x86-64.rpm
sudo alien -i oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86-64.rpm

Editar variáveis ​​de perfil e ambiente

Você precisará ser um usuário root para todos esses comandos. Execute sudo supara fazer login como root.

Edite /etc/profile.d/oracle.shpara conter o seguinte:

export ORACLE_HOME=/usr/lib/oracle/12.2/client64
export TNS_ADMIN=/usr/lib/oracle/ora
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

Observe aqui o número da versão na ORACLE_HOMEvariável. Novamente, o meu é 12.2, mas o seu pode ser outra coisa. Também é comum definir TNS_ADMIN=$ORACLE_HOME/ora, mas optei por não fazê-lo para que meus .oraarquivos não fiquem em um diretório dependente de versão (como 12.2).

Editar /etc/ld.so.conf.d/oracle.confpara conter

/usr/lib/oracle/12.2/client64/lib/

Novamente, observe o número da versão.

Finalmente, em/etc/environment

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/default-java/"
CLASSPATH=/usr/lib/jvm/default-java/lib:/usr/lib/jvm/default-java/include:/usr/lib/oracle/12.2/client64/lib

Depois de terminar de editar todos esses arquivos, execute

ldconfig
source /etc/profile.d/oracle.sh
source /etc/environment

Clique <Ctrl> + Dou digite exitpara reverter para um usuário normal.

Adicionar como driver de terceiros

Não sei se esta etapa é estritamente necessária, mas funciona no meu computador. Se você abrir o SQL Developer, poderá navegar Tools -> Preferences -> Database -> Third Party JDBC Driverse clicar em Add Entry. Abra /usr/lib/oracle/12.2/client64e clique em lib. Ele será destacado e você poderá clicar selectpara adicioná-lo à lista.

Após esta etapa você precisará fechar e reabrir o SQL Developer. Depois de fazer tudo isso,esperançosamentevocê não receberá mais erros.

informação relacionada