Skip to main content
NetApp Solutions SAP
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

HANA 데이터베이스 복구

기여자

다음은 HANA 데이터베이스 복구를 위한 단계입니다

필요한 SAP 서비스를 시작합니다.

vm-pr1:~ # systemctl start sapinit

다음 출력에서는 필요한 프로세스를 보여 줍니다.

vm-pr1:/ # ps -ef | grep sap
root     23101     1  0 11:29 ?        00:00:00 /usr/sap/hostctrl/exe/saphostexec pf=/usr/sap/hostctrl/exe/host_profile
pr1adm   23191     1  3 11:29 ?        00:00:00 /usr/sap/PR1/HDB01/exe/sapstartsrv pf=/usr/sap/PR1/SYS/profile/PR1_HDB01_vm-pr1 -D -u pr1adm
sapadm   23202     1  5 11:29 ?        00:00:00 /usr/sap/hostctrl/exe/sapstartsrv pf=/usr/sap/hostctrl/exe/host_profile -D
root     23292     1  0 11:29 ?        00:00:00 /usr/sap/hostctrl/exe/saposcol -l -w60 pf=/usr/sap/hostctrl/exe/host_profile
root     23359  2597  0 11:29 pts/1    00:00:00 grep --color=auto sap

다음 하위 섹션에서는 복제된 로그 백업을 사용한 정방향 복구와 함께 복구 프로세스에 대해 설명합니다. 복구는 시스템 데이터베이스에 대한 HANA 복구 스크립트 및 테넌트 데이터베이스에 대한 hdbsql 명령을 사용하여 실행됩니다.

최신 HANA 데이터 볼륨 백업 저장점으로 복구

최신 백업 저장점에 대한 복구는 pr1adm 사용자로 다음 명령을 사용하여 실행됩니다.

  • 시스템 데이터베이스

recoverSys.py --command "RECOVER DATA USING SNAPSHOT CLEAR LOG”
  • 테넌트 데이터베이스

Within hdbsql: RECOVER DATA FOR PR1 USING SNAPSHOT CLEAR LOG

또한 HANA Studio 또는 Cockpit을 사용하여 시스템 및 테넌트 데이터베이스 복구를 실행할 수도 있습니다.

다음 명령 출력에서는 복구 실행을 보여 줍니다.

시스템 데이터베이스 복구

pr1adm@vm-pr1:/usr/sap/PR1/HDB01> HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG"
[139702869464896, 0.008] >> starting recoverSys (at Fri Feb 19 14:32:16 2021)
[139702869464896, 0.008] args: ()
[139702869464896, 0.009] keys: {'command': 'RECOVER DATA USING SNAPSHOT CLEAR LOG'}
using logfile /usr/sap/PR1/HDB01/vm-pr1/trace/backup.log
recoverSys started: ============2021-02-19 14:32:16 ============
testing master: vm-pr1
vm-pr1 is master
shutdown database, timeout is 120
stop system
stop system on: vm-pr1
stopping system: 2021-02-19 14:32:16
stopped system: 2021-02-19 14:32:16
creating file recoverInstance.sql
restart database
restart master nameserver: 2021-02-19 14:32:21
start system: vm-pr1
sapcontrol parameter: ['-function', 'Start']
sapcontrol returned successfully:
2021-02-19T14:32:56+00:00  P0027646      177bab4d610 INFO    RECOVERY RECOVER DATA finished successfully
recoverSys finished successfully: 2021-02-19 14:32:58
[139702869464896, 42.017] 0
[139702869464896, 42.017] << ending recoverSys, rc = 0 (RC_TEST_OK), after 42.009 secs
pr1adm@vm-pr1:/usr/sap/PR1/HDB01>

테넌트 데이터베이스 복구

소스 시스템에서 pr1adm 사용자에 대한 사용자 저장소 키가 생성되지 않은 경우 대상 시스템에서 키를 생성해야 합니다. 키에 구성된 데이터베이스 사용자는 테넌트 복구 작업을 실행할 수 있는 권한이 있어야 합니다.

pr1adm@vm-pr1:/usr/sap/PR1/HDB01> hdbuserstore set PR1KEY vm-pr1:30113 <backup-user> <password>

이제 테넌트 복구가 hdbsql을 사용하여 실행됩니다.

pr1adm@vm-pr1:/usr/sap/PR1/HDB01> hdbsql -U PR1KEY
Welcome to the SAP HANA Database interactive terminal.
Type:  \h for help with commands
       \q to quit
hdbsql SYSTEMDB=> RECOVER DATA FOR PR1 USING SNAPSHOT CLEAR LOG
0 rows affected (overall time 66.973089 sec; server time 66.970736 sec)
hdbsql SYSTEMDB=>

이제 HANA 데이터베이스가 가동 및 실행되고 HANA 데이터베이스용 재해 복구 워크플로우가 테스트되었습니다.

