본문 바로가기
인프라 7기/Oracle

Oracle 실습: Open/Close 상태에서 tablespace 이동

by 킹버거 2023. 3. 16.

MOUNT 상태에서 data file을 이동하는 과정

 

step 1. DB SHUTDOWN

step 2. DATA FILE 이동

step 3. DB MOUNT

step 4. ALTER DATABASE 명령으로 DATA FILE 등록

step 5. DB OPEN 

 

SQL> ALTER DATABASE RENAME FILE

      2> <원래 DATA FILE명> TO <이동한 DATA FILE명>;

- DATA FILE 등록 정보 수정

- ALTER TABLESPACE ~ RENAME DATAFILE 명령과 동일한 효과가 있다. 


step 1. DB SHUTDOWN

step 2. DATA FILE 이동

step 3. DB MOUNT

SELECT tablespace_name, bytes, file_name FROM dba_data_files;

SHUTDOWN IMMEDIATE

!mv /app/ora19c/oradata/DB19/sysaux01.dbf /app/ora19c/oradata/disk3/
!mv /app/ora19c/oradata/DB19/system01.dbf /app/ora19c/oradata/disk3/
!mv /app/ora19c/oradata/DB19/undotbs01.dbf /app/ora19c/oradata/disk3/
!mv /app/ora19c/oradata/DB19/temp01.dbf /app/ora19c/oradata/disk3/

STARTUP MOUNT

SELECT t.name tablespace_name, d.bytes, d.name file_name
FROM v$tablespace t, v$datafile d
WHERE t.ts#=d.ts#
ORDER BY 1;

 

* Data file은 이동하였으나 아직 오라클은 파일이 이전 경로에 위치하는 것으로 알고 있다.

 

step 4. ALTER DATABASE 명령으로 DATA FILE 등록

ALTER DATABASE RENAME file
'/app/ora19c/oradata/DB19/sysaux01.dbf'
TO '/app/ora19c/oradata/disk3/sysaux01.dbf';

ALTER DATABASE RENAME file
'/app/ora19c/oradata/DB19/system01.dbf'
TO '/app/ora19c/oradata/disk3/system01.dbf';

ALTER DATABASE RENAME file
'/app/ora19c/oradata/DB19/undotbs01.dbf'
TO '/app/ora19c/oradata/disk3/undotbs01.dbf';

ALTER DATABASE RENAME file
'/app/ora19c/oradata/DB19/temp01.dbf'
TO '/app/ora19c/oradata/disk3/temp01.dbf';

 

* ALTER DATABASE 명령으로 DATA FILE을 등록하여 반영된 것을 확인할 수 있다.

 

* temporary tablespace의 파일은 data file이 아니라 temp file로 별도로 관리된다. (9i버전부터)

SELECT t.name tablespace_name, d.bytes, d.name file_name
FROM v$tablespace t, v$tempfile d
WHERE t.ts#=d.ts#
ORDER BY 1;

 

* data file 이외의 control files이나 redo log files이 어디에 위치해 있는지 확인하고 불필요한 DB19 디렉터리를 삭제한다.

SELECT name FROM v$controlfile;

SELECT member FROM v$logfile;

!rm -rf /app/ora19c/oradata/DB19
!ls /app/ora19c/oradata/

step 5. DB OPEN

ALTER DATABASE OPEN;