1. 데이터 파일 현재 경로 확인
디스크 테이블스페이스와 메모리 테이블스페이스에 따라 확인 방법이 다르므로 각각 확인해야 합니다. 아래 쿼리를 이용하여 확인 후 출력 결과를 메모해둡니다 2. Altibase 서버 중지
3. 데이터 파일 기본 경로 변경
4. 물리적인 데이터 파일 경로 복사
"1. 데이터 파일 현재 경로 확인" 에서 확인한 경로에 위치한 모든 데이터 파일과 메모리 체크포인트 이미지 파일들을 변경하려는 경로로 복사합니다. Code Block |
---|
| # 시스템 디스크 테이블스페이스의 데이터 파일은 *.dbf 형식으로 생성되고
# 사용자 디스크 테이블스페이스의 데이터 파일은 테이블스페이스 생성 시 사용자 지정대로 생성됩니다.
$ cp -p /home/altibase_home/dbs_old_path/*.dbf /home/altibase_home/dbs_new_path/*.dbf
# 메모리 체크포인트 이미지 파일 이름 형식은 메모리테이블스페이스이름_#_# 입니다.
$ cp -p /home/altibase_home/dbs_old_path/SYS_MEM* /home/altibase_home/dbs_new_path/SYS_MEM* |
파일 수 및 파일 크기를 비교하여 정상적으로 복사되었는지 확인합니다. Code Block |
---|
| # 파일 수 비교
$ ls -l /old_path/* | wc -l
$ ls -l /new_path/* | wc -l
# 파일 크기 비교
$ du -sk /old_path/*
$ du -sk /new_path/* |
원본 경로를 다른 이름으로 변경합니다. Altibase 서버 구동 시 원본 파일을 읽을 가능성을 피하고 원본 파일 백업을 위해 원본 경로를 다른 이름으로 변경합니다. Code Block |
---|
| $ mv /old_path /old_path_backup |
5. 컨트롤 단계로 Altibase 서버 구동
sysdba 권한으로 iSQL 접속 후 Code Block |
---|
| $is -silent -sysdba
[ERR-910FB : Connected to idle instance]
iSQL(sysdba)> STARTUP CONTROL |
컨트롤 단계로 구동합니다. Code Block |
---|
| iSQL(sysdba)> STARTUP CONTROL
Connecting to the DB server.... Connected.
TRANSITION TO PHASE : PROCESS
TRANSITION TO PHASE : CONTROL
Command executed successfully.
iSQL(sysdba)> |
6. 데이터 파일 경로 변경 DDL 수행
디스크 데이터 파일 및 메모리 체크포인트 이미지 파일 경로 정보는 로그앵커 파일에 저장됩니다. 로그앵커가 알고 있는 정보를 변경하기 위해 DDL 문을 수행합니다. 디스크 데이터 파일 경로 변경 방법 "1. 데이터 파일 현재 경로 확인" 에서 확인한 모든 데이터 파일 수만큼 ALTER DATABASE 문을 반복 수행합니다. 파일 이름은 동일하게 경로만 변경하여 입력해야 합니다. Code Block |
---|
| iSQL(sysdba)> ALTER DATABASE RENAME DATAFILE
'/old_path/system001.dbf' TO '/new_path/system001.dbf';
Alter success. |
디스크 데이터 파일 변경 경로 확인 경로가 올바르게 변경되었는지 확인합니다. Code Block |
---|
| # 디스크 테이블스페이스 이름과 데이터 파일 경로와 이름을 출력합니다.
set linesize 1024
set colsize 100
SELECT T.NAME TBS_NAME, D.NAME DATAFILE
FROM V$DATAFILES D, V$TABLESPACES T
WHERE D.SPACEID = T.ID
ORDER BY D.SPACEID, D.ID ; |
메모리 체크포인트 이미지 파일 경로 변경 "1. 데이터 파일 현재 경로 확인" 에서 확인한 메모리 테이블스페이스 수 만큼 ALTER TABLESPACE 문을 반복 수행합니다. 이 때 파일명을 지정하지 않고 이전 경로와 새로운 경로만 사용합니다. Code Block |
---|
title | Altibase 5 버전 이상 |
---|
language | sql |
---|
| iSQL(sysdba)> ALTER TABLESPACE memory_tablespace_name RENAME CHECKPOINT PATH
'/old_path' TO '/new_path';
수행 예)
iSQL(sysdba)> ALTER TABLESPACE SYS_TBS_MEM_DIC RENAME CHECKPOINT PATH
'/home/altibase_home/dbs_old_path' TO '/home1/altibase_home/dbs_new_path';
Alter success.
iSQL(sysdba)> ALTER TABLESPACE USER_MEM_TBS RENAME CHECKPOINT PATH
'/home/altibase_home/dbs_old_path' TO '/home1/altibase_home/dbs_new_path';
Alter success. |
Code Block |
---|
title | Altibase 4 버전 |
---|
language | bash |
---|
| # Altibase 4 버전의 경우 DDL 작업이 필요하지 않습니다.
# altibase.properties 파일에서 MEM_DB_DIR 프로퍼티 값을 변경 후 저장합니다.
$ cd $ALTIBASE_HOME/conf/
$ vi altibase.properties |
메모리 체크포인트 이미지 파일 변경 경로 확인 방법 Code Block |
---|
title | Altibase 5 이상 버전에서 확인 방법 |
---|
language | sql |
---|
| -- 메모리 테이블스페이스의 경우 테이블스페이스 이름과 경로만 확인할 수 있습니다.
set linesize 1024
set colsize 100
SELECT TBS.NAME TBS_NAME,
MEM_PATH.CHECKPOINT_PATH DATAFILE
FROM V$TABLESPACES TBS,
V$MEM_TABLESPACE_CHECKPOINT_PATHS MEM_PATH
WHERE MEM_PATH.SPACE_ID = TBS.ID
ORDER BY TBS_NAME, DATAFILE; |
7. 서비스 단계로 Altibase 서버 구동
sysdba 권한으로 iSQL에 접속한 상태에서 수행합니다. Code Block |
---|
| iSQL(sysdba)> startup
The database server is already up and running.
TRANSITION TO PHASE : META
...중략...
--- STARTUP Process SUCCESS ---
Command executed successfully.
iSQL(sysdba)> |
|