2016年9月1日rman备份恢复脚本
Rman备份恢复
RMAN恢复
• • • • • • • • • • • • • • • • • • • 配置RMAN环境4: 9. 显示RMAN配置 (1) 显示所有RMAN环境配置 RMAN>show all; (2) 显示默认设备类型 RMAN>show default device type; (3) 显示自动通道配置 RMAN>show channel for device type disk; (4) 显示备份冗余策略 RMAN>show retention policy; (5) 显示备份优化 RMAN>show backup optimization; (6) 显示快照控制文件 RMAN>show snapshot controlfile name; (7) 显示备份集最大尺寸 RMAN>show maxsetsize; (8) 显示多重备份 RMAN>show datafile backup copies;--(数据文件多重备份信息) RMAN>show archivelog backup copies;--(归档日志多重备份信息)
RMAN恢复
• • • • • • • • • • • • • • • • • • 连接到RMAN 1. 连接到目标数据库(不使用恢复目录) >rman target sys/oracle@demo nocatalog 或 \>rman nocatalog RMAN>connect target sys/oracle@demo 2. 连接到目标数据库和恢复目录 \>rman target sys/oracle@demo catalog rman/rman@rcat 或 \>rman RMAN>connect target sys/oracle@demo RMAN>connect catalog rman/rman@rcat 3. 连接到目标数据库和辅助数据库 >rman target sys/oracle@demo auxiliary sys/admin@aux 或 >rman RMAN>connect target sys/oracle@demo RMAN>connect auxiliary sys/adminSTEM表空间的数据文件 • .当SYSTEM表空间出现介质失败时,数据库不能被打开,所以必须在 MOUNT状态下恢复其数据文件. • RMAN> run { • startup force mount; • restore datafile 1; • recover datafile 1; • sql 'alter database open'; • }
RMAN恢复操作
RMAN恢复操作RMAN(Recovery Manager)是Oracle 数据库提供的一种备份和恢复工具,它能够帮助数据库管理员进行数据库的全量备份、增量备份和恢复操作。
RMAN具有很强的自动化和并行处理功能,可以大大简化数据库备份和恢复的操作过程,提高数据库的可用性和数据的安全性。
在进行RMAN恢复操作前,首先需要进行备份恢复策略的制定。
策略包括备份类型(全量备份、增量备份、归档日志备份)、备份频率、备份保留周期和恢复时间目标等。
根据具体的需求,确定适合的备份和恢复策略。
RMAN支持多种备份方式,可以通过RMAN命令行工具或者企业管理器进行备份。
在进行备份操作时,可以选择全量备份、增量备份或归档日志备份。
全量备份是将整个数据库的数据和控制文件备份,可以用于初始化数据库或完全恢复数据库。
增量备份是将数据库的变化部分备份,可以显著减少备份时间和存储空间。
归档日志备份是将数据库的归档日志备份,用于数据库的恢复操作。
RMAN在进行备份操作时,会将备份集保存到磁盘或者磁带等存储介质上。
备份集包括数据文件备份、控制文件备份和归档日志备份。
备份集可以通过RMAN命令进行管理和检查,还可以进行压缩和加密操作,提高备份效率和保护备份数据的安全性。
在进行恢复操作时,可以选择完全恢复或部分恢复。
完全恢复是将数据库恢复到最近的完全备份点,然后通过应用归档日志将数据库恢复到指定的时间点。
部分恢复是将数据库恢复到一些指定的时间点或者指定的恢复点。
RMAN在进行恢复操作时,会自动应用备份和归档日志,进行数据的重建和恢复。
RMAN还支持增量恢复,可以在进行部分恢复时,只恢复已经发生变化的数据块。
增量恢复可以提高恢复效率,减少恢复时间。
RMAN还支持数据库的跨平台恢复和迁移。
通过RMAN可以实现不同操作系统平台之间的数据库迁移和恢复。
在进行跨平台恢复和迁移时,需要进行必要的参数调整和文件路径修改,保证数据库恢复和迁移的正确性。
RMAN丢失了控制文件如何恢复
这里假定是nocatalog的情况下,我们采用了RMAN备份,但是丢失了控制文件,因为控制文件中包含了rman的备份信息,所以没有办法用平常的方法来恢复,如果想恢复数据库,则需要利用一个叫DBMS_BACKUP_RESTORE的包来实现,这个包在nomount下就可以正常运行,也就是说,只需要启动到nomount下就可以利用它来恢复控制文件或者数据文件以及归档日志。
1、从备份片中恢复控制文件
最好有控制文件能恢复,就算恢复的这个控制文件没有最新的备份信息也好,起码可以利用它来定位数据文件。
如果没有控制文件可恢复,后来的数据文件恢复将变的更复杂。
以下是恢复控制文件的脚本,需要在sys as dba的连接下执行。
2、从备份片中恢复数据文件
恢复数据文件的时候,必须要知道数据文件对应的文件编号,而且最好能知道数据文件位于哪个备份片,所以就是前面说的最好能先resotre一个控制文件出来,如果实在不行,能用备份时候的日志也可以。
以下是恢复全备份的下的数据文件的脚本:
当然,有的时候,我们不仅仅是做全备份,还要做增量备份,那么我们怎么从增量备份中应用备份到数据文件中呢,我们可以参考如下脚本:
3、从备份片中恢复归档日志
如果restore完数据文件,归档日志也是可能需要做restore的,用于做recover,可以采用如下的脚本恢复archive log:
以上是恢复一个归档日志的脚本,如果是恢复批量的归档日志,可以采用增加如下内容在上面的脚本中。
Oracle-RMAN备份恢复
1. 检查数据库模式:sqlplus /nologconn /as sysdbaarchive log list (查看数据库是否处于归档模式中)若为非归档,则修改数据库归档模式。
startup mountalter database archivelogalter database open2.连接到target数据库命令:connect target / (connect target system/oracle@ora10g,如果数据库没有起来,也可要直接在rman命令下用startup进行启动数据库)可以连接到target database.(rman 一边连接到target数据库,另外一边连接到control file(nocatalog mode),control file 中存储rman 的备份信息)3.用list backupset 命令查看有没有备份的东西4. 常用备份命令:备份全库:RMAN> backup database plus archivelog delete input; (备份全库及控制文件、服务器参数文件与所有归档的重做日志,并删除旧的归档日志)备份表空间:RMAN> backup tablespace system plus archivelog delete input; (备份指定表空间及归档的重做日志,并删除旧的归档日志)_备份归档日志:RMAN> backup archivelog all delete input;======================对整个数据库进行备份==================1.对整个数据库进行全备份(full backup)。
只要输入命令: backup database;2.list backupset 查看备份的具体信息List of Backup Sets===================BS Key Type LV Size Device Type Elapsed Time Completion Time------- ---- -- ---------- ----------- ------------ ---------------1 Full 6.80M DISK 00:00:02 06-DEC-08BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20081206T201041 Piece Name:/home/oracle/flash_recovery_area/ORA10G/backupset/2008_12_06/o1_mf_ncsnf_TAG2 0081206T201041_4mntz78s_.bkpControl File Included: Ckp SCN: 782019 Ckp time: 06-DEC-08SPFILE Included: Modification time: 06-DEC-08BS(backupset), piece是一个文件,一个BS包含多个piece.3.rman中缺省的参数,可以通过show all ;来进行查看(RMAN configuration parameters),我们在使用backup database命令中,可以把这些default value 用固定的值来进行替代.4.我们可以把备份的文件才备份的目录中拷贝到磁带上,然后删除备份目录下面的备份文件,如果下次需要恢复的话,只要把文件重新拷回到用来的备份目录就可以了5.查看control file 文件中的备份信息(因为我们做的备份是在nocatalog模式下),control file 在/u01/oracle/oradata/ora10g目录下,由于control file 是个二进制文件,要查看control file 文件中的内容,用strings control03.ctl,发现control03.ctl中有rman备份的信息了====================0级增量备份===============概念:全备份和0级增量备份。
RMAN地备份与恢复步骤详解
在这里没有讨论多么深入的RMAN技术,也没有告诉大家这样去编写备份脚本,这并不是我的初衷,我只想把我会的写出来,和大家一起学习,一起进步,谢谢。
1、切换服务器归档模式,如果已经是归档模式可跳过此步:%sqlplus /nolog (启动sqlplus)SQL> conn / as sysdba (以DBA身份连接数据库)SQL> shutdown immediate; (立即关闭数据库)SQL> startup mount (启动实例并加载数据库,但不打开) SQL> alter database archivelog; (更改数据库为归档模式)SQL> alter database open; (打开数据库)SQL> alter system archive log start; (启用自动归档) SQL> exit (退出)2、连接: %rman target=rman/rman@mydb (启动恢复管理器)3、基本设置: RMAN> configure default device type to disk; (设置默认的备份设备为磁盘)RMAN> configure device type disk parallelism 2; (设置备份的并行级别,通道数)RMAN> configure channel 1 device type disk fromat '/backup1/backup_%U'; (设置备份的文件格式,只适用于磁盘设备)RMAN> configure channel 2 device type disk fromat '/backup2/backup_%U'; (设置备份的文件格式,只适用于磁盘设备)RMAN> configure controlfile autobackup on; (打开控制文件与服务器参数文件的自动备份)RMAN> configure controlfile autobackup format for device type disk to '/backup1/ctl_%F'; (设置控制文件与服务器参数文件自动备份的文件格式)4、查看所有设置:RMAN> show all5、查看数据库方案报表:RMAN> report schema;6、备份全库:RMAN> backup database plus archivelog delete input; (备份全库及控制文件、服务器参数文件与所有归档的重做日志,并删除旧的归档日志)7、备份表空间:RMAN> backup tablespace system plus archivelog delete input; (备份指定表空间及归档的重做日志,并删除旧的归档日志)8、备份归档日志:RMAN> backup archivelog all delete input;9、复制数据文件:RMAN> copy datafile 1 to '/oracle/dbs/system.copy';10、查看备份和文件复本:RMAN> list backup;11、验证备份:RMAN> validate backupset 3;12、从自动备份中恢复服务器参数文件:RMAN> shutdown immediate; (立即关闭数据库)RMAN> startup nomount; (启动实例)RMAN> restore spfile to pfile '/backup1/mydb.ora' from autobackup; (从自动备份中恢复服务器参数文件) 13、从自动备份中恢复控制文件:RMAN> shutdown immediate; (立即关闭数据库)RMAN> startup nomount; (启动实例)RMAN> restore controlfile to '/backup1' from autobackup; (从自动备份中恢复控制文件)13、恢复和复原全数据库:RMAN> shutdown immediate; (立即关闭数据库)RMAN> exit (退出)%mv /oracle/dbs/tbs_12.f /oracle/dbs/tbs_12.bak (将数据文件重命名)%mv /oracle/dbs/tbs_13.f /oracle/dbs/tbs_13.bak (将数据文件重命名)%mv /oracle/dbs/tbs_14.f /oracle/dbs/tbs_14.bak (将数据文件重命名)%mv /oracle/dbs/tbs_15.f /oracle/dbs/tbs_15.bak (将数据文件重命名)%rman target=rman/rman@mydb (启动恢复管理器)RMAN> startup pfile=/oracle/admin/mydb/pfile/initmydb.ora (指定初始化参数文件启动数据库)RMAN> restore database; (还原数据库) RMAN> recover database; (恢复数据库)RMAN> alter database open; (打开数据库)14、恢复和复原表空间:RMAN> sql 'alter tablespace users offline immediate'; (将表空间脱机)RMAN> exit (退出恢复管理器)%mv /oracle/dbs/users01.dbf /oracle/dbs/users01.bak (将表空间重命名)%rman target=rman/rman@mydb (启动恢复管理器)RMAN> restore tablespace users; (还原表空间)RMAN> recover tablespace users; (恢复表空间)RMAN> sql 'alter tablespace users online'; (将表空间联机)15、增量备份与恢复:第一天的增量基本备份:RMAN> backup incremental level=0 database plus archivelog delete input;第二天的增量差异备份:RMAN> backup incremental level=2 database plus archivelog delete input;第三天的增量差异备份:RMAN> backup incremental level=2 database plus archivelog delete input;第四天的增量差异备份:RMAN> backup incremental level=1 database plus archivelog delete input;第五天的增量差异备份:RMAN> backup incremental level=2 database plus archivelog delete input;第六天的增量差异备份:RMAN> backup incremental level=2 database plusarchivelog delete input;第七天的增量差异备份:RMAN> backup incremental level=0 database plus archivelog delete input;增量恢复:RMAN> shutdown immediate;RMAN> exit%mv /oracle/dbs/tbs_12.f /oracle/dbs/tbs_12.bak%mv /oracle/dbs/tbs_13.f /oracle/dbs/tbs_13.bak%mv /oracle/dbs/tbs_14.f /oracle/dbs/tbs_14.bak%mv /oracle/dbs/tbs_15.f /oracle/dbs/tbs_15.bak%rman target=rman/rman@mydbRMAN> startup pfile=/oracle/admin/mydb/pfile/initmydb.ora RMAN> restore database;RMAN> recover database;RMAN> alter database open。
RMAN的备份与恢复步骤详解
RMAN的备份与恢复步骤详解RMAN(Recovery Manager)是Oracle数据库备份和恢复技术的核心工具,提供了一种集中管理和自动化备份和恢复操作的方式。
下面将详细介绍RMAN的备份与恢复步骤。
备份步骤:1.配置RMAN环境:确定RMAN备份目标、备份库、目标库的连接信息,并设置环境变量。
2.创建RMAN备份目标:使用CREATECATALOG命令创建RMAN备份目标,以存储备份信息和恢复目标的元数据。
3.创建备份策略:确定备份类型(完全备份、增量备份、增量备份级别等),备份周期(每日、每周)、备份级别(全局备份、局部备份)以及备份介质(磁盘、磁带)等。
4.执行备份命令:使用BACKUP命令执行备份操作。
根据备份策略选择相应的备份类型,并指定备份集的存储位置。
可以使用全量备份、增量备份或归档日志备份等方式进行备份。
5.备份验证和测试:使用RESTORE命令验证备份集是否可恢复。
可以恢复到测试库中,检查数据的完整性以及备份恢复的过程和时间。
恢复步骤:1.准备恢复环境:确定系统状态,关闭数据库、归档日志模式,备份控制文件,以备份增量恢复,恢复目标数据库的连接信息,并设置环境变量。
2.恢复控制文件:将备份的控制文件还原到指定位置,以获取数据库的结构信息。
3.恢复数据库文件:使用RESTORE命令恢复需要的数据文件。
可以选择完全恢复(使用全量备份和归档日志进行恢复)、增量恢复(使用增量备份和归档日志进行恢复)或点恢复(使用时间点或SCN号进行恢复)的方式。
4.打开数据库:使用OPENRESETLOGS命令打开数据库,恢复数据库文件到最新的状态。
5.检查恢复结果:验证恢复后数据库的完整性和一致性。
使用相应的SQL语句检查数据的正确性、索引的可用性和对象的有效性。
常见问题处理:1.恢复失败的处理:RMAN提供了很多失败后的处理命令,比如RECOVER命令来恢复损坏的数据文件,CROSSCHECK命令来检查备份文件的完整性等。
rman备份与恢复数据库
再执行BACKUP DATABASE指令备份整个数据库。
(1)使用数据库用户名和密码登陆RMAN
D:\>rman target system/oracle@orcl
(2)在RMAN执行程序中,通过客户端指令关闭数据库,
然后从RMAN加载数据到MOUNT状态。
RMAN>shutdown immediate
RMAN>startup mount
(3)使用BACKUP DATABRMAT参数说明备份的全库
(3)将数据库处于归档模式。
使用BACKUP DATABASE联机备份整个数据库
RMAN>backup database;
在备份整个数据库时,其实就是备份了数据文件,
其中包含了当前的控制文件和参数文件。而重做日志文件或归档日志文件
因此oracle建议创建单独的恢复目录,
这样可以更好的发挥RMAN提供的新特性。
快闪恢复区(flash recovery area)
快闪恢复区是存储与备份和恢复数据文件以及相关信息的存储区。
快闪恢复区保存了每个数据文件的备份,
增量备份,控制文件备份,以及归档重做日志备份。
信息库既可以存储在数据库的控制文件中,
也可以存储在恢复目录中。
在oracle中默认先将RMAN信息库写入控制文件,
如果存在恢复目录则需要继续写入到恢复目录。
使用控制文件的不足是控制文件中记录RMAN信息库的空间有限
当空间不足时可能被覆盖掉。
(2)控制文件
(3)数据库文件和控制文件的映像副本
(4)归档日志文件
RMAN备份与恢复
RMAN备份与恢复目录目录................................................................................................................. 错误!未定义书签。
前言................................................................................................................. 错误!未定义书签。
第一章:RMAN简介 .................................................................................. 错误!未定义书签。
第二章:RMAN组件 .................................................................................. 错误!未定义书签。
第三章:RMAN启动方式.......................................................................... 错误!未定义书签。
1、不用恢复目录的启动方式................................................................. 错误!未定义书签。
2、用恢复目录的启动方式..................................................................... 错误!未定义书签。
第四章:RMAN参数配置.......................................................................... 错误!未定义书签。
RMAN地备份与恢复步骤详解
在这里没有讨论多么深入的RMAN技术,也没有告诉大家这样去编写备份脚本,这并不是我的初衷,我只想把我会的写出来,和大家一起学习,一起进步,谢谢。
1、切换服务器归档模式,如果已经是归档模式可跳过此步:%sqlplus /nolog (启动sqlplus)SQL> conn / as sysdba (以DBA身份连接数据库)SQL> shutdown immediate; (立即关闭数据库)SQL> startup mount (启动实例并加载数据库,但不打开) SQL> alter database archivelog; (更改数据库为归档模式) SQL> alter database open; (打开数据库)SQL> alter system archive log start; (启用自动归档) SQL> exit (退出)2、连接:%rman target=rman/rman@mydb (启动恢复管理器)3、基本设置:RMAN> configure default device type to disk; (设置默认的备份设备为磁盘)RMAN> configure device type disk parallelism 2; (设置备份的并行级别,通道数)RMAN> configure channel 1 device type disk fromat '/backup1/backup_%U'; (设置备份的文件格式,只适用于磁盘设备)RMAN> configure channel 2 device type disk fromat '/backup2/backup_%U'; (设置备份的文件格式,只适用于磁盘设备)RMAN> configure controlfile autobackup on; (打开控制文件与服务器参数文件的自动备份)RMAN> configure controlfile autobackup format for device type disk to '/backup1/ctl_%F'; (设置控制文件与服务器参数文件自动备份的文件格式)4、查看所有设置:RMAN> show all5、查看数据库方案报表:RMAN> report schema;6、备份全库:RMAN> backup database plus archivelog delete input; (备份全库及控制文件、服务器参数文件与所有归档的重做日志,并删除旧的归档日志)7、备份表空间:RMAN> backup tablespace system plus archivelog delete input; (备份指定表空间及归档的重做日志,并删除旧的归档日志)8、备份归档日志:RMAN> backup archivelog all delete input;9、复制数据文件:RMAN> copy datafile 1 to '/oracle/dbs/system.copy';10、查看备份和文件复本:RMAN> list backup;11、验证备份:RMAN> validate backupset 3;12、从自动备份中恢复服务器参数文件:RMAN> shutdown immediate; (立即关闭数据库) RMAN> startup nomount; (启动实例)RMAN> restore spfile to pfile '/backup1/mydb.ora' from autobackup; (从自动备份中恢复服务器参数文件)13、从自动备份中恢复控制文件:RMAN> shutdown immediate; (立即关闭数据库) RMAN> startup nomount; (启动实例)RMAN> restore controlfile to '/backup1' from autobackup; (从自动备份中恢复控制文件)13、恢复和复原全数据库:RMAN> shutdown immediate; (立即关闭数据库) RMAN> exit (退出)%mv /oracle/dbs/tbs_12.f /oracle/dbs/tbs_12.bak (将数据文件重命名)%mv /oracle/dbs/tbs_13.f /oracle/dbs/tbs_13.bak (将数据文件重命名)%mv /oracle/dbs/tbs_14.f /oracle/dbs/tbs_14.bak (将数据文件重命名)%mv /oracle/dbs/tbs_15.f /oracle/dbs/tbs_15.bak (将数据文件重命名)%rman target=rman/rman@mydb (启动恢复管理器) RMAN> startup pfile=/oracle/admin/mydb/pfile/initmydb.ora (指定初始化参数文件启动数据库)RMAN> restore database; (还原数据库) RMAN> recover database; (恢复数据库)RMAN> alter database open; (打开数据库)14、恢复和复原表空间:RMAN> sql 'alter tablespace users offline immediate'; (将表空间脱机)RMAN> exit (退出恢复管理器)%mv /oracle/dbs/users01.dbf /oracle/dbs/users01.bak (将表空间重命名)%rman target=rman/rman@mydb (启动恢复管理器) RMAN> restore tablespace users; (还原表空间) RMAN> recover tablespace users; (恢复表空间)RMAN> sql 'alter tablespace users online'; (将表空间联机)15、增量备份与恢复:第一天的增量基本备份:RMAN> backup incremental level=0 database plus archivelog delete input;第二天的增量差异备份:RMAN> backup incremental level=2 database plus archivelog delete input;第三天的增量差异备份:RMAN> backup incremental level=2 database plus archivelog delete input;第四天的增量差异备份:RMAN> backup incremental level=1 database plus archivelog delete input;第五天的增量差异备份:RMAN> backup incremental level=2 database plus archivelog delete input;第六天的增量差异备份:RMAN> backup incremental level=2 database plus archivelog delete input;第七天的增量差异备份:RMAN> backup incremental level=0 database plus archivelog delete input;增量恢复:RMAN> shutdown immediate;RMAN> exit%mv /oracle/dbs/tbs_12.f /oracle/dbs/tbs_12.bak%mv /oracle/dbs/tbs_13.f /oracle/dbs/tbs_13.bak%mv /oracle/dbs/tbs_14.f /oracle/dbs/tbs_14.bak%mv /oracle/dbs/tbs_15.f /oracle/dbs/tbs_15.bak%rman target=rman/rman@mydbRMAN> startup pfile=/oracle/admin/mydb/pfile/initmydb.oraRMAN> restore database;RMAN> recover database;RMAN> alter database open。
rman常用命令
rman常用命令摘要:一、RMAN 简介二、RMAN 常用命令分类1.备份命令2.还原命令3.恢复命令4.镜像命令5.管理命令三、RMAN 命令使用案例1.备份案例2.还原案例3.恢复案例4.镜像案例5.管理案例正文:RMAN(Recovery Manager)是Oracle 数据库中一款强大的数据备份和恢复工具。
它能够提供全面的数据保护,确保数据的安全性和完整性。
在实际应用中,掌握RMAN 的常用命令是进行数据库管理工作的基本要求。
本文将详细介绍RMAN 的常用命令,并通过实际案例演示如何应用这些命令。
一、RMAN 简介RMAN 是Oracle 数据库自带的一款备份和恢复工具,相较于传统的备份工具,如cp、tar 等,RMAN 具有更强大的功能,能够实现数据库的在线备份、自动备份、数据恢复等多种操作。
二、RMAN 常用命令分类下面我们将详细介绍RMAN 的常用命令,并根据功能将其分类。
1.备份命令RMAN 提供了一系列备份命令,用于对数据库、表空间、数据文件等进行备份。
常用的备份命令有:- backup database plus archivelog- backup database plus archivelog all- backup database plus archivelog incremental- backup database plus archivelog differential2.还原命令RMAN 的还原命令用于将备份的数据恢复到数据库中。
常用的还原命令有:- recover database- recover database until point- recover database plus archivelog- recover database plus archivelog until point3.恢复命令恢复命令用于将数据库恢复到某一特定时刻的状态。
常用的恢复命令有:- reset database- reset database plus archivelog- mount database- open database4.镜像命令RMAN 的镜像命令用于创建数据库的镜像副本。
第6章 RMAN备份与恢复
new RMAN configuration parameters are successfully stored RMAN> configure channel 1 device type disk to destination 'd:\backup';
--设置通道1的备份路径为'd:\backup' new RMAN configuration parameters: CONFIGURE CHANNEL 1 DEVICE TYPE DISK TO DESTINATION
所谓通道:是指由服务器进程发起并控制目标数据库的文件与物理设备之间 的字节流。一个通道即为一个会话,一个会话对应于一个服务器进程。所有 的备份和恢复操作都是由RMAN连接的服务器进程完成的,更确切的说:是 由通道完成的。通道的分配主要有两种形式:自动分配通道和手动分配通道 。可以根据预定义的配置参数自动分配通道,也可以在需要时手动分配通道 。
为2,这样备份开始时会使用两个通道进行备份。
new RMAN configuration parameters: CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO
BACKUPSET; new RMAN configuration parameters are successfully stored 还原默认设置值: RMAN> configure device type disk clear; old RMAN configuration parameters: CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO
6.1.1 连接数据库
RMAN地备份与恢复步骤详解
RMAN地备份与恢复步骤详解RMAN(Recovery Manager)是Oracle数据库中用于备份和恢复数据的工具。
RMAN提供了一种灵活、高效的备份和恢复机制,可以帮助数据库管理员有效地管理数据库的备份和恢复工作。
在本文中,我们将详细介绍RMAN备份与恢复的步骤和操作方法。
备份步骤:1.配置RMAN环境:在开始进行RMAN备份之前,首先需要配置RMAN环境。
这包括设置RMAN的环境变量、创建RMAN的配置文件以及配置RMAN的连接信息等操作。
您可以使用RMAN命令行或者RMAN配置助手来完成这些操作。
2.创建备份任务:在配置好RMAN环境之后,可以通过RMAN命令行或者RMAN配置助手来创建备份任务。
您可以选择全量备份、增量备份或者归档日志备份等不同类型的备份任务。
3. 执行备份任务:一旦创建了备份任务,就可以使用RMAN命令来执行备份任务。
您可以使用“backup database”命令来执行全量备份任务,使用“backup incremental”命令来执行增量备份任务,使用“backup archivelog”命令来执行归档日志备份任务等。
4. 监控备份过程:在执行备份任务的过程中,可以使用RMAN命令来监控备份的进度和状态。
您可以使用“show”命令来查看备份任务的进度、使用“list”命令来列出备份文件的信息等。
5. 完成备份任务:一旦备份任务执行完毕,可以使用RMAN命令来验证备份文件的完整性和一致性。
您可以使用“crosscheck”命令来验证备份文件的状态,使用“delete”命令来删除过期的备份文件等。
恢复步骤:1.配置RMAN环境:在开始进行RMAN恢复之前,需要先配置好RMAN的环境。
确保RMAN的环境变量、配置文件和连接信息都已经设置好。
2. 恢复数据库:如果数据库遇到了故障或者数据丢失的情况,可以使用RMAN命令来恢复数据库。
您可以使用“restore database”命令来还原数据库的备份文件,使用“recover database”命令来恢复数据库的数据文件。
rman备份策略及备份脚本
Rman归档模式下的热备份策略及实施方案一、归档模式设置:1.查看归档状态为非归档SQL> select log_mode from v$database;LOG_MODE------------NOARCHIVELOGarchive状态DisabledSQL> archive log listDatabase log modeNo Archive ModeAutomatic archivalDisabledArchive destination/archivelogOldest online log sequence2Current log sequence42.设置数据库为归档模式SQL> shutdown immediate;SQL> startup mount;SQL> alter database archivelog;SQL> alter system set log_archive_start=true scope=spfile; SQL> shutdown immediate;SQL> startup;SQL> archive log listDatabase log modeArchive ModeAutomatic archivalEnabledArchive destination/archivelogOldest online log sequence2Next log sequence to archive4Current log sequence4二、rman配置准备:在Rman中,已设置了参数每次备份自动备份控制文件和参数文件,其配置命令为:$ rman target /RMAN>CONFIGURECONTROLFILEAUTOBACKUP--设置控制文件和参数文件自动备份RMAN> set controlfileautobackup format for device type disk to'/backupora/%F';自动备份控制文件存放位置ON;--设置三、备份策略:1、每三个月使用磁带机进行一次数据库全备份:crontab内容为:--每个季度的第一天早上1点作一次全备份,将备份记录输出到full_backup.log文件0 1 1 1,4,7,10 * oracle/backupora/full_backup.sh >/backupora/full_backup.log##full_backup.sh内容如下:ORACLE_HOME=/orac/orahome/10.2.0/db_1;export ORACLE_HOMEORACLE_SID=hisu; export ORACLE_SIDPATH=$PATH:ORACLE_HOME/bin;export PATHdaterman</backupora/full_backup.sqldate##full_backup.sql内容:$rman target /run {allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;allocate channel c4 type disk;backup database;backuparchivelog all not backed up;copy current controlfile to '/backupora/control.ctl'; release channel c4;release channel c3;release channel c2;release channel c1;}2、每星期进行一次level 0的增量备份(基础备份):crontab内容为:--每个星期五23:00分作一次基本备份,将备份记录输出到inc_backup_lv 0.log文件0 23 * * 5 oracle /backupora/inc_backup_lv0.sh >/backupora/inc_backup_lv0.log##inc_backup_lv0.sh内容如下:ORACLE_HOME=/orac/orahome/10.2.0/db_1;export ORACLE_HOMEORACLE_SID=hisu; export ORACLE_SIDPATH=$PATH:ORACLE_HOME/bin;export PATHdaterman</backupora/inc_backup_lv0.sqldate##inc_backup_lv0.sql内容:$rman target /run {allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;allocate channel c4 type disk;backup incremental level = 0 database;backuparchivelog all not backed up;copy current controlfile to '/backupora/control.ctl';release channel c4;release channel c3;release channel c2;release channel c1;}3、每隔一小时进行一次level 1增量备份:crontab内容为:--每天中午一点钟和晚上10点钟作一次增量备份,将备份记录输出到inc_backup_lv1.log文件0 13,22 * * * oracle /backupora/inc_backup_lv1.sh >/backupora/inc_backup_lv1.log##inc_backup_lv1.sh内容如下:ORACLE_HOME=/orac/orahome/10.2.0/db_1;export ORACLE_HOMEORACLE_SID=hisu;export ORACLE_SIDPATH=$PATH:ORACLE_HOME/bin;export PATHdaterman</backupora/inc_backup_lv1.sqldate##inc_backup_lv1.sql内容:$rman target /run {allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;allocate channel c4 type disk;backup incremental level = 1 database; backuparchivelog all not backed up;copy current controlfile to '/backupora/control.ctl'; release channel c4;release channel c3;release channel c2;release channel c1;}四、查看备份情况:在Rman使用list backup查看各个备份集备份信息:$rman target /RMAN> list backup;{当备份比较多时,可用list backupset 15(BS号)查看某个备份集的备份内容}五、具体操作说明:1.ORACLE_HOME(红色字)对应的目录及ORACLE_SID变量(红色字)的设置,以实际$ORACLE_HOME和ORACLE_SID为准;2.脚本中的目录及文件名,可自行修改;3.上文中对应的脚本文件(绿色字),自行创建并授与oracle用户相应的读写及执行权限;4.备份目录/backupora要给oracle用户读写权限;5.以上使用计划任务,利用rman作备份。
RMAN备份与恢复
RMAN备份与恢复参考链接:RMAN是物理备份,可以做到任意时间点的恢复。
归档模式下,RMAN既可以冷备,也可以热备⾮归档模式下,RMAN只能冷备。
⼀、创建并注册恢复⽬录 1. SQL窗⼝中创建恢复⽬录所使⽤的表空间SQL>create tablespace rman_tbsp datafile '/u01/app/oracle/oradata/orcl/rman_tbsp.dbf' size 1G autoextend on;Tablespace created. 2. 创建RMAN⽤户并授权SQL>create user rman_user identified by123456default tablespace rman_tbsp temporary tablespace temp;SQL>grant connect,recovery_catalog_owner,resource to rman_user; 3. shell窗⼝打开恢复管理器rman target sysdba/123456 catalog rman_user/123456; 4. 在RMAN模式下,创建恢复⽬录create catalog tablespace rman_tbsp; 5. 在RMAN模式下,使⽤register命令注册数据库register database;database registered in recovery catalogstarting full resync of recovery catalogfull resync complete⼆、在归档模式下和⾮归档模式下备份数据库(⼀致性与⾮⼀致性)2.1⼀致性备份数据库⼀致性备份是指关闭了数据库后备份所有数据⽂件和控制⽂件的⽅法。
当使⽤SHUTDOWN 命令正常关闭了数据库之后,所有数据库⽂件的当前SCN 值完全⼀致,所以关闭后的数据库备份被称为数据库⼀致性备份或者冷备份。
RMAN恢复数据库到指定时间点的脚本
restoring datafile 00002 to /oracle/ora10gR2/oradata/ora10g/undotbs01.dbf
restoring datafile 00003 to /oracle/ora10gR2/oradata/ora10g/sysaux01.dbf
channel c2: specifying datafile(s) to restore from backup set
restoring datafile 00011 to /u01/app/oracle/oradata/PROD/disk1/DATA01_01.dbf
restoring datafile 00012 to /u01/app/oracle/oradata/PROD/disk2/DATA01_02.dbf
)使用RMAN脚本恢复数据库到指定时间点
(1)恢复脚本如下
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
sql 'alter session set nls_date_format="yyyy-mm-dd hh24:mi:ss"';
restoring datafile 00015 to /u01/app/oracle/oradata/PROD/disk5/DATA01_05.dbf
channel c2: reading from backup piece /oracle/ora10gR2/flash_recovery_area/ORA10G/backupset/2011_10_19/o1_mf_nnndf_TAG20111019T221636_79xq067w_.bkp
常用rman备份恢复命令
常用rman备份恢复命令Oracle的官方文档中有rman命令的比较完整的说明,我们可以参考。
下面是一些常用的命令的使用例子:Rman常用命令:一、RMAN设置1.显示RMAN默认配置Rman中可以利用show命令来显示当前的配置参数。
例如,通过SHOW ALL显示当前所有的配置。
RMAN> show all;RMAN 配置参数为:CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;CONFIGURE BACKUP OPTIMIZATION OFF; # defaultCONFIGURE DEFAULT DEVICE TYPE TO DISK; # defaultCONFIGURE CONTROLFILE AUTOBACKUP ON;CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'd:/backup/%F'; CONFIGURE DEVICE TYPE DISK PARALLELISM 1; # defaultCONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # defaultCONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE MAXSETSIZE TO UNLIMITED; # defaultCONFIGURE SNAPSHOT CONTROLFILE NAME TO 'F:\ORAHOME1\DATABASE\SNCFJSSWEB.ORA'; # defaultRMAN>注:配置项后面跟了# default的表示该项仍是初始配置,未被修改过。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
rman备份恢复1.通过rman备份文件恢复spfile2.通过rman备份文件恢复controlfile3.通过rman备份文件恢复datafile4.利用恢复回来的controlfile和datafile生成redolog5.测试交易是否存在,并全备我系统环境所有的文件如下:[oracle@fowaydbs]$ pwd/opt/oracle/10g/dbs[oracle@fowaydbs]$ lsinitdw.orainit.ora[oracle@fowaydbs]$ls /opt/oracle/oradata已没有任何资料[oracle@fowaydbs]$ls /opt/oracle/admin已没有任何资料[oracle@fowaydbs] ls /opt/oracle/flash_recovery_area/ ORCL[oracle@fowaydbs]ls/opt/oracle/flash_recovery_area/ORCL/backupset/2008_07_18[oracle@fowaydbs]ls/opt/oracle/flash_recovery_area/ORCL/backupset/2008_07_ 18/o1_mf_ncsnf_TAG20080718T203240_482fls2h_.bkpo1_mf_nnndf_TAG20080718T203240_482fkb0k_.bkp在我这台电脑上, ,系统中所有的ORCL相关的数据文件,参数文件,日志文件,控制文件全部不在了, 没有其他可用的备份文件了,只有rman备份的文件在,这可怎么办呢?没办法只能恢复了,可怎么恢复呢?要恢复数据文件用rman备份? 能吗? 当然不能了,因为restore 必须在mount or open状态下.参数文件,控制文件都没有怎么mount?要mount必须有参数文件,控制文件,为此我们必须解决这2个难题了.在解决难题前先准备ORCL的必须的目录:[oracle@fowaydbs]mkdir /opt/oracle/oradata/orcl[oracle@fowaydbs]mkdir /opt/oracle/admin/orcl/adump –p [oracle@fowaydbs]mkdir /opt/oracle/admin/orcl/cdump [oracle@fowaydbs]mkdir /opt/oracle/admin/orcl/bdump [oracle@fowaydbs]mkdir /opt/oracle/admin/orcl/udump [oracle@fowaydbs]mkdir /opt/oracle/admin/orcl/dpdump [oracle@fowaydbs]mkdir /opt/oracle/admin/orcl/pfile难题1:spfile有人说没参数文件我新建立一个pfile,当然这个办法是可行的,不过在10g中rman备份是自动备份了spfile的,所以我们可以利用rman来恢复spfile了.[oracle@fowaydbs]rman target / nocatalogRecovery Manager: Release 10.2.0.4.0 - Production on Fri Jul 18 21:21:47 2008Copyright (c) 1982, 2005, Oracle.All rights reserved.connected to target database (not started)RMAN> list backup;RMAN-00571:======================================================= ====RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571:======================================================= ====RMAN-03002: failure of list command at 07/18/2008 21:24:37 RMAN-06403: could not obtain a fully authorized session ORA-01034: ORACLE not availableORA-27101: shared memory realm does not existLinux Error: 2: No such file or directorylist copy;RMAN-00571:======================================================= ====RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571:======================================================= ====RMAN-03002: failure of list command at 07/18/2008 21:24:51 RMAN-06403: could not obtain a fully authorized session ORA-01034: ORACLE not availableORA-27101: shared memory realm does not existLinux Error: 2: No such file or directory看到上面的是正常的,因为数据库没有启动呢.于是我们先启动数据库到nomout下RMAN>startup nomountstartup failed: ORA-01078: failure in processing system parametersLRM-00109: could not open parameter file '/opt/oracle/10g/dbs/initorcl.ora'starting Oracle instance without parameter file for retrival of spfileOracle instance startedTotal System Global Area159383552 bytesFixed Size1218268 bytesVariable Size54528292 bytesDatabase Buffers100663296 bytesRedo Buffers2973696 bytesRMAN>list backup;RMAN>list copy;将与上次执行看到的一样,此时也是正常的,不必担心,下面就是利用rman备份文件来解决难题1了.RMAN> restore spfilefrom'/opt/oracle/flash_recovery_area/ORCL/backupset/2008_07_18/o1_mf_ncsnf_TAG20080718T203240_482fls2h_.bkp'; Starting restore at 18-JUL-08allocated channel: ORA_DISK_1channel ORA_DISK_1: sid=36 devtype=DISKchannel ORA_DISK_1: autobackup found: /opt/oracle/flash_recovery_area/ORCL/backupset/2008_07_ 18/o1_mf_ncsnf_TAG20080718T203240_482fls2h_.bkpchannel ORA_DISK_1: SPFILE restore from autobackup completeFinished restore at 18-JUL-08下面是来验证spfileorcl.ora文件是否已存在:[oracle@fowaydbs]$ pwd/opt/oracle/10g/dbs[oracle@fowaydbs]$ lsinitdw.orainit.oraspfileorcl.ora恭喜你:spfile已恢复了有了参数文件,就需要解决控制文件恢复了难题2. 控制文件恢复这个又怎么恢复呢? 用rman的自动备份控制文件的rman备份吗? 是的没错,只有从rman备份文件中提取出来的controlfile才能使用rman备份文件恢复datafile的.那么这里有来种办法来实现从rman备份文件中提取出controlfie了.方法1.RMAN>restore controlfile from ‘/…备份文件..’;恢复的控制文件将放在$ORACLE_HOME/dbs/cncontrl.dbf不过这个方法有时恢复的控制文件中记录的dbname与实际不一致.方法2: 利用dbms_backup_restore提取controlfile步骤:[oracle@fowaydbs]$sqlplus /nologSQL*Plus: Release 10.2.0.4.0 - Production on Fri Jul 18 21:38:21 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.SQL> conn /as sysdbaConnected.由于在刚才使用rman时执行了startup nomount,所以这里是connected,下面我们到nomount状态SQL> startup force nomountORACLE instance started.Total System Global Area 167772160 bytesFixed Size 1218316 bytesVariable Size 62916852 bytesDatabase Buffers 100663296 bytesRedo Buffers 2973696 bytesSQL>DECLARE2devtype varchar2(256);3done boolean;4BEGIN5devtype:=sys.dbms_backup_restore.deviceAllocate(type=> '',ident=>'T1');6sys.dbms_backup_restore.restoreSetDatafile;7sys.dbms_backup_restore.restoreControlfileTo(cfname=>' /opt/oracle/oradata/orcl/control01.ctl');8sys.dbms_backup_restore.restoreBackupPiece(done=>done, handle=>'/opt/oracle/flash_recovery_area/ORCL/backupset /2008_07_18/o1_mf_ncsnf_TAG20080718T203240_482fls2h_.bk p',params=>null);9 sys.dbms_backup_restore.deviceDeallocate;10 end;11/PL/SQL procedure successfully completed.下面验证control01.ctl是否恢复:[oracle@fowaydbs]$ ls /opt/oracle/oradata/orcl/control01.ctl[oracle@fowaydbs]$看到了control01.ctl 恭喜你:难题2 解决了.于是我们可以启动数据库到mount状态了.[oracle@fowaydbs]$sqlplus /nologSQL*Plus: Release 10.2.0.4 - Production on Fri Jul 18 21:45:32 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.SQL> conn /as sysdbaConnected.SQL> startup force mountORACLE instance started.Total System Global Area 167772160 bytesFixed Size 1218316 bytesVariable Size 62916852 bytesDatabase Buffers 100663296 bytesRedo Buffers 2973696 bytesORA-00205: error in identifying control file, check alert log for more info我们已经恢复了控制文件了,怎么还是有错误呢,其实不用担心,看看spfile中的记录先SQL> show parameter control_filesNAME TYPE VALUE------------------------------------ ----------- ------------------------------control_files string /opt/oracle/oradata/orcl/control01.ctl, /opt/oracle/oradata/orcl/control02.ctl, /opt/oracle/oradata/orcl/control03.ctlSQL>既然如此,我们就把控制文件同步下好了.SQL> ho cp /opt/oracle/oradata/orcl/control01.ctl /opt/oracle/oradata/orcl/control02.ctlSQL> ho cp /opt/oracle/oradata/orcl/control01.ctl /opt/oracle/oradata/orcl/control03.ctlSQL> alter database mount;Database altered.SQL> ho ls /opt/oracle/oradata/orcl/control01.ctl control02.ctl control03.ctl好了到这里我们已经成功解决了难题2了.有了恢复后的控制文件,我们就可以使用rman查看与使用以前的rman备份了.恢复datafile 步骤:rman target / nocatalogRecovery Manager: Release 10.2.0.4 - Production on Fri Jul 18 21:49:10 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.connected to target database: ORCL (DBID=1188209463, not open)using target database control file instead of recovery catalogRMAN>看到了红色部分了吗,太好了终于看到了正常的rman登陆信息了.那就list copy|backup 看看能找到我们的o1_mf_ncsnf_TAG20080718T203240_482fls2h_.bkpo1_mf_nnndf_TAG20080718T203240_482fkb0k_.bkp文件吗.RMAN> list copy;specification does not match any archive log in the recovery catalogRMAN> list backup;List of Backup Sets===================BS Key Type LV Size Device Type Elapsed Time Completion Time------- ---- -- ---------- ----------- ------------ ---------------1 Full 495.41M DISK 00:00:41 18-JUL-08BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20080718T203240Piece Name: /opt/oracle/flash_recovery_area/ORCL/backupset/2008_07_ 18/o1_mf_nnndf_TAG20080718T203240_482fkb0k_.bkpList of Datafiles in backup set 1File LV Type Ckp SCN Ckp Time Name---- -- ---- ---------- --------- ----1 Full 453304 18-JUL-08 /opt/oracle/oradata/orcl/system01.dbf2 Full 453304 18-JUL-08 /opt/oracle/oradata/orcl/undotbs01.dbf3 Full 453304 18-JUL-08 /opt/oracle/oradata/orcl/sysaux01.dbf4 Full 453304 18-JUL-08 /opt/oracle/oradata/orcl/users01.dbfRMAN>太好了,总于可以使用restore,recover来恢复datafile了.RMAN> restore database;Starting restore at 18-JUL-08Starting implicit crosscheck backup at 18-JUL-08allocated channel: ORA_DISK_1channel ORA_DISK_1: sid=156 devtype=DISK Crosschecked 1 objectsFinished implicit crosscheck backup at 18-JUL-08 Starting implicit crosscheck copy at 18-JUL-08 using channel ORA_DISK_1Finished implicit crosscheck copy at 18-JUL-08 searching for all files in the recovery area cataloging files...cataloging doneList of Cataloged Files=======================File Name: /opt/oracle/flash_recovery_area/ORCL/backupset/2008_07_ 18/o1_mf_ncsnf_TAG20080718T203240_482fls2h_.bkpusing channel ORA_DISK_1channel ORA_DISK_1: starting datafilebackupset restorechannel ORA_DISK_1: specifying datafile(s) to restore from backup setrestoringdatafile 00001 to /opt/oracle/oradata/orcl/system01.dbfrestoringdatafile 00002 to /opt/oracle/oradata/orcl/undotbs01.dbfrestoringdatafile 00003 to /opt/oracle/oradata/orcl/sysaux01.dbfrestoringdatafile 00004 to /opt/oracle/oradata/orcl/users01.dbfchannel ORA_DISK_1: reading from backup piece /opt/oracle/flash_recovery_area/ORCL/backupset/2008_07_ 18/o1_mf_nnndf_TAG20080718T203240_482fkb0k_.bkpchannel ORA_DISK_1: restored backup piece 1piecehandle=/opt/oracle/flash_recovery_area/ORCL/backupset/2 008_07_18/o1_mf_nnndf_TAG20080718T203240_482fkb0k_.bkp tag=TAG20080718T203240channel ORA_DISK_1: restore complete, elapsed time: 00:00:56Finished restore at 18-JUL-08RMAN>此时可以在$ORACLE_BASE/oradata/orcl/下看到期望已久的datafile了.[oracle@fowaydbs] ls /opt/oracle/oradata/orcl/control01.ctl control02.ctl control03.ctl sysaux01.dbf system01.dbf undotbs01.dbf users01.dbf[oracle@fowaydbs]不过此时还没有完哈,需要在接在励.由于没有redo log日志文件所以我们不应用日志恢复:RMAN> recover database noredo;Starting recover at 18-JUL-08using channel ORA_DISK_1Finished recover at 18-JUL-08RMAN>到目前我们已经拥有了参数文件,控制文件,数据文件了:[oracle@fowaydbs] ls /opt/oracle/oradata/orcl/ls /opt/oracle/oradata/orcl/control01.ctl control02.ctl control03.ctl sysaux01.dbf system01.dbfundotbs01.dbf users01.dbf[oracle@fowaydbs] ls /opt/oracle/10g/dbs/alert_orcl.log hc_orcl.dat initdw.orainit.oralkORCLspfileorcl.ora还差一个密码文件,以及相关的日志文件了.先解决密码文件:[oracle@fowaydbs]orapwdfile=/opt/oracle/10g/dbs/orapworclpassword=uplooking entries=5[oracle@fowaydbs] ls /opt/oracle/10g/dbs/ls /opt/oracle/10g/dbs/alert_orcl.log initdw.oralkORCLspfileorcl.orahc_orcl.dat init.oraorapworcl下面需要大家坚持不懈的完成最后一个工作了.通过已经恢复的controlfile and datafile 来演算出redo log file了.步骤:[oracle@fowaydbs]sqlplus /nologSQL*Plus: Release 10.2.0.4 - Production on Fri Jul 18 21:58:05 2008Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> conn /as sysdbaConnected.SQL> startup force mountORACLE instance started.Total System Global Area 167772160 bytesFixed Size 1218316 bytesVariable Size 62916852 bytesDatabase Buffers 100663296 bytesRedo Buffers 2973696 bytesDatabase mounted.SQL>alter system set "_allow_resetlogs_corruption"=TRUE;alter system set "_allow_resetlogs_corruption"=TRUE*ERROR at line 1:ORA-02095: specified initialization parameter cannot be modifiedSQL> alter system set "_allow_resetlogs_corruption"=TRUE scope=spfile;System altered.SQL>ho ls /opt/oracle/oradata/orcl/control01.ctl control03.ctl sysaux01.dbf undotbs01.dbfcontrol02.ctlorapworcl system01.dbf users01.dbf下面没有redo log file ,下面我将演算出redo logSQL>startup forceORACLE instance started.Total System Global Area 167772160 bytesFixed Size 1218316 bytesVariable Size 62916852 bytesDatabase Buffers 100663296 bytesRedo Buffers 2973696 bytesDatabase mounted.ORA-01589: must use RESETLOGS or NORESETLOGS option for database openSQL>alter database open resetlogs;Database altered.SQL> ho ls /opt/oracle/oradata/orcl/control01.ctlorapworcl redo03.log temp01.dbfcontrol02.ctl redo01.log sysaux01.dbf undotbs01.dbf control03.ctl redo02.log system01.dbf users01.dbf SQL>好了到这里,非常高兴了,你已经成功的从只有rman备份文件中恢复了参数文件,控制文件,所有数据文件,日志文件了.。