콘텐츠로 이동

백업 및 복구 관련 프로퍼티#

데이터베이스가 변경될 때 변경 로그를 유지하는데, 이에 관한 처리를 어떻게 할 것인지를 정하는 프로퍼티들이 있다.

ARCHIVE_DIR#

데이터 타입#

String

기본값#

$ALTIBASE_HOME/arch_logs

속성#

읽기 전용, 다중 값

값의 범위#

없음

설명#

데이터베이스를 아카이브 로그(Archivelog) 모드로 운영하는 경우 아카이브 로그파일들이 백업될 디렉토리를 설정하는 프로퍼티이다. 사용자가 명시적으로 이 값을 지정하지 않으면 기본으로 Altibase가 설치된 디렉토리 밑의 arch_logs 디렉토리에 아카이브 로그파일들이 백업된다. 이 프로퍼티의 개수는 LOG_DIR 프로퍼티 개수와 정확히 일치해야 한다.

사용자가 이 값을 명시적으로 지정할 수 있으나 지정된 디렉토리는 미리 생성되어 있어야 하며, 그렇지 않은 경우 오류 메시지를 출력함과 동시에 Altibase 서버가 구동되지 않는다.

ARCHIVE_FULL_ACTION#

데이터 타입#

Unsigned Integer

기본값#

0

속성#

변경 가능, 단일 값

값의 범위#

[0, 2]

설명#

ARCHIVE_DIR에 설정된 디렉토리가 속한 파일 시스템에 충분한 디스크 공간이 없는 경우 아카이브 로그 백업(archive log backup)을 수행하는 아카이브로그 쓰레드의 동작을 제어하는 프로퍼티이다.

디스크 공간 부족으로 로그 파일 백업이 실패하는 경우 설정값에 따른 아카이브로그 쓰레드의 동작 차이는 아래와 같다.

0 : 트레이스 로그(altibase_sm.log)에 에러 메시지를 출력하고 다음 로그 파일의 백업을 시도한다. 로그 파일마다 차례로 이 과정을 거치므로 디스크 공간 부족이 발생한 시점부터 여유 공간이 생길 때까지 아카이브 로그 파일 경로에 백업하지 못한 로그 파일이 있을 수 있다. 이때 체크포인트가 발생하면 백업이 실패한 로그 파일도 불필요한 로그 파일로 판단하고 삭제하기 때문에 데이터베이스 복구가 불가능할 수 있으므로 0으로 설정하고 운영할 경우 주의가 필요하다.

1 : 충분한 디스크 공간이 확보되어 아카이브 로그파일을 백업할 수 있을 때까지 기다린다. 이 기간 동안은 체크포인트가 발생하더라도 아카이브 로그파일을 백업할 수 없기 때문에 로그 파일들은 삭제되지 않는다.

2 : 디스크 공간 부족을 포함한 백업 실패 상황이 발생하는 경우 트레이스 로그(altibase_sm.log)에 에러 메시지를 출력하고 다음 로그 파일의 백업을 시도한다. 로그 파일마다 차례로 이 과정을 거치므로 로그 파일 백업 실패 현상이 발생한 시점부터 백업 실패 상황이 해소될 때까지 아카이브 로그 파일 경로에 백업하지 못한 로그 파일이 있을 수 있다. 이때 체크포인트가 발생하면 백업이 실패한 로그 파일도 불필요한 로그 파일로 판단하고 삭제하기 때문에 데이터베이스 복구가 불가능할 수 있으므로 2로 설정하고 운영할 경우 주의가 필요하다.

ARCHIVE_MULTIPLEX_COUNT#

데이터 타입#

Unsigned Integer

기본값#

0

속성#

읽기 전용, 단일 값

값의 범위#

[0, 10]

설명#

Altibase 서버가 아카이브 로그 파일의 복사본1을 몇 개 유지할 것인지를 지정한다. 프로퍼티 설정 이후에 새로이 아카이브 되는 로그 파일부터 복사본이 유지된다.

ARCHIVE_MULTIPLEX_COUNT와 ARCHIVE_MULTIPLEX_DIR 프로퍼티는 서버가 중지(shutdown)된 상태에서 설정할 수 있다.

ARCHIVE_MULTIPLEX_DIR#

데이터 타입#

String

기본값#

""

속성#

읽기 전용, 다중 값

값의 범위#

없음

설명#

아카이브 로그 파일의 복사본이 위치할 경로를 지정한다. ARCHIVE_MULTIPLEX_DIR 프로퍼티는 ARCHIVE_MULTIPLEX_COUNT에 명시한 아카이브 로그 파일의 개수만큼 설정해야 한다. 이 때 각각의 경로는 서로 다른 디스크에 둘 것을 권장한다.

ARCHIVE_THREAD_AUTOSTART#

데이터 타입#

Unsigned Integer

기본값#