로그/카탈로그 백업을 사용한 정방향 복구를 사용한 복구

로그 백업과 HANA 백업 카탈로그가 소스 시스템에서 복제되고 있습니다.

사용 가능한 모든 로그 백업을 사용한 복구는 pr1adm 사용자로 다음 명령으로 실행됩니다.

  • 시스템 데이터베이스

recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP '2021-02-20 00:00:00' CLEAR LOG USING SNAPSHOT"
  • 테넌트 데이터베이스

Within hdbsql: RECOVER DATABASE FOR PR1 UNTIL TIMESTAMP '2021-02-20 00:00:00' CLEAR LOG USING SNAPSHOT
참고 사용 가능한 모든 로그를 사용하여 복구하려면 나중에 언제든지 복구 명령문의 타임 스탬프로 사용할 수 있습니다.

또한 HANA Studio 또는 Cockpit을 사용하여 시스템 및 테넌트 데이터베이스 복구를 실행할 수도 있습니다.

다음 명령 출력에서는 복구 실행을 보여 줍니다.

시스템 데이터베이스 복구

pr1adm@vm-pr1:/usr/sap/PR1/HDB01> HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP '2021-02-20 00:00:00' CLEAR LOG USING SNAPSHOT"
[140404915394368, 0.008] >> starting recoverSys (at Fri Feb 19 16:06:40 2021)
[140404915394368, 0.008] args: ()
[140404915394368, 0.008] keys: {'command': "RECOVER DATABASE UNTIL TIMESTAMP '2021-02-20 00:00:00' CLEAR LOG USING SNAPSHOT"}
using logfile /usr/sap/PR1/HDB01/vm-pr1/trace/backup.log
recoverSys started: ============2021-02-19 16:06:40 ============
testing master: vm-pr1
vm-pr1 is master
shutdown database, timeout is 120
stop system
stop system on: vm-pr1
stopping system: 2021-02-19 16:06:40
stopped system: 2021-02-19 16:06:41
creating file recoverInstance.sql
restart database
restart master nameserver: 2021-02-19 16:06:46
start system: vm-pr1
sapcontrol parameter: ['-function', 'Start']
sapcontrol returned successfully:
2021-02-19T16:07:19+00:00  P0009897      177bb0b4416 INFO    RECOVERY RECOVER DATA finished successfully, reached timestamp 2021-02-19T15:17:33+00:00, reached log position 38272960
recoverSys finished successfully: 2021-02-19 16:07:20
[140404915394368, 39.757] 0
[140404915394368, 39.758] << ending recoverSys, rc = 0 (RC_TEST_OK), after 39.749 secs

테넌트 데이터베이스 복구

pr1adm@vm-pr1:/usr/sap/PR1/HDB01> hdbsql -U PR1KEY
Welcome to the SAP HANA Database interactive terminal.
Type:  \h for help with commands
       \q to quit

hdbsql SYSTEMDB=> RECOVER DATABASE FOR PR1 UNTIL TIMESTAMP '2021-02-20 00:00:00' CLEAR LOG USING SNAPSHOT
0 rows affected (overall time 63.791121 sec; server time 63.788754 sec)

hdbsql SYSTEMDB=>

이제 HANA 데이터베이스가 가동 및 실행되고 HANA 데이터베이스용 재해 복구 워크플로우가 테스트되었습니다.

최신 로그 백업의 일관성을 확인합니다

로그 백업 볼륨 복제는 SAP HANA 데이터베이스에서 실행되는 로그 백업 프로세스와 독립적으로 수행되기 때문에 재해 복구 사이트에 일관되지 않은 로그 백업 파일이 열려 있을 수 있습니다. 최신 로그 백업 파일만 정합성이 보장되지 않을 수 있으며, 이러한 파일은 "hdbbackupcheck" 도구를 사용하여 재해 복구 사이트에서 정방향 복구를 수행하기 전에 확인해야 합니다.

"hdbbackupcheck" 도구에서 최신 로그 백업에 대한 오류를 보고하는 경우 최신 로그 백업 세트를 제거하거나 삭제해야 합니다.

pr1adm@hana-10: > hdbbackupcheck /hanabackup/PR1/log/SYSTEMDB/log_backup_0_0_0_0.1589289811148
Loaded library 'libhdbcsaccessor'
Loaded library 'libhdblivecache'
Backup '/mnt/log-backup/SYSTEMDB/log_backup_0_0_0_0.1589289811148' successfully checked.

시스템 및 테넌트 데이터베이스의 최신 로그 백업 파일에 대해 검사를 실행해야 합니다.

"hdbbackupcheck" 도구에서 최신 로그 백업에 대한 오류를 보고하는 경우 최신 로그 백업 세트를 제거하거나 삭제해야 합니다.