1.Database open,datafile deleted 数据库打开时,文件被删除.
*数据文件在数据库打开时被删除.有两个方法可以对打开的数据库进行恢复;还原数据文件或者表空间.下面两个实例显示了该方法:
☆1. datafile recovery 数据文件恢复.
RMAN>run {
2>allocate channel dev1 type disk;
3>sql "alter tablespace offline immediate";
4>restore datafile ;
5>recover datafile ;
6>sql "alter tablespace online";
7>release channel dev1;
8>}
注:其中tablespacedatafilenumber 可查询视图v$datafile 的File#,name列来获得.
[@more@]☆2. Tablespace recovery 表空间恢复
RMAN>run {
2>allocate channel dev1 type disk;
3>sql "alter tablespace offline immediate";
4>restore tablespace ;
5>recover tablespace ;
6>sql "alter tablespace online";
7>release channel dev1;
8>}
注:若还原系统表空间文件(system01.dbf),数据库必须关闭,因为系统表空间不可以脱机.
2. Complete restore (lost online redo) and rollforward database closed 完全还原(丢失联机日志)并且前滚数据库关闭.
RMAN>run {
2>allocate channel dev1 type disk;
3>set until logseg=105 thread=1;
4>restore controlefile to 'e:/oracle/dbs/ctrltargdb.ctl';
5>replicate controlfile from 'e:/oracle/dbs/ctrltargdb.ctl';
6>restore database;
7>sql "alter database mount";
8>recover database;
9>sql "alter database open resetlogs";
10>release channel dev1;
11>}
*注:'set until' 命令指明恢复到指定的日志文件.这一点在数据文件恢复时很重要,否则RMAN将试图恢复到最近的数据文件,该数据文件可能在指定的日志以前.
*'replicate controlfile'复制还原的控制文件到 init.ora 指定的控制文件.
*若数据库使用 with resetlogs 打开,则需要使用 reset database 命令注册改变后的数据库.在使用 resetlogs命令打开数据库后强烈作一个完全的数据库备份.
3. Restore of a subset of datafiles,complete recovery 还原数据文件的子集,完全恢复.
RMAN>run {
2>allocate channel dev1 type disk;
3>sql "alter database mount";
4>restore datafile ;
5>restore datafile ;
6>restore archivelog all;
7>recover database;
8>sql "alter database open";
9>release channel dev1;
10>}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20546452/viewspace-784373/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/20546452/viewspace-784373/