Log Management
- Log는 Memory 내 log buffer에 쓰여짐
- log buffer가 full 되거나 commit entry가 쓰여되면 log buffer가 할당된 log volume에 쓰여짐
- Log는 log segment (multiple log buffer가 합쳐짐)에 쓰여짐
- Log volume의 log segment(1G)로 많은 로그파일을 찾을 수 있음
- Log segments
- 파라미터 'Log segment status' 각 log segment의 size 정의
- log segment가 full이 되면 새로운 segment가 생성되거나 reuse 하게 됨 (log_mode에 따라서)
log_segment_size_mb
Status | Description |
Formatting | The log segment is being formatted and not yet used. |
Preallocated | The log segment has been preallocated, but never used. |
Writing |
The log segment is currently being written. |
Closed | The log segment is closed, not backed up and is still required for restart. |
Truncated | The log segment is not required for restart, but has not been backed up. |
BackedUp | The log segment has been backed up, but is still required for restart. |
Free | The log segment has been backed up, it is not required for restart and can be reused. |
Log Mode
- 시스템은 Log volume에서 차지하는 공간을 Log segment 별로 재사용할 수 있음
- 파라미터 'log_mode'는 log segment의 재검색 방법을 control함
- log_mode = overwrite
- Log segment는 Savepoint에 의해 free되며 log backup은 수행되지 않음
- Production system에서는 권고하지 않음
- Point-in-time recovery는 불가 (Data backup만 가능)
- log_mode = normal
- Backup 전까지 log segment는 유지됨
- 자동 log backup이 유효함 (time-based 또는 segment full인 경우)
- 파라미터 'basepath_logbackup'은 log backup directory 설정
- Backup catalog maintenance
- 마지막으로 commit된 상태까지 log replay로 가능한 데이터 백업의 복구
- log replay 없이 가능한 백업의 복구
- log_mode = overwrite
Log Area Backup
- Production system에서는 normal log mode를 사용
- normal log mode에서는 시스템은 자동으로 로그 백업을 생성하고 복구시에 data backup과 함께 사용됨
- 로그 백업을 위한 추가적인 백업 공간이 필요
- 따라서 데이터 및 로그 백업 관리를 위한 운영 개념과 정책 수립이 필요함
- Log mode 변경 시 restart 와 full backup 생성이 필요함
- Log Segment 백업
- Log segment의 재사용을 허용하기 위해서 시스템은 정기적인 로그 백업을 수행할 수 있음
- 로그백업 중에 log segment의 payload가 log area에서 서비스별 로그백업 파일로 복사됨
- Log segment 백업 상황
- Log segment가 full인 경우
- Log segment가 설정된 시간 임계를 넘어서 closed 된 경우
- Database가 start 되는 경우
- 로그백업 파일을 외부로 옮기지 않으면 파일시스템이 full 될 위험이 있음
- Log segment는 백업된 이후에 overwrite 가능해짐
- Log segment의 재사용을 허용하기 위해서 시스템은 정기적인 로그 백업을 수행할 수 있음
- 로그백업 설정
- 파일 type의 로그백업 위치 설정
- global.ini [persistence] -> 'basepath_logbackup'
- Default 값 = $(DIR_INSTANCE)/backup/log
- file-based backup으로 변경 가능하며 변경은 파라미터 변경 즉시 반영됨
- Third-party tool을 사용하는 경우
/usr/sap/<SID>/SYS/global/hdb/backint
- Automatic log backup 설정
- enable_auto_log_backup = YES (Default)
- Log backup timeout (Log backup 생성 주기)
- log_backup_timeout_s = 900 (default, 15분)
- 0 = log segment가 full인 경우 및 restart인 경우에만 써짐
- 파일 type의 로그백업 위치 설정
- 백업시간을 줄이기 위한 옵션
- Service consolidation
- 각 서비스들이 동시에 백업이 가능한지 체크하여 수행
- 하나의 package로 묶어서 수행
- 하나의 backup activity
- 이전 HANA release를 위해서 log segment size는 segment 별 4G 까지 증가 가능
- 각 서비스들이 동시에 백업이 가능한지 체크하여 수행
- Log backup interval mode
- Log segment가 끝나는 evnet 기반의 주기대신 15분주기로 주기를 줄일 수 있음
- log_backup_interval_mode
- immediate (Default) = event driven 수행
- service - wait the next service (15분 interval)
- Service consolidation
'Database' 카테고리의 다른 글
[HANA] HANA 2.0 SPS04 - Multi-target replication with A/A (0) | 2019.04.17 |
---|---|
[HANA] HANA 2.0 SPS04 - Invisible Take-over (0) | 2019.04.17 |
[HANA] HANA 2.0 SPS04 - Multi-Target Replication (0) | 2019.04.15 |
[HANA] HANA 2.0 SPS04 - Secondary Time Travel (0) | 2019.04.15 |
[HANA] HANA 2.0 SPS04 - TMPFS (0) | 2019.04.15 |