"오라클 rman 복구 시나리오"의 두 판 사이의 차이
DB CAFE
(→복구 시나리오) |
|||
(같은 사용자의 중간 판 3개는 보이지 않습니다) | |||
5번째 줄: | 5번째 줄: | ||
# RMAN 으로 Control File Restore | # RMAN 으로 Control File Restore | ||
# recover database | # recover database | ||
− | # open | + | # DB open |
+ | |||
+ | === 운영중 컨트롤 파일 삭제 (client & sysdba) === | ||
+ | <source lang=sql> | ||
+ | SQL> select name from v$controlfile; | ||
+ | |||
+ | NAME | ||
+ | -------------------------------------------------------------------------------- | ||
+ | /home/oracle/oradata/testdb/control01.ctl | ||
+ | /home/oracle/oradata/testdb/control02.ctl | ||
+ | /home/oracle/oradata/testdb/control03.ctl | ||
+ | SQL> !rm -fr /home/oracle/oradata/testdb/control0* | ||
+ | </source> | ||
+ | |||
+ | === 비정상 종료 === | ||
+ | <source lang=sql> | ||
+ | SQL> shutdown abort | ||
+ | ORACLE instance shut down. | ||
+ | |||
+ | SQL> startup | ||
+ | ORACLE instance started. | ||
+ | |||
+ | Total System Global Area 419430400 bytes | ||
+ | Fixed Size 1219760 bytes | ||
+ | Variable Size 163578704 bytes | ||
+ | Database Buffers 251658240 bytes | ||
+ | Redo Buffers 2973696 bytes | ||
+ | |||
+ | ORA-00205: error in identifying control file, check alert log for more info | ||
+ | SQL> | ||
+ | </source> | ||
+ | |||
+ | |||
+ | === RMAN 으로 Control File Restore ( client ) === | ||
+ | <source lang=sql> | ||
+ | $ rman target / catalog rcuser/rcuser@rcserver | ||
+ | |||
+ | Recovery Manager: Release 10.2.0.1.0 - Production on Wed Apr 4 19:47:12 2012 | ||
+ | Copyright (c) 1982, 2005, Oracle. All rights reserved. | ||
+ | connected to target database: testdb (not mounted) // nomount 상태이다. | ||
+ | connected to recovery catalog database | ||
+ | |||
+ | RMAN> restore controlfile; | ||
+ | |||
+ | Starting restore at 04-APR-12 | ||
+ | allocated channel: ORA_DISK_1 | ||
+ | channel ORA_DISK_1: sid=155 devtype=DISK | ||
+ | channel ORA_DISK_1: starting datafile backupset restore | ||
+ | channel ORA_DISK_1: restoring control file | ||
+ | channel ORA_DISK_1: reading from backup piece /home/oracle/flash_recovery_area/TESTDB/backupset/2012_04_04/o1_mf_ncsnf_TAG20120404T192926_7qr8z1w1_.bkp | ||
+ | channel ORA_DISK_1: restored backup piece 1 | ||
+ | piece handle=/home/oracle/flash_recovery_area/TESTDB/backupset/2012_04_04/o1_mf_ncsnf_TAG20120404T192926_7qr8z1w1_.bkp tag=TAG20120404T192926 | ||
+ | channel ORA_DISK_1: restore complete, elapsed time: 00:00:09 | ||
+ | output filename=/home/oracle/oradata/testdb/control01.ctl | ||
+ | output filename=/home/oracle/oradata/testdb/control02.ctl | ||
+ | output filename=/home/oracle/oradata/testdb/control03.ctl | ||
+ | Finished restore at 04-APR-12 | ||
+ | |||
+ | RMAN> alter database mount; | ||
+ | database mounted | ||
+ | released channel: ORA_DISK_1 | ||
+ | </source> | ||
+ | |||
+ | === recover database === | ||
+ | <source lang=sql> | ||
+ | RMAN> alter database open resetlogs; | ||
+ | |||
+ | RMAN-00571: =========================================================== | ||
+ | RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== | ||
+ | RMAN-00571: =========================================================== | ||
+ | |||
+ | RMAN-03002: failure of alter db command at 04/04/2012 19:52:47 | ||
+ | ORA-01589: must use RESETLOGS or NORESETLOGS option for database open | ||
+ | </source> | ||
+ | * 컨트롤 파일을 restore 를 했지만 recovery 과정을 하지 않았기 때문에 open 이 안된다. | ||
+ | ==== recover database ==== | ||
+ | <source lang=sql> | ||
+ | RMAN> recover database; | ||
+ | |||
+ | Starting recover at 04-APR-12 | ||
+ | Starting implicit crosscheck backup at 04-APR-12 | ||
+ | allocated channel: ORA_DISK_1 | ||
+ | channel ORA_DISK_1: sid=154 devtype=DISK | ||
+ | Crosschecked 1 objects | ||
+ | Finished implicit crosscheck backup at 04-APR-12 | ||
+ | Starting implicit crosscheck copy at 04-APR-12 | ||
+ | using channel ORA_DISK_1 | ||
+ | Crosschecked 1 objects | ||
+ | Finished implicit crosscheck copy at 04-APR-12 | ||
+ | |||
+ | searching for all files in the recovery area | ||
+ | cataloging files... | ||
+ | cataloging done | ||
+ | |||
+ | List of Cataloged Files | ||
+ | ======================= | ||
+ | File Name: /home/oracle/flash_recovery_area/TESTDB/backupset/2012_04_04/o1_mf_ncsnf_TAG20120404T192926_7qr8z1w1_.bkp | ||
+ | using channel ORA_DISK_1 | ||
+ | starting media recovery | ||
+ | archive log thread 1 sequence 5 is already on disk as file /home/oracle/oradata/testdb/redo01.log | ||
+ | archive log filename=/home/oracle/oradata/testdb/redo01.log thread=1 sequence=5 | ||
+ | media recovery complete, elapsed time: 00:00:05 | ||
+ | Finished recover at 04-APR-12 | ||
+ | </source> | ||
+ | |||
+ | === database open === | ||
+ | # open 을 시도한다. | ||
+ | # resetlogs 옵션으로 open을 해야 한다. | ||
+ | |||
+ | <source lang=sql> | ||
+ | RMAN> alter database open resetlogs; | ||
+ | |||
+ | database opened | ||
+ | new incarnation of database registered in recovery catalog | ||
+ | starting full resync of recovery catalog | ||
+ | full resync complete | ||
+ | </source> | ||
[[category:oracle]] | [[category:oracle]] |
2021년 5월 28일 (금) 15:36 기준 최신판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
목차
1 복구 시나리오[편집]
- 운영중 컨트롤 파일 삭제
- 비정상 종료
- RMAN 으로 Control File Restore
- recover database
- DB open
1.1 운영중 컨트롤 파일 삭제 (client & sysdba)[편집]
SQL> select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
/home/oracle/oradata/testdb/control01.ctl
/home/oracle/oradata/testdb/control02.ctl
/home/oracle/oradata/testdb/control03.ctl
SQL> !rm -fr /home/oracle/oradata/testdb/control0*
1.2 비정상 종료[편집]
SQL> shutdown abort
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 419430400 bytes
Fixed Size 1219760 bytes
Variable Size 163578704 bytes
Database Buffers 251658240 bytes
Redo Buffers 2973696 bytes
ORA-00205: error in identifying control file, check alert log for more info
SQL>
1.3 RMAN 으로 Control File Restore ( client )[편집]
$ rman target / catalog rcuser/rcuser@rcserver
Recovery Manager: Release 10.2.0.1.0 - Production on Wed Apr 4 19:47:12 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: testdb (not mounted) // nomount 상태이다.
connected to recovery catalog database
RMAN> restore controlfile;
Starting restore at 04-APR-12
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=155 devtype=DISK
channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: reading from backup piece /home/oracle/flash_recovery_area/TESTDB/backupset/2012_04_04/o1_mf_ncsnf_TAG20120404T192926_7qr8z1w1_.bkp
channel ORA_DISK_1: restored backup piece 1
piece handle=/home/oracle/flash_recovery_area/TESTDB/backupset/2012_04_04/o1_mf_ncsnf_TAG20120404T192926_7qr8z1w1_.bkp tag=TAG20120404T192926
channel ORA_DISK_1: restore complete, elapsed time: 00:00:09
output filename=/home/oracle/oradata/testdb/control01.ctl
output filename=/home/oracle/oradata/testdb/control02.ctl
output filename=/home/oracle/oradata/testdb/control03.ctl
Finished restore at 04-APR-12
RMAN> alter database mount;
database mounted
released channel: ORA_DISK_1
1.4 recover database[편집]
RMAN> alter database open resetlogs;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of alter db command at 04/04/2012 19:52:47
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
- 컨트롤 파일을 restore 를 했지만 recovery 과정을 하지 않았기 때문에 open 이 안된다.
1.4.1 recover database[편집]
RMAN> recover database;
Starting recover at 04-APR-12
Starting implicit crosscheck backup at 04-APR-12
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=154 devtype=DISK
Crosschecked 1 objects
Finished implicit crosscheck backup at 04-APR-12
Starting implicit crosscheck copy at 04-APR-12
using channel ORA_DISK_1
Crosschecked 1 objects
Finished implicit crosscheck copy at 04-APR-12
searching for all files in the recovery area
cataloging files...
cataloging done
List of Cataloged Files
=======================
File Name: /home/oracle/flash_recovery_area/TESTDB/backupset/2012_04_04/o1_mf_ncsnf_TAG20120404T192926_7qr8z1w1_.bkp
using channel ORA_DISK_1
starting media recovery
archive log thread 1 sequence 5 is already on disk as file /home/oracle/oradata/testdb/redo01.log
archive log filename=/home/oracle/oradata/testdb/redo01.log thread=1 sequence=5
media recovery complete, elapsed time: 00:00:05
Finished recover at 04-APR-12
1.5 database open[편집]
- open 을 시도한다.
- resetlogs 옵션으로 open을 해야 한다.
RMAN> alter database open resetlogs;
database opened
new incarnation of database registered in recovery catalog
starting full resync of recovery catalog
full resync complete