二、控制文件恢复
1、只有一个控制文件损坏
可以利用好的控制文件覆盖损坏的控制文件,覆盖前最好备份,以免操作错误
将好的控制文件覆盖。
2、使用默认位置,启动前损坏
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE
TYPE DISK TO '/u01/bak/ %F';
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
RMAN> backup current controlfile;
删除控制文件
RMAN> startup nomount;
RMAN> set dbid 4235312041
RMAN> restore controlfile from '/u01/bak/ctl_ORA11G_20140225_29_1';
或 RMAN> restore controlfile from autobackup; 实际从 dbs 目录下的备份恢复
RMAN> alter database mount;
RMAN> recover database;
RMAN> alter database open resetlogs;
注意:以 resetlogs 方式打开数据库后,最好对数据库做一次全备。
3、使用非默认位置,启动前损坏
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE
TYPE DISK TO '/oracle/%F';
RMAN> backup current controlfile;
删除控制文件
RMAN> startup nomount;
由于数据库在 nomount 状态 rman 只能读取默认配置的,不能读取到更改后的位
置/oracle/%F,需要先设置位置
RMAN> set dbid 4235312041
RMAN> run
{
SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE disk to
'/u01/bak/%F';
restore controlfile from autobackup;
}
RMAN> alter database mount;
RMAN> recover database;
RMAN> alter database open resetlogs;
4、运行时损坏
删除控制文件
RMAN> restore controlfile to '/tmp/control01.ctl' from autobackup;
$ cp /tmp/control01.ctl $ORACLE_BASE/oradata/ora11g
$ cp control01.ctl control02.ctl
RMAN> shutdown abort;
RMAN> startup nomount;
文档被以下合辑收录
相关文档
评论