RMAN备份与恢复之文件丢失恢复方法
windows下的oracle数据库rman自动备份和恢复文档
数据库rman 备份恢复文档Rman 简介RMAN是ORACLE!供的恢复和备份工具,是随Oracle服务器软件一同安装的工具软件,它可以用来备份和恢复数据库文件、归档日志和控制文件,用来执行完全或不完全的数据库恢复。
与传统工具相比,RMAN 具有独特的优势:跳过未使用的数据块。
当备份一个RMAN 备份集时,RMAN不会备份从未被写入的数据块,而传统的方式无法获知那些是未被使用的数据块。
RMAr使用Oracle特有的二进制压缩模式,与传统备份的压缩方式相比,能够最大程度地压缩数据块中的一些典型数据。
二.系统规划数据库备份文件不建议与系统盘( C 盘)、oracle 数据文件存放盘( D 盘)存放在一起,本文单独存放于 E 盘。
注:在进行以下操作前要根据自己的环境建立如下目录“”,“' E:\archivelog_backup ”,“ E:/orabackup_script/ ”。
本文用到的命令中的标点均为英文字符下的标点。
三.设置oracle 数据库为归档模式(ARCHIVELOG)按以下步骤操作,检查oracle 数据库是否为归档模式。
1. 选择“开始”“系统” “运行”,输入cmd按回车。
2. 输入“ sqlplus ”,按回车。
3. 输入“ system / as sysdba ”,按回车。
4. 输入数据库system 账号的密码,按回车。
5. 查看数据库归档模式,输入“ archive log list; ”,按回车。
如下图所示。
C : XDocuments and Settings\Adminis :tpator>sqIplusSQL*Flus: Re lease 10,2.0.1.0 - Production on 星期二 1 月 8 22:2S :02 201^Copi/i*ight (c> 1982, Oracle. All rights i^eserved.旌接到:lOracle Database 10^ Enterprise Edition Release 16.2.0.1.0 - 64b±t Production With the Partit ion Ing, OLAP and D&ta Min inct opt ions档模式:2. 关闭数据库。
Rman恢复方法及不同恢复方式的特点
各种故障背景下的恢复方法丢失或损坏的文件归档模式数据库状态恢复方法一个或多个数据文件不归档模式关闭状态利用一致的完全数据库备份修复整个数据库,自从备份之后发生的所有修改都将丢失;修复数据库后不需要进行恢复,利用RESETLOGS选项直接打开数据库;注意:在这种情况下进行恢复时,惟一一种可以不利用RESETLOGS选项打开数据库的情况就是在执行最近一次备份之后,联机重做日志中的内容没有被覆盖掉。
一个或多个数据文件,以及联机重做日志文件不归档模式关闭状态利用一致的完全数据库备份修复整个数据库,自从备份之后发生的所有修改都将丢失;修复数据库后不需要进行恢复,利用RESETLOGS选项直接打开数据库。
一个或多个数据文件以及所有的控制文件不归档模式关闭状态利用一致的完全数据库备份修复整个数据库,自从备份之后发生的所有修改都将丢失;修复数据库后不需要进行恢复,利用RESETLOGS选项直接打开数据库。
注:以上三种不归档模式下的数据库恢复都需要在数据库关闭状态下进行,并且需要拥有正确的控制文件备份。
一个或多个数据文件归档模式加载状态在数据库打开状态下执行表空间或数据文件恢复操作,首先将表空间或数据文件置为脱机状态,然后利用备份修复它们,对它们进行恢复,最后再将它们重新置为联机状态;任何数据修改都不会丢失,并且在恢复过程中数据库的其他部分仍然是可以访问的。
全部的数据文件归档模式关闭状态利用备份修复数据文件,然后使用控制文件加载数据库,并且执行完全恢复;如果所有的联机重做日志文件都没有丢失或损害,最后可以用正常方式打开数据库(不需要使用RESETLOGS选项)一个或多个数据文件以及恢复所需的归档重做日志文件。
归档模式加载状态对包含丢失的数据文件的表空间进行基于时间的表空间恢复,将这个表空间恢复到最近的可用归档重做日志所对应的时刻下的状态。
所有的控制文件,还可能包括一个或多个数据文件归档模式未加载状态利用备份修复丢失的控制文件与数据文件,然后对数据文件进行恢复;任何数据修改都不会丢失,但是在恢复过程中数据库将处于不可用状态。
RMAN恢复操作
2.2 示例二,SYSTEM表空间数据文件所作磁盘出现故障
RMAN> run {
startup force mount;
set newname for datafile 1 to '';
restore datafile 1;
一、RMAN恢复综述
1、RMAN完全恢复
是指当数据文件出现介质失败时,使用RESTORE命令转储数据文件备份,并使用RECOVER命令将数据文件恢复到失败点的状态。当数据库处于ARCHIVELOG模式时,在进行日志切换时会自动生成归档日志,并且会将所有重做历史记录存放到归档日志中。
restore database;
recover database;
sql 'alter database open';
}
1.2 示例二,数据文件所在磁盘出现硬件故障
set newname for datafile 4 to '';
restore tablespace users;
switch datafile all;
sql 'alter database datafile 4 offline';
restore datafile 4;
recover datafile 4;
sql 'alter database datafile 4 online';
set newname for datafile 3 to '';
set newname for datafile 4 to '';
set newname for datafile 5 to '';
使用RMAN对数据文件进行恢复
使⽤RMAN对数据⽂件进⾏恢复(1)备份数据库在使⽤RMAN进⾏数据库恢复之前,先⽤RMAN进⾏全库备份[oracle@redhat6 ~]$ rman target /Recovery Manager: Release 11.2.0.1.0- Production on Wed May 1614:32:542018Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.connected to target database: ORCL (DBID=1486787650)RMAN>backup database;Starting backup at 16-MAY-18using channel ORA_DISK_1channel ORA_DISK_1: starting full datafile backup setchannel ORA_DISK_1: specifying datafile(s) in backup setinput datafile file number=00001 name=/u01/app/oracle/oradata/orcl/system01.dbfinput datafile file number=00002 name=/u01/app/oracle/oradata/orcl/sysaux01.dbfinput datafile file number=00003 name=/u01/app/oracle/oradata/orcl/undotbs01.dbfinput datafile file number=00005 name=/u01/app/oracle/oradata/orcl/example01.dbfinput datafile file number=00009 name=/u01/app/oracle/oradata/orcl/mark.bdfinput datafile file number=00011 name=/u01/app/oracle/oradata/orcl/tbs01.bdfinput datafile file number=00012 name=/u01/app/oracle/oradata/orcl/tbs03.dbfinput datafile file number=00013 name=/u01/app/oracle/oradata/orcl/tbs04.dbfinput datafile file number=00004 name=/u01/app/oracle/oradata/orcl/users01.dbfchannel ORA_DISK_1: starting piece 1 at 16-MAY-18channel ORA_DISK_1: finished piece 1 at 16-MAY-18piece handle=/u01/app/oracle/product/11.2.0/db_1/dbs/01t31soh_1_1 tag=TAG20180516T144121 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:02:33channel ORA_DISK_1: starting full datafile backup setchannel ORA_DISK_1: specifying datafile(s) in backup setinput datafile file number=00008 name=/u01/app/oracle/oradata/orcl/tbs_32k.dbfchannel ORA_DISK_1: starting piece 1 at 16-MAY-18channel ORA_DISK_1: finished piece 1 at 16-MAY-18piece handle=/u01/app/oracle/product/11.2.0/db_1/dbs/02t31sta_1_1 tag=TAG20180516T144121 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:01channel ORA_DISK_1: starting full datafile backup setchannel ORA_DISK_1: specifying datafile(s) in backup setincluding current control file in backup setincluding current SPFILE in backup setchannel ORA_DISK_1: starting piece 1 at 16-MAY-18channel ORA_DISK_1: finished piece 1 at 16-MAY-18piece handle=/u01/app/oracle/product/11.2.0/db_1/dbs/03t31stc_1_1 tag=TAG20180516T144121 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:01Finished backup at 16-MAY-18(2)删除数据⽂件查看数据库的数据⽂件信息:select t."NAME",d."NAME",d."FILE#"from v$tablespace t,v$datafile dwhere t."TS#" = d."TS#"order by t.ts#;NAME NAME FILE#------------------------------ -------------------------------------------------------------------------------- ----------SYSTEM /u01/app/oracle/oradata/orcl/system01.dbf 1SYSAUX /u01/app/oracle/oradata/orcl/sysaux01.dbf 2UNDOTBS1 /u01/app/oracle/oradata/orcl/undotbs01.dbf 3USERS /u01/app/oracle/oradata/orcl/users01.dbf 4EXAMPLE /u01/app/oracle/oradata/orcl/example01.dbf 5TBS_32K /u01/app/oracle/oradata/orcl/tbs_32k.dbf 8MARK /u01/app/oracle/oradata/orcl/mark.bdf 9TBS01 /u01/app/oracle/oradata/orcl/tbs01.bdf 11TBS03 /u01/app/oracle/oradata/orcl/tbs03.dbf 12TBS04 /u01/app/oracle/oradata/orcl/tbs04.dbf 1310 rows selected删除⼀个数据⽂件,这⾥把⽂件编号为13的数据⽂件给删除:[oracle@redhat6 ~]$ rm -f /u01/app/oracle/oradata/orcl/tbs04.dbf(3)恢复数据⽂件(3.1)使⽤list failure查看失败操作RMAN> list failure;List of Database Failures=========================Failure ID Priority Status Time Detected Summary---------- -------- --------- ------------- -------8 HIGH OPEN16-MAY-18 One or more non-system datafiles need media recovery42 HIGH OPEN13-DEC-17 One or more non-system datafiles are missing(3.2)使⽤RMAN建议来恢复丢失的⽂件RMAN> advise failure2> ;List of Database Failures=========================Failure ID Priority Status Time Detected Summary---------- -------- --------- ------------- -------8 HIGH OPEN16-MAY-18 One or more non-system datafiles need media recovery42 HIGH OPEN13-DEC-17 One or more non-system datafiles are missinganalyzing automatic repair options; this may take some timeusing channel ORA_DISK_1analyzing automatic repair options completeMandatory Manual Actions========================no manual actions availableOptional Manual Actions=======================1. If you restored the wrong version of data file/u01/app/oracle/oradata/orcl/tbs04.dbf, then replace it with the correct one2. If file/u01/app/oracle/oradata/orcl/tbs04.dbf was unintentionally renamed or moved, restore itAutomated Repair Options========================Option Repair Description------ ------------------1Restore and recover datafile 13; Recover datafile 13Strategy: The repair includes complete media recovery with no data lossRepair script: /u01/app/oracle/diag/rdbms/orcl/orcl/hm/reco_1931299378.hm最后⼀⾏给出了恢复的脚本,查看脚本[oracle@redhat6 ~]$ more /u01/app/oracle/diag/rdbms/orcl/orcl/hm/reco_1931299378.hm# restore and recover datafilesql 'alter database datafile 13 offline';restore datafile 13;recover datafile 13;sql 'alter database datafile 13 online';# recover datafilesql 'alter database datafile 13 offline';recover datafile 13;sql 'alter database datafile 13 online';根据脚本,执⾏修复和恢复RMAN> sql 'alter database datafile 13 offline';sql statement: alter database datafile 13 offlineRMAN>restore datafile 13;Starting restore at 16-MAY-18using channel ORA_DISK_1channel ORA_DISK_1: starting datafile backup set restorechannel ORA_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_DISK_1: restoring datafile 00013to/u01/app/oracle/oradata/orcl/tbs04.dbfchannel ORA_DISK_1: reading from backup piece /u01/app/oracle/product/11.2.0/db_1/dbs/01t31soh_1_1channel ORA_DISK_1: piece handle=/u01/app/oracle/product/11.2.0/db_1/dbs/01t31soh_1_1 tag=TAG20180516T144121 channel ORA_DISK_1: restored backup piece 1channel ORA_DISK_1: restore complete, elapsed time: 00:00:03Finished restore at 16-MAY-18RMAN> recover datafile 13;Starting recover at 16-MAY-18using channel ORA_DISK_1starting media recoverymedia recovery complete, elapsed time: 00:00:00Finished recover at 16-MAY-18RMAN> sql 'alter database datafile 13 online';sql statement: alter database datafile 13 online(4)重启数据库,确认⽆异常SQL>shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.SQL> startupORACLE instance started.Total System Global Area 730714112 bytesFixed Size 2216944 bytesVariable Size 314575888 bytesDatabase Buffers 411041792 bytesRedo Buffers 2879488 bytesDatabase mounted.Database opened.完结。
oracle数据库rman备份计划及恢复
oracle数据库rman备份计划及恢复1.rman完全恢复的前提条件:历史的datafile,controlfile和spfile备份,加上完整的archivelog和完好的redolog。
2.rman备份脚本: a.RMAN 0级备份命令:run{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;backup incremental level 0 tag 'level0' format "E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\RFDB_level_0_%u_%s_%p" as compressed backupset database;sql "alter system archive log current";backup filesperset 3 format "E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\arch_%u_%s_%p_%c"archivelog all delete input; #备份归档可选,可以单独定期备份release channel c1;release channel c2;release channel c3;} b.RMAN 1级备份命令:run{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;backup incremental level 1 tag 'level1' format 'E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\RFDB_level_1_%u_%s_%p' as compressed backupset database;sql 'alter system archive log current';backup filesperset 3 format 'E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\arch_%u_%s_%p'archivelog all delete input; #备份归档可选,可以单独定期备份release channel c1;release channel c2;release channel c3;} c.rman删除备份命令(在保留最近⼀天备份的情况下,删除其他备份):DELETE NOPROMPT OBSOLETE RECOVERY WINDOW OF 1 DAYS; d.操作系统层⾯运⾏rman备份或删除命令(windows/linux):rman target sys/rf4rfvbgt56yhn@rfdb nocatalog CMDFILE 'D:\app\rman\rman_file\level_0.txt' log=E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\log\rman_level_0.log export ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=/u01/app/oracle/product/11.2.0/db1export ORACLE_SID=atestexport PATH=$ORACLE_HOME/bin:$PATHrman target sys/123456@atest nocatalog CMDFILE '/u01/rman/rman.sh' log=/u01/rman/rman.log00 02 * * 1 bash /u01/rman_file/run_rman_0.sh00 02 * * 3 bash /u01/rman_file/run_rman_0.sh00 02 * * 5 bash /u01/rman_file/run_rman_0.sh00 04 * * * bash /u01/rman_file/run_delete.sh34 11 * * * bash /u01/rman_file/run_rman_0.sh e.rman参数设置:RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK;RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE disk TO 2;RMAN> CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE disk TO 2;3.rman恢复a.拷贝datafile,controlfile和spfile的rman备份,以及完整的archivelog和完好的redolog⽂件到新的数据库。
RMAN丢失了控制文件如何恢复
这里假定是nocatalog的情况下,我们采用了RMAN备份,但是丢失了控制文件,因为控制文件中包含了rman的备份信息,所以没有办法用平常的方法来恢复,如果想恢复数据库,则需要利用一个叫DBMS_BACKUP_RESTORE的包来实现,这个包在nomount下就可以正常运行,也就是说,只需要启动到nomount下就可以利用它来恢复控制文件或者数据文件以及归档日志。
1、从备份片中恢复控制文件
最好有控制文件能恢复,就算恢复的这个控制文件没有最新的备份信息也好,起码可以利用它来定位数据文件。
如果没有控制文件可恢复,后来的数据文件恢复将变的更复杂。
以下是恢复控制文件的脚本,需要在sys as dba的连接下执行。
2、从备份片中恢复数据文件
恢复数据文件的时候,必须要知道数据文件对应的文件编号,而且最好能知道数据文件位于哪个备份片,所以就是前面说的最好能先resotre一个控制文件出来,如果实在不行,能用备份时候的日志也可以。
以下是恢复全备份的下的数据文件的脚本:
当然,有的时候,我们不仅仅是做全备份,还要做增量备份,那么我们怎么从增量备份中应用备份到数据文件中呢,我们可以参考如下脚本:
3、从备份片中恢复归档日志
如果restore完数据文件,归档日志也是可能需要做restore的,用于做recover,可以采用如下的脚本恢复archive log:
以上是恢复一个归档日志的脚本,如果是恢复批量的归档日志,可以采用增加如下内容在上面的脚本中。
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备份恢复操作手册-从零到无
rman备份恢复操作手册-从零到无--时间:2020年9月2日--作者:飞翔的小胖猪1 备份1.1 备份说明rman可进行热备和冷备,一般情况下都是进行热备即不数据库备份。
执行的热备需要数据库处于归档模式下。
1.2 设置归档模式归档模式开启过后,当一个在线重做日志写满了过后,会切换到下一个在线重做日志中进行日志写入。
之前的在线重做日志会形成归档日志存放于归档日志目录中。
如果归档日志目录空间使用率100%,那么整个数据设置归档日志路径SQL> alter system set log_archive_dest_1='location=/u01/arch' #设置为本地目录作为归档日志目录,红色字体根据自己定义的目录填写SQL> alter system set log_archive_dest_1='location=+DATA/RACDB/ARCH' scope=spfile sid='*'; #使用ASM的环境下使用此命令SQL> show parameter log_archive_dest_1; #查看确认设置的归档日志路径开启归档归档模式的切换必须处于mount状态下,其他状态下不行哟。
SQL> shutdown immediate; #先正常关闭在用数据库,如果你的数据库正在运行SQL> startup mount; #启动数据库到mount阶段SQL> alter database archivelog; #设置数据库为归档模式SQL> alter database open; #启动数据库到open状态SQL> archive log list; #查看数据库当前是否处于归档模式下SQL> alter system switch logfile; #尝试切换一下在线重做日志文件,此时可以到之前设置的归档日志目录中查看是否有新文件,如果有新文件则表示归档正常。
基于RMAN增量差异备份的恢复步骤
基于RMAN增量差异备份的恢复步骤1.恢复背景2.恢复步骤2.1.建立恢复环境1.找一台硬件配置与原数据库服务器相同的服务器,在上面安装相同的操作和Oracle数据库(版本要一致);8.复制备份文件到原备份路径注意:要确保备份文件存放的路径与原数据库中的路径一致。
2.2.恢复过程完成implicit crosscheck backup 于10-10月-09启动implicit crosscheck copy 于10-10月-09使用通道ORA_DISK_1完成implicit crosscheck copy 于10-10月-09搜索恢复区域中的所有文件正在编制文件目录...没有为文件编制目录使用通道ORA_DISK_1通道ORA_DISK_1: 正在开始恢复数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件正将数据文件00001恢复到D:\ORA\SYS\SYSTEM01.DBF正将数据文件00005恢复到D:\ORA\ICITY\DA TA1.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB01HKQLPKP_2097_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB01HKQLPKP_2097_1 标记= DB0通道ORA_DISK_1: 恢复完成, 用时: 00:11:15通道ORA_DISK_1: 正在开始恢复数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件正将数据文件00004恢复到D:\ORA\SYS\USERS01.DBF正将数据文件00007恢复到D:\ORA\ICITY\DA TA3.DBF正将数据文件00008恢复到D:\ORA\RMANFILE\DBACKUPFILE.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB01IKQLPKP_2098_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB01IKQLPKP_2098_1 标记= DB0通道ORA_DISK_1: 恢复完成, 用时: 00:10:56通道ORA_DISK_1: 正在开始恢复数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件正将数据文件00002恢复到D:\ORA\SYS\UNDOTBS01.DBF正将数据文件00003恢复到D:\ORA\SYS\SYSAUX01.DBF正将数据文件00006恢复到D:\ORA\ICITY\DA TA2.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB01GKQLPKP_2096_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB01GKQLPKP_2096_1 标记= DB0通道ORA_DISK_1: 恢复完成, 用时: 00:14:25完成restore 于10-10月-09通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00001 的恢复目标: D:\ORA\SYS\SYSTEM01.DBF数据文件00005 的恢复目标: D:\ORA\ICITY\DA TA1.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB125KR0LMA_2117_1 通道ORA_DISK_1: 已恢复备份段 1段句柄= E:\ORA\RMANBAK\DB125KR0LMA_2117_1 标记= DB1通道ORA_DISK_1: 恢复完成, 用时: 00:00:03通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00004 的恢复目标: D:\ORA\SYS\USERS01.DBF数据文件00007 的恢复目标: D:\ORA\ICITY\DA TA3.DBF数据文件00008 的恢复目标: D:\ORA\RMANFILE\DBACKUPFILE.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB126KR0LMA_2118_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB126KR0LMA_2118_1 标记= DB1通道ORA_DISK_1: 恢复完成, 用时: 00:00:03通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00002 的恢复目标: D:\ORA\SYS\UNDOTBS01.DBF数据文件00003 的恢复目标: D:\ORA\SYS\SYSAUX01.DBF数据文件00006 的恢复目标: D:\ORA\ICITY\DA TA2.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB124KR0LM9_2116_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB124KR0LM9_2116_1 标记= DB1通道ORA_DISK_1: 恢复完成, 用时: 00:00:25通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00001 的恢复目标: D:\ORA\SYS\SYSTEM01.DBF数据文件00005 的恢复目标: D:\ORA\ICITY\DA TA1.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB229KR107N_2121_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB229KR107N_2121_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:01通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00004 的恢复目标: D:\ORA\SYS\USERS01.DBF数据文件00007 的恢复目标: D:\ORA\ICITY\DA TA3.DBF数据文件00008 的恢复目标: D:\ORA\RMANFILE\DBACKUPFILE.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22AKR107N_2122_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22AKR107N_2122_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:01通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00002 的恢复目标: D:\ORA\SYS\UNDOTBS01.DBF数据文件00003 的恢复目标: D:\ORA\SYS\SYSAUX01.DBF数据文件00006 的恢复目标: D:\ORA\ICITY\DA TA2.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB228KR107N_2120_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB228KR107N_2120_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:08通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00001 的恢复目标: D:\ORA\SYS\SYSTEM01.DBF数据文件00005 的恢复目标: D:\ORA\ICITY\DA TA1.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22DKR3KJQ_2125_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22DKR3KJQ_2125_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:03通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00004 的恢复目标: D:\ORA\SYS\USERS01.DBF数据文件00007 的恢复目标: D:\ORA\ICITY\DA TA3.DBF数据文件00008 的恢复目标: D:\ORA\RMANFILE\DBACKUPFILE.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22EKR3KJQ_2126_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22EKR3KJQ_2126_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:01通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00002 的恢复目标: D:\ORA\SYS\UNDOTBS01.DBF数据文件00003 的恢复目标: D:\ORA\SYS\SYSAUX01.DBF数据文件00006 的恢复目标: D:\ORA\ICITY\DA TA2.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22CKR3KJQ_2124_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22CKR3KJQ_2124_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:15通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00001 的恢复目标: D:\ORA\SYS\SYSTEM01.DBF数据文件00005 的恢复目标: D:\ORA\ICITY\DA TA1.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22HKR68VP_2129_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22HKR68VP_2129_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:03通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00007 的恢复目标: D:\ORA\ICITY\DA TA3.DBF数据文件00008 的恢复目标: D:\ORA\RMANFILE\DBACKUPFILE.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22IKR68VQ_2130_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22IKR68VQ_2130_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:01通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00002 的恢复目标: D:\ORA\SYS\UNDOTBS01.DBF数据文件00003 的恢复目标: D:\ORA\SYS\SYSAUX01.DBF数据文件00006 的恢复目标: D:\ORA\ICITY\DA TA2.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22GKR68VP_2128_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22GKR68VP_2128_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:15通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00001 的恢复目标: D:\ORA\SYS\SYSTEM01.DBF数据文件00005 的恢复目标: D:\ORA\ICITY\DA TA1.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22LKR8TBQ_2133_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22LKR8TBQ_2133_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:03通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00004 的恢复目标: D:\ORA\SYS\USERS01.DBF数据文件00007 的恢复目标: D:\ORA\ICITY\DA TA3.DBF数据文件00008 的恢复目标: D:\ORA\RMANFILE\DBACKUPFILE.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22MKR8TBQ_2134_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22MKR8TBQ_2134_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:01通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00002 的恢复目标: D:\ORA\SYS\UNDOTBS01.DBF数据文件00003 的恢复目标: D:\ORA\SYS\SYSAUX01.DBF数据文件00006 的恢复目标: D:\ORA\ICITY\DA TA2.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22KKR8TBQ_2132_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22KKR8TBQ_2132_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:15通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00005 的恢复目标: D:\ORA\ICITY\DA TA1.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22PKRBHNQ_2137_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22PKRBHNQ_2137_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:03通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00004 的恢复目标: D:\ORA\SYS\USERS01.DBF数据文件00007 的恢复目标: D:\ORA\ICITY\DA TA3.DBF数据文件00008 的恢复目标: D:\ORA\RMANFILE\DBACKUPFILE.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22QKRBHNQ_2138_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22QKRBHNQ_2138_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:01通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00002 的恢复目标: D:\ORA\SYS\UNDOTBS01.DBF数据文件00003 的恢复目标: D:\ORA\SYS\SYSAUX01.DBF数据文件00006 的恢复目标: D:\ORA\ICITY\DA TA2.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22OKRBHNQ_2136_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22OKRBHNQ_2136_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:15通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00001 的恢复目标: D:\ORA\SYS\SYSTEM01.DBF数据文件00005 的恢复目标: D:\ORA\ICITY\DA TA1.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22TKRE63Q_2141_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22TKRE63Q_2141_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:03通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00004 的恢复目标: D:\ORA\SYS\USERS01.DBF数据文件00007 的恢复目标: D:\ORA\ICITY\DA TA3.DBF数据文件00008 的恢复目标: D:\ORA\RMANFILE\DBACKUPFILE.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22UKRE63Q_2142_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22UKRE63Q_2142_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:01通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00002 的恢复目标: D:\ORA\SYS\UNDOTBS01.DBF数据文件00006 的恢复目标: D:\ORA\ICITY\DA TA2.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22SKRE63Q_2140_1通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22SKRE63Q_2140_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:15正在开始介质的恢复无法找到存档日志存档日志线程=1 序列=1169RMAN-03002: recover 命令(在10/12/2009 16:47:26 上) 失败RMAN-06054: 介质恢复正请求未知的日志: 线程1 seq 1169 lowscn 36496613把归档日志D:\ora\archivelog\1169_1_658946615.LOG放到归档目录后RMAN> recover database;启动recover 于12-10月-09使用通道ORA_DISK_1正在开始介质的恢复存档日志文件名=D:\ORA\ARCHIVELOG\1169_1_658946615.LOG 线程=1 序列=1169 存档日志文件名=D:\ORA\ARCHIVELOG\1169_1_658946615.LOG 线程=1 序列=1170 RMAN-03002: recover 命令(在10/12/2009 17:05:38 上) 失败RMAN-11003: 在分析/执行SQL 语句期间失败: alter database recover logfile 'D:\ORA\ARCHIVELOG\1169_1_658946615.LOG'ORA-00310: 归档日志包含序列1169; 要求序列1170ORA-00334: 归档日志: 'D:\ORA\ARCHIVELOG\1169_1_658946615.LOG'RMAN> alter database open resetlogs;数据库已打开3.附加说明在恢复过程中用到rman自动备份的spfile和控制文件,在此给出修改rman自动备份控目前还没有找到用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管理的备份和恢复
10、RMAN提供了恢复目录用来存放RMAN信息库,RMAN恢复目录由几个表 和存储过程组成,这些对象存放在一个schema下面,因为表用来存放RMAN备 份的元数据,因此可以永久的保留下去,而不需要删除历史记录 11、RMAN恢复目录是可选的,不是必须的,元数据通过目标数据库的控制文 件传递到恢复目录,RMAN的元数据始终都存放一份在目标数据库的控制文件 中,不会因为恢复目录的存在而删除,使用RMAN完成备份以后,会将控制文 件的RMAN元数据同步到恢复目录,默认情况下,控制文件中的信息保留7天, 恢复目录永久保留。RMAN还可以同时为多个目标数据库服务,在同一个恢复 目录里面,可以保留多个目标数据库的RMAN元数据 12、如果使用恢复目录,则在使用RMAN时,除了建立到目标数据库的连接以 外,还必须建立到恢复目录所在数据库的连接,在恢复目录数据库里面创建对 应的服务器进程和session 13、RMAN工具本身由两部分组成 RMAN可执行程序:这是一个命令接口,提供了交互的界面,能够解释我们的 RMAN命令,返回结果。在工作中,完成的实质性工作很少 脚本文件recover.bsp:备份恢复的实质性工作是由目标数据库的程序包完成的, 对目标数据库的相应程序包的调用则是由文件recover.bsp实现的
等等
配置RMAN
RMAN的体系结构 服务器进程 控制 文件 目标数据库 Recovery catalog 数据库
服务器进程
RMAN可执行程序
通道 通道 MML 通道 Recover.bsq
磁盘
磁带库
闪回恢 复区
1、RMAN要进行备份的数据库叫做目标数据库 2、RMAN是一个客户端程序,需要建立到目标数据库的客户端连接,并在目标数据 库上创建对应的服务器进程以及session,RMAN输入的各个命令,从客户端传递到 服务器,由服务器进程负责执行,RMAN只能使用专用服务器连接,不能使用共享服 务器连接 3、备份过程中,RMAN读取目标数据库的控制文件,从而获得目标数据库里包含哪 些数据文件、归档日志文件、以及各个检查点SCN,指导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”命令来恢复数据库的数据文件。
OracleRMAN的备份与恢复命令详解
还原检查与恢复测试
与备份检查一样,还原操作也可以检查是否能正常 restore 或者是否该备份集是否有效。如::
可以使用 CHECK LOGICAL 选项测试通过了物理损坏检查的数据和索引块,查看它们是否存在逻辑损坏,如行片或索引条目损坏。如果检测到任何块存在逻辑损坏,则 将该块记录到服务器进程的警报日志和跟踪文件中。
可以使用 MAXCORRUPT 参数设置逻辑和物理损坏的阈值。只要在某个文件中检测到的逻辑和物理损坏总和低于该值,则 RMAN 命令完成,同时 Oracle 将损坏块的 范围植入到 V$COPY_CORRUPTION 视图。如果超出 MAXCORRUPT,则该命令终 止,并且不植入视图。 当并行度比较高时,占用的计算机资源较多,但备份操作完成 速度较快。缺省情况下将启用对物理损坏的错误检查。有关在备份过程中遇到的损坏数据文件块的信息将记录在控制文件和警报日志中。
运行 BACKUP ARCHIVELOG ALL 命令。注意如果备份优化被启用,RMAN只会备份未备份过的日志
备份 BACKUP命令中定义的文件
运行 ALTER SYSTEM ARCHIVE LOG CURRENT 命令
备份所有的剩下的归档日志
备份完后删除归档日志RMAN> backup …… ARCHIVELOG all delete all input;修改备份集的保存策略例如:将备份设置为永久有效RMAN> backup database keep forever logs|nologs;设置为有效期 180 天RMAN> backup database keep until time='sysdate+180';重写configure exclude / noexclude通过 configure exclude 可以配置 RMAN 不备份上次备份以来没有发生变化的数据文件。如果要确保 RMAN备份这些数据文件,可以在 backup命令中添加 noexclude 选项。 例如:RMAN> backup database noexclude;
RMAN的数据库还原与恢复
RMAN的数据库还原与恢复摘要:介绍如何使用rman从备份文件中还原和恢复数据库。
恢复包括完全恢复和不完全恢复,在进行不完全恢复后需要使用resetlogs选项打开数据库。
rman是用数据库的服务器进程执行备份和恢复操作的cs结构应用程序。
关键词:恢复管理器还原恢复中图分类号:tp392 文献标识码:a 文章编号:11007-3973(2013)001-104-021 引言oracle数据库的可移植性好、功能强大,目前在煤炭行业占了很大的份额。
我们在使用数据库时,总希望它中的数据是可靠的、正确的,但由于计算机系统本身的故障会影响数据库中数据的正确性,甚至破坏oracle使它中全部或部分数据丢失。
因此当发生上述故障后,希望能有一种工具使oracle数据库快速方便地恢复到故障发生前的状态。
rman就是一种可以协助dba管理备份、还原和恢复oracle数据库的工具,本文就是对用rman进行oracle数据库恢复的介绍。
2 rman的概念rman(恢复管理器)是一种用于备份、还原和恢复数据库的工具,它是块级别的备份与恢复,备份与恢复发生在数据库块级别,可以通过比较数据块而获得一致性的数据块,可以避免备份没有用过的数据块。
当执行rman命令时,oracle会将这些命令解析为pl/sql块,并且由服务器进程执行这些pl/sql块,最终完成备份、还原、恢复以及其他操作。
由于rman备份、还原和恢复操作都是由服务器进程来执行的,所以rman所进行的备份和恢复操作也被称为“服务器管理的备份和恢复”。
3 rman完全恢复rman完全恢复是指当数据库出现介质失败或逻辑失败时,使用restore命令转储备份,并使用recover命令将数据库恢复到失败点的状态。
如果想实现rman完全恢复,必须具备以下必要条件:(1)必须具备恢复需要的数据文件备份和归档日志备份;(2)如果任何一个数据文件没有备份,必须具备自从该数据文件创建以来的归档日志和在线重做日志,这样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 值完全⼀致,所以关闭后的数据库备份被称为数据库⼀致性备份或者冷备份。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[oracle@localhsot dbs]$ orapwd file=orapw<sid> password=<密码》 entries=5
注:口令文件丢失不属于RMAN备份与恢复,口令文件丢失只需要进入安装目录下的dbs目录下重建口令文件即可。
file命名规则在unix/linux下 orapw+sid,在windows下为 pwd+sid.ora,其中entries=5表示拥有特权用户的数量。
五、数据文件丢失
1、sql "alter database datafile 编号 offline";
2、restore datafile 编号;
3、recover datafile 编号;
4、sql "alter database datafile 编号 online";
注:可以用report schema获得文件编号
六、表空间丢失
1、sql "alter tablespace 表空间espace 表空间名;
3、recover tablespace 表空间名;
4、sql "alter tablespace 表空间名 online";
5、alter database open resetlogs;
四、重建日志文件丢失
1、shutdown immedtate;
2、startup mount;
3、recover database until cancel;
4、alter database open resetlogs;
1)RMAN>startup nomount;
2)RMAN>set dbid=数据库的dbid;
3)RMAN> restore spfile from autobackup;(如找不到可指定备份的路径)
4)RMAN>shutdown immedtate;
5)RMAN>startup;
注:如果无法启动,可重新set dbid=数据库的dbid,然后再startup
三、控制文件丢失
1、startup nomount;
2、restore controlfile to from autobackup;
3、alter database mount;
4、recover database;
1)用以下语句查看是否启动自动备份
select * from v$rman_configuration
2)检查已有的备份spfile可以通过v$backup_spfile
select * from v$backup_spfile
2.spfile恢复
二、参数文件丢失
1.spfile的自动备份
在rman命令行,通过以下命令可以启用控制文件的自动备份
configure controlfile autobackup on.
在rman中,备份controlfile时会一起backup spfile.当运行了alter system之类修改spfile命令的语句,可以在alter.log中看到oracle自动备份spfile