RMAN 백업을 사용해서 기존 운영 서버가 아닌 다른 서버에서 DB를 OPEN 시킬 수 있는가?
1. 전체 백업 수행 (datafile, archive redo log file, control file)
RMAN> run {
2> allocate channel c1 device type disk ;
3> allocate channel c2 device type disk ;
4> allocate channel c3 device type disk ;
5>
6> # data file backup
7> backup as compressed backupset
8> format '/data2/backup/rman/data_%U_%T'
9> database ;
10>
11> # archive log backup
12> backup as compressed backupset
13> format '/data2/backup/rman/arch_%U_%T'
14> archivelog all ;
15>
16> # control file backup
17> backup current controlfile
18> format '/data2/backup/rman/ctl_%U_%T' ;
19> }
***
RMAN> crosscheck archivelog all ;
-->
RMAN-06059: expected archived log not found, lost of archived log compromises recoverability
archive log 백업 실패 시 썼던 명령어 (archive log file 이 missing 됬다 이런 에러가 떴었음)
아카이브 로그의 백업 리스트 경로들을 체크하는 명령어인 것 같다.
2. 테스트용 테이블 생성 후, 운영중인 모든 datafile, redo log file, control file 삭제
3. 새로운 서버라고 가정하고 파라미터 파일에서 control file 위치 수정
$ mkdir /data/new
$ vi /app/oracle/product/11g/dbs/inittestdb.ora
--> control file 경로 수정
4. 백업 받은 control file을 신규 경로로 restore
RMAN> startup nomount ;
RMAN> restore controlfile from '/data2/backup/rman/ctl_0vo3k576_1_1_20130303' ;
5. MOUNT 시킨 후 백업 파일을 새 경로로 restore
RMAN> alter database mount ;
RMAN> run {
2> allocate channel ch1 device type disk ;
3> allocate channel ch2 device type disk ;
4>
5> set newname for datafile 1 to '/data/new/system01.dbf' ;
6> set newname for datafile 2 to '/data/new/sysaux01.dbf' ;
7> set newname for datafile 3 to '/data/new/undotbs01.dbf' ;
8> set newname for datafile 4 to '/data/new/users01.dbf' ;
9> set newname for datafile 5 to '/data/new/example01.dbf' ;
10> set newname for datafile 6 to '/data/new/ts_b01.dbf' ;
11>
12> restore database ;
13> switch datafile all ;
14> }
6. Recover 후 resetlogs로 DB OPEN
> recover database using backup controlfile until cancel ;
> alter database open resetlogs ;
--> redo log 중 current 그룹도 삭제되었기 때문에 정상적으로는 db open 불가능
삭제된 redo log를 재생성하기 위해서는 resetlogs 옵션을 이용해 DB Open
redo log는 reset 초기화 되고, 파일이 없을 경우에는 알아서 생성 후 open 됨
resetlogs를 사용하기 위해서 Recover database until cancel를 사용!
RMAN 백업 파일을 사용해서 다른 서버(위치)에서도 DB OPEN 가능하지만
데이터의 손실이 발생할 수 있다.
'오라클 백업/복구' 카테고리의 다른 글
ASM 관리 (0) | 2013.02.24 |
---|---|
ASM - Automatic Storage Management (0) | 2013.02.23 |
RMAN - Block Corruption Recovery + 11g New Features (0) | 2013.02.20 |
RMAN - 복구 (불완전 복구) (0) | 2013.02.19 |
RMAN - 복구 (완전 복구) (0) | 2013.02.19 |