다음 섹션에는 전체+증분 백업 이미지에서 새 대상에 IBM Db2, SAP ASE, SAP IQ, SAP MaxDB 데이터베이스를 복구하는 방법에 관한 정보가 포함되어 있습니다.
절차
파일 기반 백업 이미지를 새 대상에 복원하려면 다음 안내를 따르세요.
App Manager Applications 목록에서 보호된 데이터베이스를 마우스 오른쪽 버튼으로 클릭하고 Access를 선택합니다.
복구할 최신 스냅샷을 선택하고 마운트를 클릭합니다.
마운트 위치 아래에 마운트 지점(예:
/mymountpoint
)을 제공합니다.데이터베이스 백업은
/mymountpoint
아래에 마운트되고 로그 백업은/mymountpoint_archivelog
아래에 마운트됩니다.다음 명령어를 실행하여
/var/act/log/UDSAgent.log
에서 마운트의JobID
를 가져옵니다.grep "mount -t " /var/act/log/UDSAgent.log | grep -w "(mountPoint provided in step 3)"|tail -1
예를 들면 다음과 같습니다.
# grep "mount -t " /var/act/log/UDSAgent.log| grep -w "/db2mnp" |tail -1 2019-11-18 23:59:19.740 GEN-INFO 22488 Job_0404207 Spawning cmd: mount -t ext4 /dev/act403764_DBDump_1574101677612/act_staging_vol /db2mnp 2>&1
ARCHIVELOG_MNT
는 _archivelog와 같습니다. 3단계를 참고하세요.루트로 데이터베이스 서버에 로그인합니다. 서버에서 디렉터리를 다음으로 변경합니다.
cd /act/custom_apps/(database type)/dump
명령줄에서 루트로 스크립트를 실행합니다.
마운트된 덤프 스냅샷 이미지의 마운트를 해제합니다.
필수 스크립트
데이터베이스를 새 타겟에 마운트하려면 먼저 스크립트를 준비해야 합니다.
IBM Db2
/act/custom_apps/db2/dump/ACT_DB2_dumprestore_newTarget.sh \
SOURCE_INSTANCE=SOURCE_INSTANCE_edited_value \
TARGET_MNT=TARGET_MNT_edited_value \
DB_LIST=DB_LIS_edited_value \
ARCHIVELOG_MNT=ARCHIVELOG_MNT_edited_value \
SOURCE_LOGARCHMETH1=SOURCE_LOGARCHMETH1_edited_value \
UNTIL_TIME=UNTIL_TIME_edited_value \
ACT_JOBNAME=ACT_JOBNAME_edited_value
다음을 바꿉니다.
SOURCE_INSTANCE
: Db2 인스턴스의 이름입니다.TARGET_MNT
: 마운트 작업 중에 제공된 마운트 지점입니다.DB_LIST
: 복원할 데이터베이스를 쉼표로 구분한 목록ARCHIVELOG_MNT
: 보관처리 로그 백업 마운트 지점 이름SOURCE_LOGARCHMETH1
: Db2 소스 데이터베이스 보관 로그 위치(로컬 디스크여야 함)UNTIL_TIME
: YYYY-MM-DD-HH.MI.SS 형식의 복구 시간입니다.ACT_JOBNAME
: 표준 마운트 작업의 작업 이름입니다.Db2 인스턴스에 연결하여 데이터베이스가 복구되고 온라인 상태인지 확인합니다.
db2 connect to <dbname>
db2 select db_status FROM SYSIBMADM.SNAPDB
SAP ASE
/act/custom_apps/sybase/dump/ACT_SYBASE_dumprestore_newTarget.sh
SYBOSUSER
SRC_SYBASE_SQLD
TARGET_DB_USER
TARGET_DBUSER_PASSWD
ACT_NAME
TARGET_MNT_PNT
SRC_DBNAME
UNTIL_TIME
BEGIN_TIME
LOG_BKP_MNTPT
SRC_PAGE_SIZE
SAP ASE 인스턴스에 연결하고 데이터베이스가 복구되어 온라인 상태인지 확인합니다.
isql -U<username> -P<password> -S<SAP ASE server name>
sp_helpdb
go
SAP IQ
/act/custom_apps/sybase/dump/ACT_SYBASE_dumprestore_newTarget.sh
OSUSER
TARGET_MNT
SRC_DB_DBA_USER
SRC_DB_DBA_PWD
SYBIQ_HOME
VERSION
ACT_NAME
CATALOG_DB_FILE
LOG_BKP_MNTPT
IQ 데이터베이스에 연결하고 데이터베이스가 복구되고 온라인 상태인지 확인합니다.
dbisql -c "uid=<username>;pwd=<password>;eng=<engine name>;dbn=<database name>;" -nogui
SAP MaxDB
/act/custom_apps/maxdb/dump/ACT_Maxdb_dumpRestore_newTarget.conf
OSUSER
SRC_DBSID
TARGET_DB_USER
TARGET_DBUSER_PASSWD
TARGET_SERVER_NAME
DUMPBKPLOC
DBADMIN_PWD
UNTIL_TIME
LOG_MNT_PNT
DATA_MNT_PNT
JobID
MANIFEST_FILE_LOC
LOG_BKP_MNTPT
BEGIN_TIME
SRC_DB_VERSION
다음 명령어를 실행하여 이러한 값을 가져올 수 있습니다.
DUMPBKPLOC:
df -h | grep <DUMPBKPLOC> | awk '{print $NF}' cat /var/act/log/UDSAgent.log | grep -w <DUMPBKPLOC> | tail -1 | cut -d']' -f2 | cut -d' ' -f2
JobID:
cat /var/act/log/UDSAgent.log | grep <JOBID> | awk -F"disk at " '{print $2}'
MANIFEST_FILE_LOC:
cat /var/act/log/UDSAgent.log | grep -i "Manifest_File_" | awk -F"disk at " '{print $2}'
LOG_BKP_MNTPT:
df -h | grep "_archivelog" | awk '{print $NF}'
BEGIN_TIME:
cat /var/act/log/UDSAgent.log | grep "BEGIN_TIME" | awk -F"BEGIN_TIME=" '{ print $2 }' | cut -d' ' -f1-2 | cut -d'"' -f2
SRC_DB_VERSION:
dbmcli -d <SRC_DBSID> dbm_version | grep "VERSION" | awk -F"= " '{print $2}'
MaxDB 인스턴스에 연결하고 데이터베이스가 복구되어 온라인 상태인지 확인합니다.
dbmcli -d <TARGET_SERVER_NAME> -u
<TARGET_DB_USER>,<TARGET_DBUSER_PASSWD>
db_state