Dumpla
dumpla#
개요#
dumpla는 이진 형식으로 저장된 loganchor 파일의 내용을 문자 형식으로 보여준다.
loganchor는 Altibase의 물리적인 저장 정보(테이블스페이스, 데이터 파일)와 복구를 위해 필요한 정보들이 저장되는 파일이다. Altibase는 데이터베이스 생성 시(CREATE DATABASE 실행 시)에 이 파일을 생성하고 altibase.properties에 설정된 세 개의 LOGANCHOR_DIR 디렉토리에 loganchor#(#은 1, 2, 3)의 이름으로 저장, 관리한다. 세 개의 파일은 모두 같은 내용으로 파일이 손상될 경우를 대비해 복사본을 유지하는 것이다. 데이터베이스 생성 시에 현재 데이터베이스에 존재하는 테이블스페이스와 이에 속한 데이터 파일, 그리고 복구 관련 정보들이 저장된다. 데이터베이스 구동 시에 이 정보들을 이용하여 데이터베이스를 메모리에 적재하고 서비스를 준비한다.
dumpla <loganchor_file_name>
구문#
설명#
loganchor 파일의 내용을 텍스트 형식으로 보여준다.
사용 예#
쉘 프롬프트 상에서 다음과 같이 수행한다.
$ dumpla loganchor0
출력 항목#
dumpla는 loganchor의 내용을 다음과 같은 섹션으로 구분하여 출력한다.
[LOGANCHOR ATTRIBUTE SIZE]#
현재 Loganchor에 어떤 데이터들이 얼마만큼의 공간을 사용하고 있는지를 나타낸다. 내용은 다음과 같다.
필드 이름 | 값(단위 바이트) | 설명 |
---|---|---|
Loganchor Static Area | 0 ~ unsigned int 타입의 최대값 | Loganchor에 고정적으로 들어가는 정보의 크기를 나타낸다. 주로 복구 시 필요한 정보들이다. |
Tablespace Attribute | 0 ~ unsigned int 타입의 최대값 | 저장된 Tablespace Attribute의 크기 |
Checkpoint Path Attribute | 0 ~ unsigned int 타입의 최대값 | 저장된 Checkpoint Path의 크기 |
Checkpoint Image Attribute | 0 ~ unsigned int 타입의 최대값 | 저장된 Checkpoint Image Attribute의 크기 |
Disk Datafile Attribute | 0 ~ unsigned int 타입의 최대값 | 저장된 Disk Datafile Attribute의 크기 |
[LOGANCHOR HEADER]#
데이터베이스의 버전 및 체크포인트 Log Sequence Number (LSN) 등의 loganchor Header 정보를 나타낸다. LSN에 대한 자세한 설명은 "dumplf 의 출력"절을 참고하기 바란다.
필드 이름 | 값 | 설명 |
---|---|---|
Binary DB Version | Major.minor.patch 예: 6.2.1 | 현재 Loganchor를 생성한 데이터베이스 실행 파일의 데이터베이스 버전이다. |
Archivelog Mode | Archivelog |No-Archivelog | 데이터베이스가 아카이브 모드로 운영 중인지를 나타낸다. |
Transaction Segment Entry Count | ||
Begin Checkpoint LSN | FileNo, Offset | Begin Checkpoint의 LSN을 나타낸다. |
End Checkpoint LSN | FileNo, Offset | End Checkpoint의 LSN을 나타낸다. |
Disk Redo LSN | FileNo, Offset | DRDB의 Redo 시작 위치를 나타낸다. |
LSN for Recovery from Replication | FileNo, Offset | 이중화를 이용한 복구 시 이 LSN부터 시작한다. |
Server Status | SERVER_SHUTDOWN |SERVER_STARTED | 서버의 상태를 기록한다. 서버 시작 시 이 값이 SERVER_STARTED로 바뀌고 종료 시 SERVER_SHUTDOWN으로 바뀐다. 서버 시작 시에 이 값이 SERVER_STATED로 되어있다면 이전에 서버가 비정상 종료한 것이므로 재구동시 복구를 수행한다. |
End LSN | FileNo, Offset | 서버가 정상 종료한 후 재구동시 첫 번째 기록되는 로그의 LSN |
ResetLog LSN | FileNo, Offset | 불완전 복구시 설정된 Reset LSN |
Last Created Logfile Num | 0 ~ unsigned int 타입의 최대값 | 가장 최근에 생성된 로그 파일 번호 |
Delete Logfile(s) Range | 삭제되는 첫 번째 ~ 마지막 파일 번호 | 가장 최근에 삭제된 로그 파일의 범위. 체크포인트 완료 후 더 이상 필요 없는 파일을 삭제하는데 이 때 지워지는 파일의 범위를 기록한다. |
Update And Flush Count | 0 ~ unsigned int 타입의 최대값 | logAnchor 파일이 변경되고 플러시된 횟수 |
New Tablespace ID | 0 ~ unsigned int 타입의 최대값 | 새로운 테이블스페이스 식별자. 테이블스페이스가 생성될 경우 이 값을 자신의 테이블스페이스 식별자로 사용하고 이 값을 증가시킨다. |
[TABLESPACE ATTRIBUTE]#
메모리 테이블스페이스 정보를 나타낸다. 내용은 다음과 같다.
필드 이름 | 값 | 설명 |
---|---|---|
Tablespace ID | 0 ~ unsigned int 타입의 최대값 | 테이블스페이스 식별자 |
Tablespace Name | 문자열 예: SYS_TBS_MEM_DIC | 테이블스페이스 이름 |
New Database File ID | 0 ~ unsigned int 타입의 최대값 | 테이블스페이스에서 새로 파일이 추가될 때 파일이 가지게 될 파일의 식별자 |
Extent Management | FREE EXTENT BITMAP TABLESPACE | 디스크 테이블스페이스의 extent가 어떤 방식으로 관리되는지를 나타낸다. 현재는 FREE EXTENT BITMAP TABLESPACE만 지원한다. FREE EXTENT BITMAP TABLESPACE를 enable하면, 디스크 테이블스페이스의 free extents를 관리하는데 bitmaps을 사용한다. |
Tablespace Status | 아래 TABLESPACE ATTRIBUTE 설명 참조 | 테이블스페이스의 현재 상태를 나타낸다. |
Tablespace Type | 0 ~ 8 아래 TABLESPACE ATTRIBUTE 설명 참조 | 테이블스페이스의 타입 |
Checkpoint Path Count | Checkpoint Path 개수 | 체크포인트 이미지 파일들의 경로. 메모리 테이블스페이스에만 적용된다. |
Autoextend Mode | AutoExtend |Non-AutoExtend | 테이블스페이스가 자동으로 크기가 확장되는지 여부를 가리킨다. 메모리 테이블스페이스에만 적용된다. |
Shared Memory Key | 0 ~ unsigned int 타입의 최대값 | 데이터베이스가 공유 메모리 버전이면 이 때 공유 메모리에 데이터베이스가 사용한 공유 메모리의 키 |
Stable Checkpoint Image Num | 0|1 | 체크포인트가 완료된 체크포인트 이미지의 파일 번호 메모리 테이블스페이스에만 적용된다. |
Init Size | 0 ~ unsigned int 타입의 최대값 | 초기 크기(Mbyte) |
Next Size | 0 ~ unsigned int 타입의 최대값 | 자동 확장되는 증가분의 크기(Mbyte) |
Maximum Size | 0 ~ unsigned int 타입의 최대값 | 최대 크기 |
Split File Size | 0 ~ unsigned int 타입의 최대값 | 메모리 테이블스페이스는 파일을 이 크기 단위로 생성한다. 예를 들어 테이블스페이스가 1G이고, Split file size가 100MB이면 10개의 파일이 생성된다. |
[TABLESPACE ATTRIBUTE] 내용 중 Tablespace Status의 의미는 다음과 같다.
값 | 설명 |
---|---|
OFFLINE | 오프라인 상태 |
ONLINE | 온라인 상태 |
INCONSISTENT | 비일관적인 상태 |
CREATING | 생성 중 |
DROPPING | 삭제를 수행한 트랜잭션이 아직 커밋하지 않아 삭제 중인 상태 |
DROP_PENDING | 삭제를 수행한 트랜잭션이 커밋 이후 Pending 연산 중인 상태 |
DROPPED | 삭제된 상태 |
DISCARDED | Discard된 상태 |
BACKUP | 백업 중 |
SWITCHING_TO_OFFLINE | OFFLINE으로 바뀌고 있는 중 |
SWITCHING_TO_ONLINE | ONLINE으로 바뀌고 있는 중 |
[TABLESPACE ATTRIBUTE] 내용 중 Tablespace Type의 의미는 다음과 같다.
값 | 설명 |
---|---|
0 | MEMORY SYSTEM DICTIONARY |
1 | MEMORY SYSETM DATA |
2 | MEMORY USER DATA |
3 | DISK SYSTEM DATA |
4 | DISK USER DATA |
5 | DISK SYSTEM TEMP |
6 | DISK USER TEMP |
7 | DISK SYSTEM UNDO |
8 | VOLATILE USER DATA |
[MEMORY CHECKPOINT PATH ATTRIBUTE]#
메모리 테이블스페이스의 체크포인트 저장 경로를 나타낸다. 내용은 다음과 같다.
필드 이름 | 값 | 설명 |
---|---|---|
Tablespace ID | 0 ~ unsigned int 타입의 최대값 | 테이블스페이스 식별자 |
Checkpoint Path | 문자열 | 체크포인트 이미지 파일의 경로 |
[MEMORY CHECKPOINT IMAGE ATTRIBUTE]#
메모리 테이블스페이스의 체크포인트 이미지 정보를 나타낸다. 내용은 다음과 같다.
필드 이름 | 값 | 설명 |
---|---|---|
Tablespace ID | 0 ~ unsigned int 타입의 최대값 | 테이블스페이스 식별자 |
File Number | 0 ~ unsigned int 타입의 최대값 | 파일 번호 |
Create LSN | < FileNo, Offset> | 데이터 파일 생성 시점의 LSN |
Create On Disk (PingPong 0) | Created|None | 0번 체크포인트 이미지 파일 생성 유무 |
Create On Disk (PingPong 1) | Created|None | 1번 체크포인트 이미지 파일 생성 유무 |
ChangeTracking DataFileDescSlot ID | 0 ~ unsigned int 타입의 최대값 | Memory checkpoint image와 묶여있는 ChangeTracking의 DataFileDescSlot ID |
[DISK DATABASE FILE ATTRIBUTE]#
디스크 테이블스페이스의 데이터 파일 저장 경로를 나타낸다. 내용은 다음과 같다.
필드 이름 | 값 | 설명 |
---|---|---|
Tablespace ID | 0 ~ unsigned int 타입의 최대값 | 테이블스페이스 식별자 |
Database File ID | 0 ~ unsigned int 타입의 최대값 | 데이터 파일 식별자 |
Database File Path | 문자열 | 데이터 파일의 경로 |
Create LSN | < FileNo, Offset> | 데이터 파일이 생성된 시점의 시스템 로그의 마지막 LSN |
Database File Status | 아래 DISK_DATABASE_FILE_ATTRIBUTE 설명 참조 | 파일의 상태 |
Autoextend Mode | AutoExtend| Non-AutoExtend | 자동 확장 설정 여부 |
Create Mode | 0|1 | 0: 재사용 1: 새로 생성한 파일 |
Initialize Size | 0 ~ unsigned int 타입의 최대값 | 초기 크기(MByte) |
Current Size | 0 ~ unsigned int 타입의 최대값 | 현재 크기(MByte) |
Next Size | 0 ~ unsigned int 타입의 최대값 | 확장 단위 크기(MByte) |
Maximum Size | 0 ~ unsigned int 타입의 최대값 | 최대 크기(MByte) |
ChangeTracking DataFileDescSlot ID | 0 ~ unsigned int 타입의 최대값 | Disk datafile과 묶여있는 ChangeTracking의 DataFileDescSlot ID |
[DISK DATABASE FILE ATTRIBUTE] 내용 중 Database File Status의 의미는 다음과 같다.
값 | 설명 |
---|---|
OFFLINE | 오프라인 상태 |
ONLINE | 온라인 상태 |
CREATING | 생성 중 |
BACKUP_BEGIN | 백업을 시작한 상태 |
BACKUP_END | 백업을 종료 중인 상태 |
DROPPING | 삭제 중인 상태 |
RESIZING | 크기를 바꾸고 있는 상태 |
DROPPED | 삭제된 상태 |
다음은 dumpla의 출력 결과 중 일부분을 예로 보인 것이다.
[ DISK DATABASE FILE ATTRIBUTE ]
Tablespace ID [ 2 ]
Database File ID [ 0 ]
Database File Path C:\altibase_home\dbs\system001.dbf]
Create LSN [0, 4443 ]
Database File Status [ ONLINE ]
Autoextend Mode [ Non-Autoextend ]
Create Mode [ 0 ]
Initialize Size [10 MBytes(1280 Pages)]
Current Size [10 MBytes(1280 Pages)]
Next Size [0 MBytes(0 Pages)]
Maximum Size [0 MBytes(0 Pages)]
[Change Tracking ATTRIBUTE]#
changeTracking 파일에 대한 정보를 나타낸다. 내용은 다음과 같다.
필드 이름 | 값 | 설명 |
---|---|---|
Last Flush LSN | FileNo, Offset | 메모리상의 변경된 데이터가 파일로 기록된 시점의 LSN |
Change Tracking Manager State | 문자열. 예: CHANGE TRACKING MGR ENABLED | 페이지 변경 추적 기능의 상태 |
Change Tracking File Name | 문자열 | 변경 추적 파일의 경로 |
[Backup Info ATTRIBUTE]#
backupinfo 파일에 대한 정보를 나타낸다. 내용은 다음과 같다.
필드 이름 | 값 | 설명 |
---|---|---|
Delete Archivelog File Range | FileNo, Offset | 삭제해도 완전 복구가 가능한 아카이브 로그 파일의 번호 |
Last Backup LSN | FileNo, Offset | 최근에 수행된 백업 시점의 LSN |
Before Backup LSN | FileNo, Offset | 최근에 수행된 백업이전에 수행된 LSN |
Backup Info Manager State | 문자열. 예: BACKUP INFO MGR INITIALIZED | 백업 정보 파일 관리자의 상태 |
Backup Directory Path | 문자열. 예: /backup_dir/ | 백업 경로 |
Backup Info File Name | 문자열 | 백업 정보 파일 이름 |