반응형
Notice
Recent Posts
Recent Comments
160x600
세상 모든 잡동사니 집합소 스레TV
[HANA DB] Savepoint 본문
728x90
반응형
🔍 Savepoint란?
Savepoint는 SAP HANA 메모리에 있는 변경된 데이터를 주기적으로 **디스크(data volume)**에 저장하는 프로세스입니다. 이를 통해 장애 발생 시 데이터 손실을 최소화하고, 정합성 있는 복구가 가능하도록 보장합니다.
🧠 왜 필요한가?
SAP HANA는 기본적으로 메모리 중심 구조이므로, 시스템이 비정상 종료되면 메모리의 변경 데이터가 사라질 수 있습니다.
이를 방지하기 위해 SAP HANA는 다음 두 가지를 병행합니다:
- Redo Log (로그 기반 변경 추적)
- Savepoint (주기적으로 메모리 데이터를 디스크에 저장)
즉, 장애 발생 시:
- 마지막 Savepoint + 이후의 로그를 재적용하여 복구합니다.
⚙️ Savepoint 동작 구조
- SAP HANA는 기본적으로 5분마다 자동으로 savepoint를 수행합니다. (savepoint_interval 설정 가능)
- 수행 시, 모든 변경된 데이터 페이지가 data volume에 영구 저장됩니다.
- **다중 서비스(예: indexserver, name server)**는 각자 savepoint를 수행합니다.
단계별 처리 흐름:
- 메모리에서 페이지를 dirty 상태로 변경
- Savepoint 발생 시 dirty page를 disk에 기록
- 새 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