개요
디스크 테이블스페이스의 데이터 파일 및 메모리 테이블스페이스의 메모리 체크포인트 이미지 파일의 경로 변경 절차를 관해 설명합니다.
데이터 파일 경로 변경 작업은 서비스 다운 타임 확보 후
변경 절차 요약
- 데이터 파일 현재 경로 확인
- Altibase 서버 중지
- 데이터 파일 기본 경로 변경
- 데이터 파일을 새로운 경로로 복사
- 컨트롤 단계로 Altibase 서버 구동
- 데이터 파일 경로 변경 DDL 수행
- 서비스 단계로 Altibase 서버 구동
상세 절차
1. 데이터 파일 현재 경로 확인
디스크 테이블스페이스와 메모리 테이블스페이스에 따라 확인 방법이 다르므로 각각 확인해야 합니다.
아래 쿼리를 이용하여 확인 후 출력 결과를 메모해둡니다
디스크 테이블스페이스의 데이터 파일 경로
Altibase 서버 모든 버전메모리 테이블스페이스의 체크포인트 이미지 파일 경로
Altibase 5 이상 버전에서 확인 방법Altibase 4 버전에서 확인 방법
2. Altibase 서버 중지
데이터 파일들을 물리적으로 이동해야 하므로 Altibase 서버를 중지해야합니다.
3. 데이터 파일 기본 경로 변경
- 데이터 파일 기본 경로는 테이블스페이스를 생성하거나 데이터 파일 추가할 때 경로를 지정하지 않고 데이터 파일 이름만 지정한 경우 데이터 파일이 위치할 경로를 의미합니다.
- 데이터 파일 경로 변경 작업 시 기본 경로도 변경해야 할 경우 수행합니다.
altibase.properties 파일에서 설정하며 MEM_DB_DIR, DEFAULT_DISK_DB_DIR 프로퍼티를 찾아 기본 경로를 변경합니다.
4. 물리적인 데이터 파일 경로 복사
"1. 데이터 파일 현재 경로 확인" 에서 확인한 경로에 위치한 모든 데이터 파일과 메모리 체크포인트 이미지 파일들을 변경하려는 경로로 복사합니다.
cp 수행 예파일 수 및 파일 크기를 비교하여 정상적으로 복사되었는지 확인합니다.
원본 경로를 다른 이름으로 변경합니다.
Altibase 서버 구동 시 원본 파일을 읽을 가능성을 피하고 원본 파일 백업을 위해 원본 경로를 다른 이름으로 변경합니다.
5. 컨트롤 단계로 Altibase 서버 구동
sysdba 권한으로 iSQL 접속 후
컨트롤 단계로 구동합니다.
6. 데이터 파일 경로 변경 DDL 수행
디스크 데이터 파일 및 메모리 체크포인트 이미지 파일 경로 정보는 로그앵커 파일에 저장됩니다. 로그앵커가 알고 있는 정보를 변경하기 위해 DDL 문을 수행합니다.
디스크 데이터 파일 경로 변경 방법
"1. 데이터 파일 현재 경로 확인" 에서 확인한 모든 데이터 파일 수만큼 ALTER DATABASE 문을 반복 수행합니다. 파일 이름은 동일하게 경로만 변경하여 입력해야 합니다.
디스크 데이터 파일 변경 경로 확인
경로가 올바르게 변경되었는지 확인합니다.
메모리 체크포인트 이미지 파일 경로 변경
"1. 데이터 파일 현재 경로 확인" 에서 확인한 메모리 테이블스페이스 수 만큼 ALTER TABLESPACE 문을 반복 수행합니다. 이 때 파일명을 지정하지 않고 이전 경로와 새로운 경로만 사용합니다.
Altibase 5 버전 이상Altibase 4 버전메모리 체크포인트 이미지 파일 변경 경로 확인 방법
Altibase 5 이상 버전에서 확인 방법
7. 서비스 단계로 Altibase 서버 구동
sysdba 권한으로 iSQL에 접속한 상태에서 수행합니다.
작업 중 발생할 수 있는 에러 메세지
데이터 파일 경로 변경 작업 중 발생할 수 있는 에러 메세지와 조지 방법입니다.
The data file does not exist
- 원인
물리적인 데이터 파일 이동 없이 변경 구문을 수행한 경우 발생할 수 있습니다.
- 조치
데이터파일을 변경하려는 위치에 데이타 파일을 먼저 이동시킨 후 DB에서의 데이터파일 위치를 변경하는 rename 구문을 실행합니다.
The data file 'XXXXXX' has an invalid header
- 원인
물리적으로 데이터 파일 복사 단계에서 정상 수행되지 않은 경우 발생할 수 있습니다. 서비스 단계로 데이터베이스 구동 시 구동이 실패합니다. - 조치
물리적인 데이터 파일의 작업을 다시 수행합니다.
Unable to invoke the create() function on [XXXXXX/dwfile0.dwf]
- 원인
double write 파일이 존재하지 않은 경우 발생할 수 있습니다. double write 파일은 데이터베이스 비정상 종료 시 Restart Recovery할 때에 필요한 파일로 기본 경로는 $ALTIBASE_HOME/dbs 입니다. $ALTIBASE_HOME/dbs 경로의 모든 파일을 이동했을 경우 에러가 발생할 수 있습니다.
Altibase 서버 버전에 따라 에러 메시지에 차이가 있을 수 있습니다.
조치
dwfile0.dwf, dwfile1.dwf 파일을 touch 명령어로 임의 생성 후 구동이 가능합니다.
또는 $ALTIBASE_HOME/conf/altibase.properties 에 USE_DW_BUFFER = 0 으로 변경하고 (없으면 추가합니다.) Altibase 서버를 구동합니다. Altibase 서버가 구동되면 USE_DW_BUFFER = 1 로 변경하거나 USE_DW_BUFFER 설정을 altibase.properties 에서 삭제합니다.
double write 파일의 기본 경로를 변경 후 Altibase 서버를 구동해도 됩니다.
CANNOT IDENTIFY DATAFILE
원인
서비스 단계로 Altibase 서버를 구동할 때 메타 테이블에서 저장된 데이타 파일 경로에서 물리적인 데이터 파일을 찾을 수 발생합니다. 컨트롤 단계에서 올바르지 않은 데이터 파일 경로를 입력한 경우 발생할 수 있습니다.
조치
컨트롤 단계에서 올바른 경로를 지정하여 DDL 문을 수행합니다.
참고