PowerProtect Data Manager:由于缺少库文件,Oracle 代理程序错误“无法加载 Oracle OCI 库”

Zusammenfassung: 当安装了多个版本的 Oracle 数据库服务器时,Oracle 库的库路径可能未正确更新。库文件可能“丢失”,无论它们缺失还是存在,但LDD_LIBRARY_PATH未配置为查找它们。

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

登录时出现以下错误 ddbmcon*.logOpAgentSvc*.log 这会阻止发现和备份运行:
Unable to load Oracle OCI library

Ursache

缺少库文件,或 LDD_LIBRARY_PATH 未正确配置。

Lösung

再次运行 ddbmcon 在调试模式下,获取有关错误性质的更多详细信息:

使用具有数据库访问权限的 Oracle 用户帐户登录时,创建名为以下项的文件:
.ddbmcon.debug
将文件复制到以下两个位置:
  • /opt/dpsapps/agentsvc/tmp - 这是代理服务的默认位置 tmp 文件夹,但它可能有所不同。
  • $RMAN_AGENT_HOME/tmp
创建文件 $RMAN_AGENT_HOME/bin/input.txt

将以下文本添加到input.txt文件中:
{"APIVersion": "2.3", "command": "DISCOVERY", "arguments": {"discoveryType": "APPLICATION_SYSTEMS", "type": "ORACLE_DATABSE_SYSTEM"}}
从 运行以下命令 $RMAN_AGENT_HOME
bin/ddbmcon -d9 < bin/input.txt
检查生成的 ddbmcon.<epoch time>.<counter>.log 调试日志。

调试文件名示例:
ddbmcon.1719066794.32076.log
以下是缺失库错误的序列:
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.
使用 ldd 要检查“未找到”错误中列出的库的库依赖项,请使用上面的输出:
[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
输出显示未找到两个突出显示的库文件。根据输出示例,使用以下命令搜索文件系统,以确定文件是否在计算机上:
find / -type f -name libnnz.so
find / -type f -name libclntshcore.so.
如果文件不在计算机上,请确定应安装哪个软件包来安装库。如果需要,请咨询 Oracle 支持。

如果在非默认位置找到库,请配置 LDD_LIBRARY_PATH 适用于 PowerProtect Data Manager 代理。

重命名 $RMAN_AGENT_HOME/bin/ddbmcon 设置为 $RMAN_AGENT_HOME/bin/ddbmcon.orig
找到 bash 可执行文件:
which bash
创建文件 ddbmcon.bash 使用此内容:
#!/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 "$@"
复制 ddbmcon.bash 设置为 ddbmcon

更改文件的所有者 ddbmcon 设置为 oracle:oinstall 或相应的 [oracle owner]:[oracle install group]

替换的 ddbmcon 脚本设置 LDD_LIBRARY_PATH 然后调用原始 ddbmcon 使用调用应用程序传递的命令字符串。

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.