PowerProtect Data Manager: Oracle Agent-Fehler "Oracle OCI-Bibliothek kann nicht geladen werden" aufgrund fehlender Bibliotheksdateien

Zusammenfassung: Wenn mehr als eine Version eines Oracle-Datenbankservers installiert ist, werden die Bibliothekspfade für Oracle-Bibliotheken möglicherweise nicht ordnungsgemäß aktualisiert. Bibliotheksdateien fehlen möglicherweise, unabhängig davon, ob sie fehlen oder vorhanden sind, aber der LDD_LIBRARY_PATH ist nicht so konfiguriert, dass sie gefunden werden. ...

Dieser Artikel gilt für Dieser Artikel gilt nicht für Dieser Artikel ist nicht an ein bestimmtes Produkt gebunden. In diesem Artikel werden nicht alle Produktversionen aufgeführt.

Symptome

Der folgende Fehler tritt bei der Anmeldung auf: ddbmcon*.log oder OpAgentSvc*.log Dies verhindert, dass die Erkennung und das Backup ausgeführt werden:
Unable to load Oracle OCI library

Ursache

Bibliotheksdateien fehlen oder LDD_LIBRARY_PATH nicht ordnungsgemäß konfiguriert ist.

Lösung

Führen Sie ddbmcon im Debug-Modus, um zusätzliche Details zur Art des Fehlers zu erhalten:

Wenn Sie mit einem Oracle-Benutzerkonto mit Datenbankzugriff angemeldet sind, erstellen Sie eine Datei mit dem Namen:
.ddbmcon.debug
Kopieren Sie die Datei an diese beiden Speicherorte:
  • /opt/dpsapps/agentsvc/tmp - Dies ist der Standardspeicherort für die tmp Ordner, aber es kann anders sein.
  • $RMAN_AGENT_HOME/tmp
Erstellen einer Datei $RMAN_AGENT_HOME/bin/input.txtaus.

Fügen Sie der input.txt Datei den folgenden Text hinzu:
{"APIVersion": "2.3", "command": "DISCOVERY", "arguments": {"discoveryType": "APPLICATION_SYSTEMS", "type": "ORACLE_DATABSE_SYSTEM"}}
Führen Sie den folgenden Befehl aus $RMAN_AGENT_HOME:
bin/ddbmcon -d9 < bin/input.txt
Untersuchen Sie die resultierenden ddbmcon.<epoch time>.<counter>.log Debug-Protokolle.

Beispiel für den Namen einer Debug-Datei:
ddbmcon.1719066794.32076.log
Hier ist eine Sequenz der fehlenden Bibliotheksfehler:
2024-06-14T20:53:40.198Z ddbmcon: build machine = linux86w
2024-06-14T20:53:40.198Z ddbmcon: Oracle library: /u01/app/oracle/product/19.3.0/dbhome_1/lib64/libclntsh.so not found.
2024-06-14T20:53:40.198Z ddbmcon: Loading library: /u01/app/oracle/product/19.3.0/dbhome_1/lib/libclntsh.so
2024-06-14T20:53:40.198Z ddbmcon: dlopen(NULL): failure = libnnz19.so: cannot open shared object file: No such file or directory
2024-06-14T20:53:40.198Z ddbmcon: Unable to load Oracle OCI library.
Verwenden Sie ldd So überprüfen Sie die Bibliotheksabhängigkeiten für die im Fehler "Not Found" aufgeführte Bibliothek, wie in diesem Beispiel anhand der Ausgabe von oben:
[root@lab logs]# ldd -v /u01/app/oracle/product/19.3.0/dbhome_1/lib/libclntsh.so.19.1
linux-vdso.so.1 => (0x00007ffe4d7e5000)
libnnz19.so => not found
libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007fbb3f248000)
libm.so.6 => /usr/lib64/libm.so.6 (0x00007fbb3ef46000)
libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007fbb3ed2a000)
libnsl.so.1 => /usr/lib64/libnsl.so.1 (0x00007fbb3eb10000)
librt.so.1 => /usr/lib64/librt.so.1 (0x00007fbb3e908000)
libaio.so.1 => /usr/lib64/libaio.so.1 (0x00007fbb3e706000)
libresolv.so.2 => /usr/lib64/libresolv.so.2 (0x00007fbb3e4ec000)
libc.so.6 => /usr/lib64/libc.so.6 (0x00007fbb3e11e000)
/lib64/ld-linux-x86-64.so.2 (0x00007fbb435ef000)
libclntshcore.so.19.1 => not found
Die Ausgabe zeigt, dass die beiden markierten Bibliotheksdateien nicht gefunden wurden. Durchsuchen Sie das Dateisystem mit diesen Befehlen, basierend auf der Beispielausgabe, um festzustellen, ob sich die Dateien auf dem Computer befinden:
find / -type f -name libnnz.so
find / -type f -name libclntshcore.so.
Wenn sich die Dateien nicht auf dem Computer befinden, bestimmen Sie, welches Paket installiert werden soll, damit die Bibliotheken installiert werden. Wenden Sie sich bei Bedarf an den Oracle-Support.

Wenn Bibliotheken an einem nicht standardmäßigen Speicherort gefunden werden, konfigurieren Sie die LDD_LIBRARY_PATH für den PowerProtect Data Manager-Agent.

Umbenennen $RMAN_AGENT_HOME/bin/ddbmcon to $RMAN_AGENT_HOME/bin/ddbmcon.orig
Suchen Sie die ausführbare Bash-Datei:
which bash
Erstellen einer Datei ddbmcon.bash Mit diesem Inhalt:
#!/usr/bin/bash  #determined from `which bash`
export LD_LIBRARY_PATH=<path to OCI libraries>:$LD_LIBRARY_PATH
/home/oracle/opt/dpsapps/rmanagent/bin/ddbmcon.orig "$@"
Kopieren ddbmcon.bash to ddbmcon

Ändern des Eigentümers der Datei ddbmcon to oracle:oinstall oder den entsprechenden [Oracle Owner]:[Oracle install group]

Die ersetzte ddbmcon Skript legt die LDD_LIBRARY_PATH und ruft dann das Original auf ddbmcon Verwenden Sie die Befehlszeichenfolge, die von der aufrufenden Anwendung übergeben wurde.

Betroffene Produkte

PowerProtect Data Manager, PowerProtect Data Manager Software
Artikeleigenschaften
Artikelnummer: 000226523
Artikeltyp: Solution
Zuletzt geändert: 08 Aug. 2024
Version:  2
Antworten auf Ihre Fragen erhalten Sie von anderen Dell NutzerInnen
Support Services
Prüfen Sie, ob Ihr Gerät durch Support Services abgedeckt ist.