가끔 Datafile 옮길...일이 없지만..

이번 운영 확인하다 보니, datafile 이 엔진쪽에...헉!!!!


HA 장비라서 엔진쪽에 있으면 안되는데...왜???누가???


에휴...고객사 장비라 누가 건든지 알수 없으니..

더 큰 문제가 생기기 전에 옮겨줘야겠다..


1. Database 로 진행 (DB Shutdown 필요)

2. Tablespace 로 진행 (DB Shutdown 필요 없음)


1. Database 로 진행

- Tablespace 및 Datafile 확인

- DB shutdown 후 Mount 로 startup 진행


SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.


SQL> startup mount

ORACLE instance started.


Total System Global Area  612368384 bytes

Fixed Size                  2079480 bytes

Variable Size             176162056 bytes

Database Buffers          427819008 bytes

Redo Buffers                6307840 bytes

Database mounted.


- 해당 Datafile 를 이동 후 rename 진행


SQL> alter database rename file 'E:\MASDBDEV\HG1.dbf' to 'E:\HG1.dbf';


- Database open 진행


SQL> alter database open;

Database altered.


- 확인

SQL> select file_name, tablespace_name from dba_data_files order by 2;


FILE_NAME                                TABLESPACE_NAME

---------------------------------------- -----------------------------

E:\MASDBDEV\HG2.DBF                      HG

E:\HG1.DBF                               HG

E:\MASDBDEV\IMSI01.DBF                   IMSI

E:\MASDBDEV\SYSAUX01.DBF                 SYSAUX

E:\MASDBDEV\SYSTEM01.DBF                 SYSTEM

E:\MASDBDEV\TEST01.DBF                   TEST

E:\MASDBDEV\UNDOTBS01.DBF                UNDOTBS1

E:\MASDBDEV\USERS01.DBF                  USERS




2. Tablespace 로 진행


- Tablespace 및 Datafile 확인



- 옮기고자 하는 Datafile 의 Tablespace 를 offline 진행


SQL> alter tablespace HG offline;


- Offline 이 후 해당 Datafile 를 이동 후 rename 진행


SQL> alter tablespace HG rename datafile 'E:\HG1.dbf' to 'E:\MASDBDEV\HG1.dbf';


- Rename 까지 완료 되면 다시 online 진행


SQL> alter tablespace HG online;


- 옮겨 졌는지 확인 후 Test로 Talbe 를 Select 해 보자.


혹시라도 Tablespace offline 이 후 Table를 select 하면 아래와 같이 오류가 나니 가급적 업무 시간에는 진행하지 말자.


ERROR at line 1:

ORA-00376: file 7 cannot be read at this time

ORA-01110: data file 7: 'E:\HG1.DBF'



또한, SYSTEM, Rollback segment혹은 Temporary segment를 포함하는 테이블스페이스는 안되므로 이때는 Database로 진행


ERROR at line 1:

ORA-01541: system tablespace cannot be brought offline; shut down if necessary


오늘도 기초를 한번 더 상기해 보자!!

반응형

+ Recent posts