Installieren des Oracle Instant Client

Installieren des Oracle Instant Client

Ich versuche, Oracle SQL Developer in 16.04 zum Laufen zu bringen. Ich bin der Antwort von PhatHV gefolgtDasFrage, und die Desktop-App öffnet sich einwandfrei und scheint korrekt zu sein, aber wenn ich versuche, eine Verbindung zu einer Datenbank herzustellen (und ich weiß, dass dies funktionieren sollte, da ich in Windows eine Verbindung zu derselben Datenbank hergestellt habe), wird ein Fehlerfenster mit der Meldung angezeigt

An error was encountered performing the requested operation:

no ocijdbc12 in java.library.path

Vendor code 0

Weiß jemand, was diesen Fehler verursacht und wie man ihn behebt?

Antwort1

Bei mir funktioniert es nur, wenn ich die Umgebungsvariable LD_LIBRARY_PATH auf das Instant Client-Verzeichnis setze, und zwar in /etc/ld.so.conf.d/oracle.conf. Die Ausführung sudo ldconfigfunktioniert jedoch nicht.

Antwort2

Okay, ich habe es jetzt (mit etwas Hilfe) geschafft, dieses Problem auf zwei verschiedenen Computern zu beheben, aber es ist schon so lange her, dass ich mich nicht mehr an alles erinnere, was wir getan haben, um es zu beheben. Ich werde zumindest das einschließen, woran ich mich erinnere, und diese Antwort vielleicht später ergänzen. Ich verstehe nicht alles, was hinter den Kulissen passiert, also entschuldige ich mich, wenn es unnötige Schritte gibt. Wie ich jedoch in der ursprünglichen Frage erwähnt habe, bin ich einer anderen Antwort von PhatHV gefolgt und werde die dort beschriebenen Schritte hier nicht wiederholen. Es wird davon ausgegangen, dass Sie sein Tutorial befolgt haben, bevor Sie hierher gekommen sind.

Installieren des Oracle Instant Client

Für SQL Developer Version 4.2.0 benötigte ich Version 12.2.0.1.0 des Instant Client. Den Download finden SieHier. Wählen Sie den „Instant Client für Linux“, der Ihrer Architektur entspricht (ich habe eine 64-Bit-Maschine, also habe ich die Option x86-64 geöffnet). Laden Sie die folgenden 5 Dateien herunter (ersetzen Sie Versionsnummer und Architektur, wo zutreffend):

  • 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

Falls Sie es noch nicht haben, müssen Sie ein Tool namens: installieren alien.

sudo apt-get install alien

Navigieren Sie zu Ihrem Download-Verzeichnis (oder wo auch immer Sie die Dateien gespeichert haben) und führen Sie es sudo alien -ifür jede Datei aus, um sie zu installieren. Wir verwenden alienes, weil es sie vor der Installation zuerst in konvertiert .deb. Als Hinweis: alienEs erzeugt nicht sofort viel Ausgabe, also sieht es vielleicht so aus, als würde es nichts tun, aber ich verspreche, dass es das tut.

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

Profil- und Umgebungsvariablen bearbeiten

Für alle diese Befehle müssen Sie Root-Benutzer sein. Führen Sie den Befehl aus, sudo suum sich als Root anzumelden.

Bearbeiten, /etc/profile.d/oracle.shum Folgendes einzuschließen:

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

Beachten Sie hier die Versionsnummer in der ORACLE_HOMEVariable. Meine ist wieder 12.2, aber Ihre könnte etwas anderes sein. Es ist auch üblich, zu setzen TNS_ADMIN=$ORACLE_HOME/ora, aber ich habe mich dagegen entschieden, damit meine .oraDateien nicht in einem versionsabhängigen Verzeichnis (wie 12.2) liegen.

Bearbeiten /etc/ld.so.conf.d/oracle.conf, um Folgendes einzuschließen

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

Notieren Sie sich erneut die Versionsnummer.

Schließlich/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

Wenn Sie mit der Bearbeitung aller Dateien fertig sind, führen Sie

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

Drücken Sie <Ctrl> + Doder geben Sie ein exit, um zum normalen Benutzer zurückzukehren.

Als Drittanbietertreiber hinzufügen

Ich weiß nicht, ob dieser Schritt unbedingt erforderlich ist, aber auf meinem Computer funktioniert es. Wenn Sie SQL Developer öffnen, können Sie zu navigieren Tools -> Preferences -> Database -> Third Party JDBC Driversund darauf klicken Add Entry. Öffnen Sie /usr/lib/oracle/12.2/client64und klicken Sie auf lib. Es wird hervorgehoben und Sie können dann darauf klicken, selectum es der Liste hinzuzufügen.

Nach diesem Schritt müssen Sie SQL Developer schließen und erneut öffnen. Sobald Sie das alles getan haben,hoffentlichSie erhalten keine weiteren Fehler.

verwandte Informationen