暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
模拟各类文件损坏的rman恢复(适合初学者).doc
585
8页
30次
2021-07-22
5墨值下载
备份恢复实验
编者:王帅
一、实验环境
主机:Red Hat Enterprise Linux Server release 5.8/2.6.18-308.el5
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit
Production
DBID=4235312041
[oracle@ora11g ~]$ rman target / log /u01/app/rman.log append
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
RMAN> run
{
allocate channel c1 type disk;
allocate channel c2 type disk;
backup filesperset 3 database format '/u01/app/orabak/full_%d_%T_%s_%p';
sql 'alter system archive log current';
backup archivelog all format '/u01/app/orabak/arch_%d_%T_%s_%p';
backup current controlfile format '/u01/app/orabak/ctl_%d_%T_%s_%p';
}
RMAN> shutdown immediate;
二、参数文件恢复
1、启动前损坏
删除 spfile
RMAN> startup nomount;
RMAN> set dbid 4235312041
RMAN> restore spfile from autobackup;
RMAN> run{
set controlfile autobackup format for device type disk to '/oracle/%F';
restore spfile from autobackup;
}
RMAN> Restore spfile from '/u01/app/oracle/product/11.2/dbs/c-4235312041-
20140225-04';
2、运行时损坏
删除 spfile
RMAN> restore spfile to '/tmp/spfileora11g.ora' from autobackup;
$ cp /tmp/spfileorcl.ora $ORACLE_HOME/dbs
意: spfile 启动的,再 copy 到原
可。
二、控制文件恢复
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;
RMAN> alter database mount;
RMAN> recover database;
RMAN> alter database open resetlogs;
三、表空间文件恢复
1、系统表空间文件恢复
删除 system01.dbf
RMAN> shutdown abort
RMAN> startup mount;
RMAN> restore datafile 1;
RMAN> recover datafile 1;
RMAN> alter database open;
2undo 表空间文件恢复
删除 undotbs01.dbf
RMAN> shutdown immediate;
RMAN> startup mount;
RMAN> restore datafile 3;
RMAN> restore datafile '/u01/app/oracle/oradata/ora11g/undotbs01.dbf';
RMAN> recover datafile 3;
RMAN> recover database;
RMAN> alter database open;
3、用户表空间文件恢复
删除 users01.dbf
RMAN> startup mount;
RMAN> run
{
restore datafile '/u01/app/oracle/oradata/ora11g/users01.dbf';
recover database;
alter database open;
}
在线恢复
删除 users01.dbf
SQL> alter database datafile 4 offline;
SQL> select file#,status from v$datafile;
RMAN> restore datafile 4;
RMAN> recover datafile 4;
SQL> alter database datafile 4 online;
users 表空间损坏
of 8
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。