본문 바로가기
Oracle/RMAN

[RMAN]Datafile 삭제 후 복구(offline되는 Tablespace)

by 취미툰 2019. 12. 12.
반응형

RMAN의 복구 방법은 전통적인 방식과 동일하게 restore recovery의 개념으로 나뉘게 되며,

Restore는 복원을 뜻하며, Recovery는 복구를 뜻합니다.

전통적인 방법과 RMAN의 차이는 전통적인 방법은 관리자가 모든 작업을 수동으로 진행을 하지만 RMAN Oracle이 알아서 진행을 한다는 차이점이 있습니다.

 

(1) 테이블스페이스 상태 확인

SQL> select tablespace_name,bytes/1024/1024 mb,file_name from dba_data_files;

 

TABLESPACE_NAME    MB   FILE_NAME

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

SYSTEM            920   /oradata/ORCL19C/system01.dbf

SYSAUX            700   /oradata/ORCL19C/sysaux01.dbf

USERS             355   /oradata/ORCL19C/users01.dbf

UNDOTBS1          340   /oradata/ORCL19C/undotbs01.dbf

 

 

(2) 테이터 파일 삭제 및 확인

SQL> !rm -rf /oradata/ORCL19C/users01.dbf

 

SQL> !ls /oradata/ORCL19C/users01.dbf

ls: cannot access /oradata/ORCL19C/users01.dbf: 그런 파일이나 디렉터리가 없습니다

 

---복구 시작

(3) 테이블스페이스 offline 변경

RMAN> sql'alter tablespace users offline immediate';

 

using target database control file instead of recovery catalog

sql statement: alter tablespace users offline immediate

 

(4) 테이블스페이스 복원

RMAN> restore tablespace users;

 

Starting restore at 19/12/05

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=237 device type=DISK

 

channel ORA_DISK_1: starting datafile backup set restore

channel ORA_DISK_1: specifying datafile(s) to restore from backup set

channel ORA_DISK_1: restoring datafile 00007 to /oradata/ORCL19C/users01.dbf

channel ORA_DISK_1: reading from backup piece /home/oracle/rman/comp_20191205_13uiloj4_1_1

channel ORA_DISK_1: piece handle=/home/oracle/rman/comp_20191205_13uiloj4_1_1 tag=TAG20191205T131724

channel ORA_DISK_1: restored backup piece 1

channel ORA_DISK_1: restore complete, elapsed time: 00:00:35

Finished restore at 19/12/05

 

(5) 테이블스페이스 복구

RMAN> recover tablespace users;

 

Starting recover at 19/12/05

using channel ORA_DISK_1

 

starting media recovery

media recovery complete, elapsed time: 00:00:00

 

Finished recover at 19/12/05

 

(6) 테이블스페이스 ONLINE 변경 및 상태 확인

RMAN> sql'alter tablespace users online';

sql statement: alter tablespace users online

 

$ ls /oradata/ORCL19C/users01.dbf

/oradata/ORCL19C/users01.dbf

반응형

댓글