DB2 백업이 "/usr/lib/libnsrdb2.so"SQL2071N 표시되며 실패합니다. 사유 코드: "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 백업이 실패하고 다음 오류가 발생합니다.

오류:

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을 로드합니다

OS 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가 OS 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

PID가 24856인 두 번째 db2vend가 NMDA OpenSSL 경로(/usr/lib/nsr/apps/lib64/libssl.so.1.1) 및 OS OpenSSL 경로에서 OpenSSL V1을 로드함

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. 그러면 db2vend가 OS 라이브러리 libssl.so.1.1 및 libcrypto.so.1.1을 강제로 로드하고, 결과적으로 공급업체 인터페이스 초기화 시 NMDA와 함께 배포된 라이브러리를 로드할 필요가 없기 때문에 OpenSSL 버전 3을 설치 제거하는 것이 도움이 될 수 있습니다
  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.