문서유형ㅣ기술정보
분야ㅣ관리/환경설정
적용제품버전ㅣ6FS07, 7FS02
문서번호ㅣTADTI053
개요
데이터파일의 파일명 수정 혹은 경로 변경을 위해 수행할 수 있는 3가지 방법에 대해 설명합니다.
- control 파일을 수정하지 않는 방법
- control 파일 수정 및 재생성
- 테이블스페이스 offline
각 방법은 적용 환경과 목적에 따라 선택적으로 사용할 수 있습니다.
방법
1. Control 파일을 수정하지 않는 방법
1) Tibero 종료
tbdown immediate
2) 데이터파일 복사
기존 데이터파일을 원하는 이름이나 경로로 복사합니다.
$ cp /home/tibero/oldfile.dtf /home/tibero/newfile.dtf
3) mount 모드
tbboot mount
4) SQL 접속
SYS 계정으로 접속합니다.
tbsql sys/tibero
5) 데이터파일 이름 변경
ALTER DATABASE RENAME FILE '/home/tibero/oldfile1.dtf' TO '/home/tibero/newfile1.dtf'; ALTER DATABASE RENAME FILE '/home/tibero/oldfile2.dtf' TO '/home/tibero/newfile2.dtf';
6) Tibero 종료
tbdown immediate
7) Tibero 기동
tbboot
2. control 파일 수정 및 재생성
1) control 파일 생성문 백업 (normal 모드)
tbsql sys/tibero SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS '/data/ctl.sql' REUSE NORESETLOGS;
2) Tibero 종료
tbdown immediate
3) 데이터파일 복사
기존 데이터파일을 원하는 이름이나 경로로 복사합니다.
$ cp /home/tibero/oldfile.dtf /home/tibero/newfile.dtf
4) control 파일 생성문 수정
1번에서 백업한 control 파일 생성문 내용 중 해당 파일명을 수정합니다.
...
NORESETLOGS
DATAFILE
'/home/tibero/system001.dtf',
...
'/home/tibero/oldfile.dtf', ⇒ '/home/tibero/newfile.dtf '
...5) nomount 모드
tbboot nomount
6) SQL 접속
tbsql sys/tibero
7) control 파일 재생성
SQL> @/data/ctl.sql
8) Tibero 종료
tbdown
9) mount 모드
tbboot mount
10) 복구 수행
SQL> alter database recover automatic;
11) Tibero 종료
tbdown
12) Tibero 기동
tbboot
13) TEMPFILE 재생성
control 파일 생성문 중 temp 생성문 이용하여 tempfile 재생성합니다.
...
---- Adding Tempfiles is required in OPEN mode.
-- ALTER TABLESPACE TEMP ADD TEMPFILE '/home/tibero/temp001.dtf'
-- SIZE 100M REUSE AUTOEXTEND ON NEXT 16M MAXSIZE 3G;
...
SQL > ALTER TABLESPACE TEMP ADD TEMPFILE '/home/tibero/temp001.dtf' SIZE 100M REUSE AUTOEXTEND ON NEXT 16M MAXSIZE 3G;
테이블스페이스 offline
1) 테이블스페이스 Offline 처리
해당 데이터파일이 속한 테이블스페이스를 offline 상태로 전환합니다.
SQL> alter tablespace tablespace_name offline;
2) 데이터파일 복사
기존 데이터파일을 원하는 이름이나 경로로 복사합니다.
$ cp /home/tibero/oldfile.dtf /home/tibero/newfile.dtf
3) 데이터파일 변경
SQL> ALTER DATABASE RENAME FILE '/home/tibero/oldfile.dtf' TO '/home/tibero/newfile.dtf';
4) 테이블스페이스 online
SQL> alter tablespace tablespace_name online;
참고
3번 방법은 normal 모드에서 데이터베이스를 다운하지 않고도 수행할 수 있다는 장점이 있지만, 해당 테이블스페이스에 접근 중인 트랜잭션이 전혀 없어야만 안전하게 수행 가능합니다. 따라서 실제 운영 환경에서는 수행하기 어렵습니다.
또한, 테이블스페이스 offline이 정상적으로 되지 않을 경우 데이터파일에 문제가 발생할 수 있기 때문에, 3번보다는 1번 또는 2번 방법을 사용하는 것을 권장합니다.