PowerProtect Data Manager: Błąd agenta Oracle "Unable to load Oracle OCI library" z powodu brakujących plików biblioteki

Summary: Jeśli zainstalowano więcej niż jedną wersję serwera bazy danych Oracle, ścieżki bibliotek dla bibliotek Oracle mogą nie być poprawnie aktualizowane. Pliki bibliotek mogą "brakować" niezależnie od tego, czy ich brakuje, czy są obecne, ale LDD_LIBRARY_PATH nie jest skonfigurowany do ich wyszukiwania. ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Następujący błąd podczas logowania ddbmcon*.log lub OpAgentSvc*.log co uniemożliwia uruchomienie wykrywania i tworzenia kopii zapasowej:
Unable to load Oracle OCI library

Cause

Brak plików biblioteki lub LDD_LIBRARY_PATH nie jest poprawnie skonfigurowany.

Resolution

Uruchom ddbmcon w trybie debugowania, aby uzyskać dodatkowe szczegóły na temat charakteru błędu:

Po zalogowaniu się przy użyciu konta użytkownika Oracle z dostępem do bazy danych utwórz plik o nazwie:
.ddbmcon.debug
Skopiuj plik do tych dwóch lokalizacji:
  • /opt/dpsapps/agentsvc/tmp - Jest to domyślna lokalizacja dla usługi agenta tmp folder, ale może być inny.
  • $RMAN_AGENT_HOME/tmp
Tworzenie pliku $RMAN_AGENT_HOME/bin/input.txt.

Dodaj następujący tekst do pliku input.txt:
{"APIVersion": "2.3", "command": "DISCOVERY", "arguments": {"discoveryType": "APPLICATION_SYSTEMS", "type": "ORACLE_DATABSE_SYSTEM"}}
Uruchom następujące polecenie z $RMAN_AGENT_HOME:
bin/ddbmcon -d9 < bin/input.txt
Sprawdź wynikowy ddbmcon.<epoch time>.<counter>.log Dzienniki debugowania.

Przykładowa nazwa pliku debugowania:
ddbmcon.1719066794.32076.log
Oto sekwencja brakujących błędów biblioteki:
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.
Użyj ldd Aby sprawdzić zależności biblioteki dla biblioteki wymienionej w błędzie "Nie znaleziono", jak w tym przykładzie, korzystając z danych wyjściowych z góry:
[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
Dane wyjściowe pokazują, że dwa wyróżnione pliki biblioteki nie zostały znalezione. Przeszukaj system plików za pomocą następujących poleceń, na podstawie przykładowych danych wyjściowych, aby określić, czy pliki znajdują się na komputerze:
find / -type f -name libnnz.so
find / -type f -name libclntshcore.so.
Jeśli plików nie ma na komputerze, określ, jaki pakiet powinien zostać zainstalowany, aby zainstalować biblioteki. W razie potrzeby skonsultuj się z pomocą techniczną Oracle.

Jeśli biblioteki znajdują się w lokalizacji innej niż domyślna, skonfiguruj parametr LDD_LIBRARY_PATH dla agenta PowerProtect Data Manager.

Przemianować $RMAN_AGENT_HOME/bin/ddbmcon na $RMAN_AGENT_HOME/bin/ddbmcon.orig
Odszukaj plik wykonywalny bash:
which bash
Tworzenie pliku ddbmcon.bash z tą treścią:
#!/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 "$@"
Kopiowanie ddbmcon.bash na ddbmcon

Zmienianie właściciela pliku ddbmcon na oracle:oinstall lub odpowiedni [właściciel oracle]:[grupa instalacyjna oracle]

Podstawiony ddbmcon skrypt ustawia parametr LDD_LIBRARY_PATH a następnie wywołuje oryginał ddbmcon przy użyciu ciągu polecenia, który został przekazany przez aplikację wywołującą.

Affected Products

PowerProtect Data Manager, PowerProtect Data Manager Software
Article Properties
Article Number: 000226523
Article Type: Solution
Last Modified: 08 Aug 2024
Version:  2
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.