반응형
Notice
Recent Posts
Recent Comments
160x600
관리 메뉴

세상 모든 잡동사니 집합소 스레TV

[HANA DB] Savepoint 본문

기술/HANA DB

[HANA DB] Savepoint

스레TV 2025. 6. 3. 13:49
728x90
반응형

🔍 Savepoint란?

Savepoint는 SAP HANA 메모리에 있는 변경된 데이터를 주기적으로 **디스크(data volume)**에 저장하는 프로세스입니다. 이를 통해 장애 발생 시 데이터 손실을 최소화하고, 정합성 있는 복구가 가능하도록 보장합니다.


🧠 왜 필요한가?

SAP HANA는 기본적으로 메모리 중심 구조이므로, 시스템이 비정상 종료되면 메모리의 변경 데이터가 사라질 수 있습니다.
이를 방지하기 위해 SAP HANA는 다음 두 가지를 병행합니다:

  1. Redo Log (로그 기반 변경 추적)
  2. Savepoint (주기적으로 메모리 데이터를 디스크에 저장)

즉, 장애 발생 시:

  • 마지막 Savepoint + 이후의 로그를 재적용하여 복구합니다.

⚙️ Savepoint 동작 구조

  • SAP HANA는 기본적으로 5분마다 자동으로 savepoint를 수행합니다. (savepoint_interval 설정 가능)
  • 수행 시, 모든 변경된 데이터 페이지가 data volume에 영구 저장됩니다.
  • **다중 서비스(예: indexserver, name server)**는 각자 savepoint를 수행합니다.

단계별 처리 흐름:

  1. 메모리에서 페이지를 dirty 상태로 변경
  2. Savepoint 발생 시 dirty page를 disk에 기록
  3. 새 savepoint가 성공하면 이전 savepoint는 obsolete 처리

🟡 트리거되는 경우

트리거 상황설명
⏱️ 정기 savepoint 기본 300초(5분)마다 자동 수행 (savepoint_interval)
🧪 Delta Merge 수행 시 새로운 main storage를 저장하기 위해 반드시 수행됨
🔄 Manual Savepoint 명령 관리자가 ALTER SYSTEM SAVEPOINT 명령으로 수동 수행 가능
📴 Soft Shutdown 시스템 종료 시 데이터 손실 방지를 위해 자동 savepoint 수행
🛠️ 특정 작업 수행 후 예: 테이블 리디자인, 파티셔닝, 백업 전 조건 등
 

❗ Savepoint ≠ Commit

구분설명
Commit SQL 트랜잭션을 종료하고 redo log에 기록
Savepoint 메모리의 실제 데이터 페이지를 디스크에 flush
 

즉, 커밋했다고 해서 Savepoint가 발생하지는 않음, 반대로 Savepoint는 항상 로그와 함께 동작하여 트랜잭션 정합성을 유지합니다.


📁 Savepoint 관련 디렉터리

  • data volume 경로 하위에 실제 페이지가 저장됩니다 (예: /usr/sap/<SID>/HDB<instance>/data/)
  • Savepoint 파일과 Redo Log는 함께 장애 복구에 사용됨

🧩 관련 명령어

sql
복사편집
ALTER SYSTEM SAVEPOINT;
  • 강제로 Savepoint를 발생시킵니다.
    대용량 로딩 전후, 유지보수 작업 중 안정성 확보 용도로 자주 사용됩니다.

📈 모니터링

  • SAP HANA Cockpit / HANA Studio에서 savepoint 상태 및 경과 시간 확인 가능
  • 뷰 예시:
    • M_SAVEPOINTS
    • M_BACKUP_CATALOG
    • M_SYSTEM_OVERVIEW

🧾 예시 로그 메시지

sql
복사편집
Savepoint started for service 'indexserver' Savepoint completed successfully, duration: 400 ms

✅ 정리 요약

항목내용
주기 기본 5분 (조정 가능)
주요 목적 데이터 영속성 보장, 장애 복구 가능
저장 위치 Data Volume (디스크)
차이점 Commit은 로그만, Savepoint는 실제 데이터 페이지 저장
트리거 주기적, Delta Merge, Soft Shutdown, 수동 명령 등
 
300x250
반응형

'기술 > HANA DB' 카테고리의 다른 글

[HANA DB] Kernel Profiler  (1) 2025.06.05
[HANA DB] INIFILE ADMIN  (0) 2025.06.04
[HANA] Catalog Object  (0) 2025.06.02
[HANA] SQL Trace Tool  (0) 2025.06.01
[HANA DB] SAP HANA Cockpit vs SAP HANA Database Explorer  (0) 2025.05.31
[HANA] hdblcm 툴  (0) 2025.05.30
[HANA BC] Workload Class  (0) 2025.05.29
Comments