ITPub博客

首页 > Linux操作系统 > Linux操作系统 > RMAN 恢复笔记

RMAN 恢复笔记

原创 Linux操作系统 作者:boyall111 时间:2011-08-24 21:13:47 0 删除 编辑

准备做一些RMAN恢复测试案例:

1、生产环境:Oracle9i  No-RAC +raw

 只有  rman backupset & backuplog ,需要恢复至异机同平台 Oracle9i No-RAC  的文件系统上,不完全恢复;

2、生产环境:HP Oracle 10g No-RAC + Raw

        只有  rman backupset & backuplog ,需要恢复至IBM Oracle10g No-RAC  的文件系统上,完全恢复;

 

场景1的恢复过程:由于时间紧,没有整理很有条理;

mkdir -p /testfs/oradata/sdcen1rman
mkdir -p /testfs/admin/sdcen1rman/bdump
mkdir -p /testfs/admin/sdcen1rman/cdump
mkdir -p /testfs/admin/sdcen1rman/udump
mkdir -p /testfs/admin/sdcen1rman/adump

#ORACLE_SID恢复
export ORACLE_SID=sdcen1rman

rman target /

###DBID从备份日志中查询
RMAN> set   DBID=1314882979


RMAN> startup nomount
restore spfile to pfile '/oracle/app/oracle/product/9.2.0/dbs/initsdcen1rman.ora'  from '/testfs/SDCEN1c-1314882979-20110824-05';


RMAN> host;                                                                          

#######确认恢复的pfile文件
RMAN> startup force nomount pfile='/oracle/app/oracle/product/9.2.0/dbs/initsdcen1rman.ora'
######使用vi 编辑 pfile 确认相关目录的设置正确(including controlfile,bdump,cdump,udump etc..)
##############################################

RMAN> restore controlfile from  '/testfs/SDCEN1c-1314882979-20110824-05';
RMAN> alter database mount;
RMAN>run
{
set until time "to_date('2011/08/24 15:02:10','yyyy/mm/dd hh24:mi:ss')";
set newname  for  datafile 1  to '/testfs/oradata/sdcen1rman/vg1cen_2g_sys.dbf';
set newname  for  datafile 2  to '/testfs/oradata/sdcen1rman/vg1cen_8g_002.dbf';
........
set newname  for  datafile 79  to '/testfs/oradata/sdcen1rman/vg2cen_4g_011.dbf';
set newname  for  datafile 80  to '/testfs/oradata/sdcen1rman/vg2cen_4g_012.dbf';
restore database;    
}
==========rman====上面的语句只是将数据文件从备份集中恢复,并指定了恢复时间。
==========rman====下面的语句是将DB recover到一个特定时间,logseq,等。
==========rman====在OPEN之前,需要对redo进行改名处理,打开时需要使用resetlogs参数;

run
{
 allocate channel t1 type disk;
 recover database  until logseq|sequenece|time 13310 thread 1;
}


rman recover database
=========RMAN通过 RMAN从备份集中恢复指定区间的归档日志到指定目前。
run
2> {
3> set archivelog destination to '/testfs/admin/sdcen1rman';
4> restore archivelog from logseq 13306 until logseq 13310;
5> }

#### restore 100min 310GB
====#sql 语句执行数据文件改名操作,对控制文件进行了处理。
alter database rename file  '/dev/rvg1cen_2g_sys'   to  '/testfs/oradata/sdcen1rman/vg1cen_2g_sys.dbf';
...... 
alter database rename file  '/dev/rvg2cen_4g_010'   to  '/testfs/oradata/sdcen1rman/vg2cen_4g_010.dbf';
alter database rename file  '/dev/rvg2cen_4g_012'   to  '/testfs/oradata/sdcen1rman/vg2cen_4g_012.dbf';
recover database using backup controlfile;

alter database open;


=====通过rman恢复归档日志的办法第一种方法
list backup of archivelog all;
2:
run{
set archivelog destination to '/d01/vecentli';
restore archivelog from logseq xx until logseq yy;
}
=====通过rman恢复归档日志的办法第二种方法
restore archivelog   from这种语法,from backuppiece会报如上错,from tag没问题A
restore archvielog all from tag XXXXXXXXXXXX:

场景二:


 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/229689/viewspace-705728/,如需转载,请注明出处,否则将追究法律责任。

下一篇: DUL 更新2016
请登录后发表评论 登录
全部评论

注册时间:2010-03-03

  • 博文量
    15
  • 访问量
    20434