1

속성#

읽기 전용, 단일 값

값의 범위#

[0, 1]

설명#

아카이브 로그파일을 주기적으로 백업하는 쓰레드인 아카이브로그 쓰레드를 Altibase 구동시 자동으로 활성화시킬 것인지를 지정하는 프로퍼티이다. 이 값을 1로 하는 경우 아카이브 쓰레드가 자동으로 활성화된다.

이 프로퍼티는 디렉토리에 아카이브 로그파일 백업을 위한 충분한 디스크 공간이 없어서 아카이브로그 쓰레드가 비활성화되면, 이후에 디스크 공간을 확보하여 아카이브로그 쓰레드를 다시 활성화하고자 할 때 사용할 수 있다.

CHECKPOINT_ENABLED#

데이터 타입#

Unsigned Integer

기본값#

1

속성#

읽기 전용, 단일 값

값의 범위#

[0, 1]

설명#

체크포인트를 ON 또는 OFF 시키는 프로퍼티이다.

0: OFF

1: ON

이 값을 0(OFF)으로 지정하면 체크포인트 쓰레드가 동작하지 않으며, CHECKPOINT_INTERVAL_IN_SEC와 CHECKPOINT_INTERVAL_IN_LOG 프로퍼티에서 지정한 주기로 동작할 수 없다. 그러나 사용자가 명시적으로 체크포인트를 수행하면 수행할 수 있다.

CHECKPOINT_INTERVAL_IN_LOG#

데이터 타입#

Unsigned Integer

기본값#

10

속성#

변경 가능, 단일 값

값의 범위#

[1, 232-1]

설명#

체크포인트 주기를 설정하는 프로퍼티이다. 즉, 이 프로퍼티에 설정된 값만큼 로그 파일이 생성되면, 다음 체크포인트가 발생한다.

그러나 이 프로퍼티 값에 의해 체크포인트 수행이 요구될 때, 이미 체크포인트가 진행 중이거나 기타 다른 이유로 인하여 체크포인트가 수행되지 못하는 경우가 발생할 수 있다. 이 경우 이미 진행 중인 체크포인트가 끝난 후 바로 체크포인트를 수행하는 것이 아니라 현재의 체크포인트 요구는 바로 취소된다.

Altibase 운영 중 ALTER SYSTEM 문을 이용하여 이 프로퍼티의 값을 변경할 수 있다.

CHECKPOINT_INTERVAL_IN_SEC(단위: 초)#

데이터 타입#

Unsigned Integer

기본값#

6000

속성#

변경 가능, 단일 값

값의 범위#

[3, 2592000]

설명#

체크포인트의 주기를 초 단위 시간으로 정하는 것이다.

Altibase 운영 중 ALTER SYSTEM 문을 이용하여 이 프로퍼티의 값을 변경할 수 있다.

COMMIT_WRITE_WAIT_MODE#

데이터 타입#

Unsigned Integer

기본값#

0

속성#

변경 가능, 단일 값

값의 범위#

[0, 1]

설명#

트랜잭션을 커밋할 때 로그가 로그 파일에 반영될 때까지 기다릴 것인지 여부를 설정하는 프로퍼티이다. Altibase는 기본으로 성능을 위해 기다리지 않는 값으로 설정된다.

이 프로퍼티는 시스템 전체에 대해서 혹은 사용자의 세션 단위로 설정할 수 있으며, Altibase 운영 중 ALTER SYSTEM 또는 ALTER SESSION 구문으로 변경할 수 있다.

0: Do Not Wait

1: Wait

INCREMENTAL_BACKUP_CHUNK_SIZE#

데이터 타입#

Unsigned Integer

기본값#

4

속성#

읽기 전용, 단일 값

값의 범위#

[0, 232-1]

설명#

데이터의 페이지가 변경되는 것을 페이지 단위로 추적하기 위해 설정하는 프로퍼티이다. 예를 들어 이 프로퍼티의 값이 4로 설정되면, 4개의 페이지 단위로 변경 추적 정보를 기록하기 때문에, 한 묶음에 속하는 4개의 페이지 중 하나라도 변경된다면 그 묶음의 모든 페이지가 백업된다.

이 프로퍼티를 변경하려면 아래의 단계를 거쳐서 changeTracking 파일을 다시 생성해야 한다.

  • 1: 서버 종료 후 프로퍼티 파일에서 값 변경
  • 2: 서버 구동
  • 3: 변경 추적 기능 비활성화 후 다시 활성화

INCREMENTAL_BACKUP_INFO_RETENTION_PERIOD#

데이터 타입#

Unsigned Integer

기본값#

0

속성#

읽기 전용, 단일 값

값의 범위#

[0, 232-1]

설명#

backupInfo 파일에 저장되는 백업 정보가 유지되는 기간(단위: 일)을 지정하는 프로퍼티이다.

