Innovating today, leading tomorrow

Tibero - 설치
[Tibero] 데이터파일 이름 및 경로 변경 가이드 (1)

[Tibero] 데이터파일 이름 및 경로 변경 가이드 (1)

본 문서는 DB 재기동 없이 데이터파일의 이름 혹은 경로를 변경하는 방법을 안내합니다.

1. 테이블스페이스 Offline 상태에서 데이터파일 이름/경로 변경

1.1. 개요

변경하려는 대상 데이터파일이 속한 테이블스페이스의 가용성을 offline으로 변경한 상태에서 rename datafile 명령을 실행하여 데이터파일의 이름 혹은 경로를 변경합니다.

이 때, 테이블스페이스는 non-SYSTEM이어야 offline 상태로 변경할 수 있습니다.

데이터파일의 정보를 변경했으므로 작업이 끝난 후 컨트롤파일 백업을 해야 합니다.

1.2. 절차

1.2.1. Data file, Table space 확인

SQL> set linesize 200
SQL> col file_name for a40
SQL> col tablespace_name for a20
SQL> select file_name, tablespace_name from dba_datafiles where file_name like '%test0_.dtf';

FILE_NAME                                         TABLESPACE_NAME     
----------------------------------------           --------------------
/home/lcj/tbdata/cjdb1/test01.dtf    TEST
/home/lcj/tbdata/cjdb1/test02.dtf    TEST 
/home/lcj/tbdata/cjdb1/test03.dtf    TEST

3 rows selected.

1.2.2. 대상 Tablespace를 Offline 상태로 변경

SQL> alter tablespace TEST offline; 

Tablespace 'TEST' altered.

SQL> select tablespace_name, status from dba_tablespaces where tablespace_name = 'TEST'; 

TABLESPACE_NAME      STATUS   
--------------------              -------------
TEST                               OFFLINE 

1 row selected.

1.2.3. 대상 Datafile 경로 변경

[lcj@finlin:cj1:/home/lcj/tbdata/cjdb1]ls test01.dtf 
test01.dtf
[lcj@finlin:cj1:/home/lcj/tbdata/cjdb1]cp test01.dtf /home/lcj/tbdata/cjdb1/rename/test01.dtf 
[lcj@finlin:cj1:/home/lcj/tbdata/cjdb1]cd rename
[lcj@finlin:cj1:/home/lcj/tbdata/cjdb1/rename]ls test01.dtf 
test01.dtf

1.2.4. Rename Datafile 명령

SQL> alter tablespace TEST rename datafile '/home/lcj/tbdata/cjdb1/test01.dtf' TO 
'/home/lcj/tbdata/cjdb1/rename/test01.dtf';

Tablespace 'TEST' altered.

1.2.5. 대상 Tablespace를 Online 상태로 전환

SQL> alter tablespace TEST online; 

Tablespace 'TEST' altered.

1.2.6. 작업 확인 및 Controlfile 백업

SQL> select file_name, tablespace_name from dba_datafiles where tablespace_name='TEST';

FILE_NAME                                                       TABLESPACE_NAME     
----------------------------------------------                 --------------------
/home/lcj/tbdata/cjdb1/rename/test01.dtf    TEST
/home/lcj/tbdata/cjdb1/test02.dtf                  TEST 
/home/lcj/tbdata/cjdb1/test03.dtf                  TEST

3 rows selected.

SQL> alter database backup controlfile to trace as '/home/lcj/tbdata/cjdb1/rename/cre_ctl_1.sql' 
reuse noresetlogs;

Database altered.

[lcj@finlin:cj1:/home/lcj/tbdata/cjdb1/rename]ls -alrt 
total 512016
drwxr-xr-x 4 lcj dba      4096 Dec  4 20:17 ..
-rw------- 1 lcj dba 524288000 Dec  4 20:26 test01.dtf 
drwxr-xr-x 2 lcj dba      4096 Dec  4 20:35 .
-rw-r--r-- 1 lcj dba      1554 Dec  4 20:35 cre_ctl_1.sql