NetBackup NBDB가 내려갔을 때 - 트랜잭션 로그 손상 복구 절차
Problem
NBDB 트랜잭션 로그(/usr/openv/db/data/NBDB.log)가 손상되거나,
너무 커지거나, 디스크 공간이 부족해지면 EMM 데이터베이스가 내려갑니다.
증상 / 에러 메시지
# /usr/openv/db/bin/nbdb_ping
Database [NBDB] is not available.
관리 콘솔이나 CLI에서 실행하는 일부 작업이 에러를 반환하고, Problems 리포트에는 다음과 같은 줄이 남습니다.
NBEMM returned an extended error status: Database server is down (4005006)
가장 쓸모 있는 메시지는 /usr/openv/db/log/server.log에 있습니다.
Error: Cannot open transaction log file -- Can't use log file
"/usr/openv/db/data/NBDB.log" since it is shorter than expected
시스템 로그도 함께 봅니다. 예를 들어 HP-UX에서 볼륨 공간이 부족한 경우:
syslog: V-111-1056 [DA_Thread_Pool::CheckNBDBDiskFull] Not enough disk space on
file system. Shutting down NetBackup database (NBDB).
Cause
NetBackup 하위에서 동작하는 ASA(Sybase) 데이터베이스의 트랜잭션 로그가 손상되거나 정상 동작 범위를 넘어 커질 수 있습니다. 예를 들어 파일 크기를 2GB로 제한하는 파일 시스템에서는 로그가 2GB에 도달하는 순간 잘려나가면서 손상됩니다. 트랜잭션 로그는 온라인 카탈로그 백업 시 truncate되는데, 카탈로그 백업이 돌지 않았다면 로그가 계속 커집니다.
트랜잭션 로그 문제로 ASA DB가 실패하면 다음 증상이 함께 나타날 수 있습니다.
- 카탈로그 백업과 일반 백업이 hang 상태로 멈춤
- 운영자가 큐에 걸린 작업을 취소할 수 없음
- NetBackup을 재시작해도 EMM 데이터베이스가 돌아오지 않음
Solution — 트랜잭션 로그 재생성
1. NetBackup이 떠 있다면 중지합니다.
/usr/openv/netbackup/bin/goodies/netbackup stop
2. 모든 NetBackup 프로세스가 종료됐는지 확인하고, 남은 것은 수동으로 종료합니다.
/usr/openv/netbackup/bin/bpps -a
3. NBDB와 BMRDB를 auto_start 대상에서 제거합니다.
/usr/openv/db/bin/nbdb_admin -auto_start NONE
이때 databases.conf에서 어떤 DB가 제거됐는지 꼭 메모해두세요. 예:
Successfully removed NBDB from databases.conf
Successfully removed BMRDB from databases.conf
Successfully removed NBAZDB from databases.conf
4. ASA 데이터베이스 엔진을 시작합니다.
/usr/openv/db/bin/nbdbms_start_server
5. 셸에 필요한 환경 변수를 로드합니다.
. /usr/openv/db/vxdbms_env.sh
source /usr/openv/db/vxdbms_env.csh입니다.라이브러리 경로가 비어 있는 경우 — 플랫폼별로 변수 이름이 다릅니다.
- HP-UX:
SHLIB_PATH - Solaris / SLES / RHEL:
LD_LIBRARY_PATH - AIX:
LIBPATH
LD_LIBRARY_PATH=/usr/openv/db/lib:/usr/openv/db/bin
export LD_LIBRARY_PATH
echo $LD_LIBRARY_PATH # 설정 확인
NetBackup 경로가 /usr/openv가 아니라면 위 경로를 맞게 수정하세요.
이 현상은 vxdbms_env.sh를 sh 셸에서 실행할 때 나타나며,
csh 환경이나 bash에서는 문제가 되지 않습니다.이 단계가 정상적으로 끝나지 않으면 다음 단계로 넘어가지 말고 기술지원에 문의하세요. 경로 변수가 설정되지 않은 상태에서는 데이터베이스를 제대로 복구할 수 없습니다.
6. 앞으로 트랜잭션 로그가 손상되거나 비대해지는 것을 막기 위해, Sybase 체크포인트마다 로그를 truncate하도록 설정합니다.
cd /usr/openv/var/global
vi server.conf
# 파일 끝의 "-ud" 뒤에 -m 을 추가하고 저장
7. NBDB가 있는 디렉터리로 이동합니다.
cd /usr/openv/db/data
8. 손상된 트랜잭션 로그를 제거하거나 이름을 바꿉니다.
mv NBDB.log NBDB.log.bad
mv NBAZDB.log NBAZDB.log.bad
# BMR을 사용한다면
mv BMRDB.log BMRDB.log.bad
9. 데이터베이스 복구를 강제 실행합니다.
(NBDB.log는 10단계 전까지 생성되지 않습니다.)
/usr/openv/db/bin/dbeng11 -f /usr/openv/db/data/NBDB.db
# BMR을 사용한다면
/usr/openv/db/bin/dbeng11 -f /usr/openv/db/data/BMRDB.db
dbengXX의 XX는 NetBackup 버전마다 다릅니다.
설치된 실제 바이너리를 확인하고 그 버전으로 실행해야 합니다.
10. 데이터베이스를 중지합니다.
/usr/openv/db/bin/nbdbms_start_server -stop
11. 3단계에서 메모해둔 DB들을 auto_start에 다시 추가합니다.
/usr/openv/db/bin/nbdb_admin -auto_start NBDB
/usr/openv/db/bin/nbdb_admin -auto_start NBAZDB
# BMR을 사용한다면
/usr/openv/db/bin/nbdb_admin -auto_start BMRDB
12. 데이터베이스를 시작합니다.
/usr/openv/db/bin/nbdbms_start_server
13. 정상 동작하는지 확인합니다.
/usr/openv/db/bin/nbdb_ping
Database [NBDB] is alive and well on server [master].
14. 나머지 NetBackup 서비스를 기동합니다.
/usr/openv/netbackup/bin/goodies/netbackup start
참고 문서
- DOCUMENTATION: How to troubleshoot and correct the error "Fatal error: disk write failure /usr/openv/db/data/NBDB.log"
- 사용 중인 NetBackup 버전의 Troubleshooting Guide
'NetBackup > Troubleshooting' 카테고리의 다른 글
| NetBackup - Windows 서버 백업이 유독 느릴 때 NIC 설정 점검 (0) | 2026.08.11 |
|---|---|
| NetBackup - Windows 서버에서 특정 경로가 백업되지 않을 때 (DFSR) (0) | 2026.08.10 |
| NetBackup bptestbpcd 응답이 너무 느릴 때 - hosts 파일부터 확인하자 (0) | 2026.08.10 |
| NetBackup 클라이언트 설치 실패 - libnsl.so.1 없음 (RHEL 8 이상) (0) | 2026.08.10 |
| NetBackup 설치 실패 - nbwebsvc / nbwebgrp 계정이 없을 때 (+ 세마포어·ulimit 경고) (0) | 2026.08.10 |