RMAN恢复丢失某一个数据文件
下面的实验是模拟一个数据文件example02.dbf丢失,如何进行RMAN恢复操作。
[oracle@even test]$ ll
total 1561260
-rw-r----- 1 oracle oinstall 5251072 Dec 27 14:35 cf_bck_test01.dbf
-rw-r----- 1 oracle oinstall 7061504 Dec 27 14:44 control01.ctl
-rw-r----- 1 oracle oinstall 7061504 Dec 27 14:44 control02.ctl
-rw-r----- 1 oracle oinstall 7061504 Dec 27 14:44 control03.ctl
-rw-r----- 1 oracle oinstall 104865792 Dec 27 14:35 example01.dbf
-rw-r----- 1 oracle oinstall 104865792 Dec 27 14:43 example02.dbf
-rw-r----- 1 oracle oinstall 52429312 Dec 27 14:35 redo01.log
-rw-r----- 1 oracle oinstall 52429312 Dec 27 14:44 redo02.log
-rw-r----- 1 oracle oinstall 52429312 Dec 27 14:35 redo03.log
-rw-r----- 1 oracle oinstall 1056768 Dec 27 14:35 smalltbs01.dbf
-rw-r----- 1 oracle oinstall 1056768 Dec 27 14:35 smalltbs02.dbf
-rw-r----- 1 oracle oinstall 398467072 Dec 27 14:41 sysaux01.dbf
-rw-r----- 1 oracle oinstall 597696512 Dec 27 14:42 system01.dbf
-rw-r----- 1 oracle oinstall 20979712 Dec 23 12:07 temp01.dbf
-rw-r----- 1 oracle oinstall 89137152 Dec 27 14:41 undotbs01.dbf
-rw-r----- 1 oracle oinstall 98312192 Dec 27 14:35 users01.dbf
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
[oracle@even test]$ cp example02.dbf example02.dbf.bak
[oracle@even test]$ rm -rf example02.dbf
[oracle@even test]$ ll
total 1561260
-rw-r----- 1 oracle oinstall 5251072 Dec 27 14:47 cf_bck_test01.dbf
-rw-r----- 1 oracle oinstall 7061504 Dec 27 14:47 control01.ctl
-rw-r----- 1 oracle oinstall 7061504 Dec 27 14:47 control02.ctl
-rw-r----- 1 oracle oinstall 7061504 Dec 27 14:47 control03.ctl
-rw-r----- 1 oracle oinstall 104865792 Dec 27 14:47 example01.dbf
-rw-r----- 1 oracle oinstall 104865792 Dec 27 14:48 example02.dbf.bak
-rw-r----- 1 oracle oinstall 52429312 Dec 27 14:35 redo01.log
-rw-r----- 1 oracle oinstall 52429312 Dec 27 14:47 redo02.log
-rw-r----- 1 oracle oinstall 52429312 Dec 27 14:35 redo03.log
-rw-r----- 1 oracle oinstall 1056768 Dec 27 14:47 smalltbs01.dbf
-rw-r----- 1 oracle oinstall 1056768 Dec 27 14:47 smalltbs02.dbf
-rw-r----- 1 oracle oinstall 398467072 Dec 27 14:47 sysaux01.dbf
-rw-r----- 1 oracle oinstall 597696512 Dec 27 14:47 system01.dbf
-rw-r----- 1 oracle oinstall 20979712 Dec 23 12:07 temp01.dbf
-rw-r----- 1 oracle oinstall 89137152 Dec 27 14:47 undotbs01.dbf
-rw-r----- 1 oracle oinstall 98312192 Dec 27 14:47 users01.dbf
[oracle@even test]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Dec 27 14:48:47 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 285212672 bytes
Fixed Size 1218992 bytes
Variable Size 100664912 bytes
Database Buffers 180355072 bytes
Redo Buffers 2973696 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 9 - see DBWR trace file
ORA-01110: data file 9: '/u01/app/oracle/oradata/test/example02.dbf'
RMAN> restore datafile 9;
Starting restore at 27-DEC-12
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=155 devtype=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: sid=154 devtype=DISK
allocated channel: ORA_DISK_3
channel ORA_DISK_3: sid=153 devtype=DISK
creating datafile fno=9 name=/u01/app/oracle/oradata/test/example02.dbf
restore not done; all files readonly, offline, or already restored
Finished restore at 27-DEC-12
RMAN> recover datafile 9;
Starting recover at 27-DEC-12
using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
starting media recovery
media recovery complete, elapsed time: 00:00:01
Finished recover at 27-DEC-12
RMAN> sql 'alter database open';
sql statement: alter database open
RMAN> sql 'alter database datafile 9 online';
sql statement: alter database datafile 9 online
SQL> select file_id,tablespace_name,status from dba_data_files;
FILE_ID TABLESPACE_NAME STATUS
---------- ------------------------------ ---------
4 USERS AVAILABLE
3 SYSAUX AVAILABLE
2 UNDOTBS1 AVAILABLE
1 SYSTEM AVAILABLE
5 EXAMPLE AVAILABLE
6 SMALLTBS AVAILABLE
7 SMALLTBS AVAILABLE
8 CF_BCK_TEST AVAILABLE
9 EXAMPLE AVAILABLE
9 rows selected.
到此9号文件恢复成功。