PowerProtect Data Manager: 라이브러리 파일이 누락되어 Oracle Agent 오류 "Oracle OCI 라이브러리를 로드할 수 없음"

Summary: 둘 이상의 Oracle 데이터베이스 서버 버전이 설치된 경우 Oracle 라이브러리의 라이브러리 경로가 제대로 업데이트되지 않을 수 있습니다. 라이브러리 파일이 누락되거나 존재하는지 여부에 관계없이 '누락'될 수 있지만 LDD_LIBRARY_PATH가 이를 찾도록 구성되지 않았습니다.

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

다음 오류는 로그인하는 중입니다. ddbmcon*.log 또는 OpAgentSvc*.log 이로 인해 검색 및 백업이 실행되지 않습니다.
Unable to load Oracle OCI library

Cause

라이브러리 파일이 누락되었거나 LDD_LIBRARY_PATH 가 올바르게 구성되지 않았습니다.

Resolution

Windows 업그레이드를 실행하라는 프롬프트에 아래 내용이 표시될 때까지 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.
파일이 컴퓨터에 없는 경우 라이브러리를 설치하기 위해 설치해야 하는 패키지를 결정합니다. 필요한 경우 오라클 고객지원센터에 문의하십시오.

라이브러리가 기본 위치가 아닌 위치에 있는 경우 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 script는 LDD_LIBRARY_PATH 그런 다음 원본을 호출합니다. ddbmcon 호출 응용 프로그램에서 전달한 명령 문자열을 사용합니다.

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.