DB2 備份失敗,並顯示SQL2071N「/usr/lib/libnsrdb2.so」。原因碼:"2"

Summary: DB2 從 v10.5 升級到 11.5 系統 (作業系統) 上有 OpenSSL 3 版,NMDA 隨附 OpenSSL 版本 1 如果系統上有 OpenSSL 版本 3。 db2vend 程序僅取決於 OpenSSL 版本 3,但是 libnsrdb2 程式會載入 NMDA 中的 OpenSSL 版本

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

將資料庫從 V10.5 升級到 V11.5 後,DB2 備份失敗,並出現以下錯誤

Error:

DB2 backup fails with SQL2071N "/usr/lib/libnsrdb2.so". Reason code: "2"

DB2DIAG記錄有下列錯誤。

2025-01-13-20.16.25.864739+060 E79273449E571         LEVEL: Error (OS)
PID     : 29019                TID : 139807381163456 PROC : db2vend (db2logmgr.meth1 - 267 (
INSTANCE: db2prd               NODE : 000
HOSTNAME: labhostPRD-00
FUNCTION: DB2 UDB, oper system services, sqloLoadModule, probe:191
CALLED  : OS, -, dlopen
DATA #1 : Library name or path, 21 bytes
/usr/lib/libnsrdb2.so
DATA #2 : shared library load flags, PD_TYPE_LOAD_FLAGS, 4 bytes
0
DATA #3 : String, 92 bytes
/usr/lib/nsr/apps/lib64/libssl.so.1.1: undefined symbol: EVP_idea_cbc, version OPENSSL_1_1_0
 
2025-01-13-20.16.25.864904+060 I79274021E462         LEVEL: Error
PID     : 29019                TID : 139807381163456 PROC : db2vend (db2logmgr.meth1 - 267 (
INSTANCE: db2prd               NODE : 000
HOSTNAME: labhostPRD-00
FUNCTION: DB2 UDB, database utilities, sqluFencedVendorProcessCB::loadLibrary, probe:104
MESSAGE : ZRC=0x870F009B=-2029059941=SQLO_MOD_LOAD_FAILED
          "Dynamic library load failed."
DATA #1 : String, 21 bytes
/usr/lib/libnsrdb2.so

 

Cause

若系統已安裝 OpenSSL 第 3 版。
db2vend 程序僅取決於 OpenSSL 版本 3,但是 libnsrdb2 程式會載入 NMDA 中的 OpenSSL 版本 1

作業系統 OpenSSL 路徑: /usr/lib64/
NMDA OpenSSL 路徑: /usr/lib/nsr/apps/lib64/

以下是非工作主機的代碼片段。

二 db2vend 程序

labhostPRD-00:(/root)(root)#ps -ef | grep db2vend | grep -v grep
db2prd   23876 23452  0 Feb05 ?        00:00:00 db2vend (PD Vendor Process - 1) 0
db2prd   24856 23452  0 Feb11 ?        00:00:04 db2vend (db2logmgr.meth1 - 27 (PRD)) 0

第一個具有 PID 23876 的 db2vend 從作業系統 OpenSSL 路徑載入 OpenSSL V3

labhostPRD-00:(/root)(root)#lsof -p 23876 | grep -E "lib(ssl|crypto)"
db2vend 23876 db2prd DEL    REG    8,4           51527190 /usr/lib64/libcrypto.so.3.1.4
db2vend 23876 db2prd DEL    REG    8,4           51527189 /usr/lib64/libcrypto.so.1.1
db2vend 23876 db2prd DEL    REG    8,4           51784225 /usr/lib64/libssl.so.3.1.4

第二個 db2vend PID 24856 從 NMDA OpenSSL 路徑 (/usr/lib/nsr/apps/lib64/libssl.so.1.1) 載入 OpenSSL V1 > 作業系統 OpenSSL 路徑

labhostPRD-00:(/root)(root)#lsof -p 24856 | grep -E "lib(ssl|crypto)"
db2vend 24856 db2prd mem    REG    8,4    721456 50354171 /usr/lib/nsr/apps/lib64/libssl.so.1.1
db2vend 24856 db2prd mem    REG    8,4   5715664 50354411 /usr/lib64/libcrypto.so.3.1.4
db2vend 24856 db2prd mem    REG    8,4   3924472 50360290 /usr/lib64/libcrypto.so.1.1
db2vend 24856 db2prd mem    REG    8,4    743784 50354413 /usr/lib64/libssl.so.3.1.4

以上混淆 OpenSSL 版本是造成錯誤的原因。
NMDA OpenSSL version 1 is compiled with "IDEA encryption algorithm for EVP" but OS OpenSSL Version 1 are not.

Resolution

  1. 此問題已在 NMDA 19.12 中解決,NMDA 隨附 OpenSSL V3。
  2. 卸載 OpenSSL 版本 3 很可能會有所説明,因為 db2vend 隨後將強制載入作業系統庫 libssl.so.1.1 和 libcrypto.so.1.1,因此,供應商介面的初始化不需要載入與 NMDA 一起分發的庫
  3. 因應措施:用作解決方法的 DB2 環境變數強制 /usr/lib/nsr/apps/lib64/ 路徑,使用以下 IBM 文件。  DB2LIBPATH [ibm.com]此超連結會帶您前往 Dell Technologies 以外的網站。

 

Products

NetWorker Family, NetWorker
Article Properties
Article Number: 000297010
Article Type: Solution
Last Modified: 20 Mar 2025
Version:  2
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.