ALTER DATABASE DELETE OBSOLETE BACKUP FILES 구문으로 삭제되는 백업 정보는 유효 기간이 지난 가장 오래된 레벨 0 백업부터 유효 기간이 지나지 않은 가장 오래된 레벨 0 바로 이전의 레벨 1 백업까지이다.

참고: 증분 백업에 대한 복구에는 레벨 0로 백업된 백업 파일이 반드시 필요하다. 따라서 이 프로퍼티에 지정한 유지 기간이 지난 백업 정보와 거기에 대응하는 백업 파일이 있더라도, 레벨 0 백업이 유일하다면, 삭제 명령을 실행하더라도 유지 기간이 지난 백업 정보와 백업 파일이 삭제되지 않는다.

LOG_BUFFER_TYPE#

데이터 타입#

Unsigned Integer

기본값#

0

속성#

읽기 전용, 단일 값

값의 범위#

[0, 1]

설명#

로그 버퍼 타입을 결정하는 프로퍼티이다.

0: 운영체제 커널의 로그 버퍼를 사용

1: 프로세스 메모리의 로그 버퍼를 사용

이 프로퍼티는 시스템 운영 중에 변경할 수 없다.

LOG_MULTIPLEX_COUNT#

데이터 타입#

Unsigned Integer

기본값#

0

속성#

읽기 전용, 단일 값

값의 범위#

[0, 10]

설명#

Altibase 서버가 로그 파일의 복사본2을 몇 개 유지할 것인지를 지정한다. 원본 로그 파일이 생성되거나 삭제될 때 로그 파일의 복사본도 동시에 생성되거나 삭제된다.

LOG_MULTIPLEX_COUNT와 LOG_MULTIPLEX_DIR 프로퍼티는 서버가 중지(shutdown)된 상태에서 설정할 수 있다.

LOG_MULTIPLEX_DIR#

데이터 타입#

String

기본값#

""

속성#

읽기 전용, 다중 값

값의 범위#

없음

설명#

로그 파일의 복사본이 위치할 경로를 지정한다. LOG_MULTIPLEX_COUNT에 명시한 개수만큼 LOG_MULTIPLEX_DIR 프로퍼티를 설정해야 한다. 또한, 각 경로를 서로 다른 디스크에 둘 것을 권장한다.

PREPARE_LOG_FILE_COUNT#

데이터 타입#

Unsigned Integer

기본값#

5

속성#

읽기 전용, 단일 값

값의 범위#

[0, 232-1]

설명#

로그 생성시 해당 로그파일에 충분한 공간이 없으면 새로운 로그 파일을 생성하며, 이 경우 트랜잭션의 응답 시간은 늦어지게 된다. 이처럼 로그파일 생성으로 인해 트랜잭션의 수행이 늦어지는 것을 막기 위해 Altibase는 여분의 로그파일을 미리 생성해 둔다. 이 여분의 로그파일의 개수를 지정하는 것이 이 프로퍼티이다.

SNAPSHOT_MEM_THRESHOLD (단위: 백분율)#

데이터 타입#

Unsigned Integer

기본값#

80

속성#

변경 가능, 단일 값

값의 범위#

[0, 100]

설명#

스냅샷 설정(BEGIN SNAPSHOT) 이후 메모리 데이터베이스에서 사용할 수 있는 임계치(Threshod)를 설정하는 프로퍼티이다.

현재 사용되는 메모리의 크기는 프로퍼티 MEM_MAX_DB_SIZE의 몇 퍼센트를 사용하고 있는지 확인하고, 설정한 임계치를 초과하면 스냅샷(shapshot)은 자동으로 중지된다.

SNAPSHOT_DISK_UNDO_THRESHOLD (단위: 백분율)#

데이터 타입#

Unsigned Integer

기본값#

80

속성#

변경 가능, 단일 값

값의 범위#

[0, 100]

설명#

스냅샷 설정(BEGIN SNAPSHOT) 이후 디스크에서 사용할 수 있는 임계치(Threshold)를 설정하는 프로퍼티이다.

현재까지 사용된 디스크 언두 테이블스페이스의 크기는 프로퍼티 SYS_UNDO_FILE_MAX_SIZE 에서 몇 퍼센트를 사용하는지 확인하고, 설정한 임계치를 초과하면 스냅샷(shapshot)은 자동으로 중지된다.


  1. 아카이브 로그 파일 다중화(Multiplexing Archive Logfiles): 아카이브 로그 파일을 별도의 디스크에 복사해 두어, 아카이브 로그 파일 원본의 손상에 대비하는 기능이다. 

  2. 로그 파일 다중화(Multiplexing Log Files): 데이터베이스의 모든 변경 사항이 기록되는 로그 파일을 별도의 디스크에 복사해 두어, 로그 파일 원본의 손상에 대비하는 기능이다.