oracle資料庫恢複
恢複背景
使用RMAN做了資料庫的完全備份、參數檔案、控制檔案的備份,所有資料檔案\ 線上重做日志檔案、控制檔案和spfile參數檔案全部丢失
恢複步驟
1.關閉資料庫
RMAN> shutdown immediate;
Oracle instance shut down
2.設定DBID
RMAN> set dbid 663499696
(可以在備份集的名稱上得到DBID)
executing command: SET DBID
3.強行啟動執行個體
RMAN> startup force nomount;
startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/opt/app/oracle/product/10.2.0/db_1/dbs/initora10.ora'
starting Oracle instance without parameter file for retrival of spfile
Oracle instance started
Total System Global Area 159383552 bytes
Fixed Size 1218268 bytes
Variable Size 54528292 bytes
Database Buffers 100663296 bytes
Redo Buffers 2973696 bytes
4.恢複spfile參數檔案(AUTOBACK已經不可用)
RMAN> restore spfile from '/orabak/ctl_c-663499696-20090319-00';
Starting restore at 19-MAR-09
using channel ORA_DISK_1
channel ORA_DISK_1: autobackup found: /orabak/ctl_c-663499696-20090319-00
channel ORA_DISK_1: SPFILE restore from autobackup complete
Finished restore at 19-MAR-09
5.恢複控制檔案(AUTOBACK已經不可用)
RMAN> restore controlfile from '/orabak/ctl_c-663499696-20090319-00';
re
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:02
output filename=/opt/app/oracle/product/10.2.0/db_1/dbs/cntrlora10.dbf(注意:控制檔案不在原來資料檔案的位置)
7. 關閉資料庫
using target database control file instead of recovery catalog
RMAN> startup mount;
connected to target database (not started)
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-03002: failure of startup command at 03/19/2009 13:55:37
ORA-00205: error in identifying control file, check alert log for more info
8.恢複控制檔案(AUTOBACK已經不可用)
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=156 devtype=DISK
channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
output filename=/opt/app/oracle/oradata/ora10/control01.ctl
output filename=/opt/app/oracle/oradata/ora10/control02.ctl
output filename=/opt/app/oracle/oradata/ora10/control03.ctl(注意:控制檔案已經恢複到原來資料檔案的位置)
9.裝載資料庫
RMAN> alter database mount;
database mounted
released channel: ORA_DISK_1
10.還原資料庫
RMAN> restore database;
Starting implicit crosscheck backup at 19-MAR-09
Crosschecked 1 objects
Finished implicit crosscheck backup at 19-MAR-09
Starting implicit crosscheck copy at 19-MAR-09
Finished implicit crosscheck copy at 19-MAR-09
searching for all files in the recovery area
cataloging files...
no files cataloged
channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00001 to /opt/app/oracle/oradata/ora10/system01.dbf
restoring datafile 00002 to /opt/app/oracle/oradata/ora10/undotbs01.dbf
restoring datafile 00003 to /opt/app/oracle/oradata/ora10/sysaux01.dbf
restoring datafile 00004 to /opt/app/oracle/oradata/ora10/users01.dbf
restoring datafile 00005 to /opt/app/oracle/oradata/ora10/user_data.dbf
channel ORA_DISK_1: reading from backup piece /orabak/arch/20090319_0kkaa72a_1_1.bak
channel ORA_DISK_1: restored backup piece 1
piece handle=/orabak/arch/20090319_0kkaa72a_1_1.bak tag=TAG20090319T111522
channel ORA_DISK_1: restore complete, elapsed time: 00:01:15
11.恢複資料庫
RMAN> recover database;
Starting recover at 19-MAR-09
la
starting media recovery
unable to find archive log
archive log thread=1 sequence=3
RMAN-03002: failure of recover command at 03/19/2009 14:03:07
RMAN-06054: media recovery requesting unknown log: thread 1 seq 3 lowscn 522697
12.重置onlineredolog日志序号
RMAN> alter database open resetlogs;
database opened
RMAN>
資料庫恢複完成!
本文轉自 pgmia 51CTO部落格,原文連結:http://blog.51cto.com/heyiyi/140488