进入RMAN恢复管理器2种方式:
1、直接在系统命令提示符敲入rman命令,进入rman控制台后执行connect
D:\>rman
恢复管理器: Release 10.2.0.2.0 - Production on 星期四 1月 4 10:08:52
Copyright (c) 1982, 2005, Oracle. All rights reserved.
RMAN> connect target /
连接到目标数据库: ROME (DBID=252956976)
RMAN>
2、在系统命令提示符下敲入target和catalog(没有此项默认非catalog方式,控制文件记录rman操作的详细信息)的用户和密码
# example of operating system authentication
D:\>rman TARGET /
# example of Oracle Net authentication
D:\>rman TARGET SYS/oracle@orcl NOCATALOG
D:\>rman TARGET / CATALOG rman/rman@catdb
D:\>rman TARGET SYS/oracle@orcl CATALOG rman/rman@catdb
RMAN> exit
恢复管理器完成。
注:我们将在以后章节讲述带有恢复目录的RMAN操作。
我们可以看一下rman可以连接的数据库的类型如下:
Target database RMAN connects you to the target database, which is the database that you are backing up or recovering, with the SYSDBA privilege. If you do not have this privilege, then the connection fails.
Recovery catalog database This database is optional. By default, RMAN runs in NOCATALOG mode.
Auxiliary database You can connect to a standby database, duplicate database, or auxiliary instance (standby instance or tablespace point-in-time recovery instance).
Note:
You do not need to specify the SYSDBA option because RMAN uses this option implicitly and automatically.
RMAN配置
执行show all命令可以显示rman的当前配置。
RMAN> show all;
使用目标数据库控制文件替代恢复目录
RMAN 配置参数为:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\S
NCFROME.ORA'; # default
如果想恢复某项设置,我们执行如下命令:CONFIGURE... CLEAR,例如:
注:大部分配置项的值都是TO后边的内容,个别的除外,例如:
CONFIGURE ENCRYPTION FOR DATABASE OFF
RMAN> configure retention policy to redundancy 2;
新的 RMAN 配置参数:
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
已成功存储新的 RMAN 配置参数
RMAN> show all;
RMAN 配置参数为:
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\S
NCFROME.ORA'; # default
RMAN> configure retention policy clear;
旧的 RMAN 配置参数:
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
RMAN 配置参数已成功重置为默认值
RMAN> show all;
RMAN 配置参数为:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\S
NCFROME.ORA'; # default
下面详细讲一下rman的各项配置的含义:
1、 Configuring the Default Device Type for Backups
配置缺省备份设备
缺省情况下rman默认的备份设备为磁盘disk,我们也可以配置其他介质作为rman的备份设备如磁带等。
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO sbt;
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK;
关于设备的类型要参考设备提供商给的说明文档,按照他们提供的设备名进行备份设备的配置。
2、Configuring the Default Backup Type for Disk Backups
配置磁盘备份的备份类型:备份集或者镜像拷贝(文件拷贝)
RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COPY; # image copies
RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET; # uncompressed
注:镜像拷贝只适用于磁盘备份,磁带等其他介质只支持备份集。镜像拷贝是对数据文件等的拷贝,占用空间大消耗时间长,所以不建议使用。
如果备份类型是备份集的话,我们还可以制定下面的压缩参数:
RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET;
RMAN> CONFIGURE DEVICE TYPE sbt BACKUP TYPE TO COMPRESSED BACKUPSET;这里要注意如果想要恢复Compressed,我们可以再次执行以下命令,而不是用clear命令来清除Compressed参数。
RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET;
RMAN> CONFIGURE DEVICE TYPE sbt BACKUP TYPE TO BACKUPSET;
另外备份类型还支持并行度参数PARALLELISM,默认值为1,我们可以适当调节该参数来加快备份速度。
Configuring Disk Devices and Channels
配置磁盘设备和通道
Rman通过通道连接到目标数据库,通道执行着rman的全部工作,缺省情况下rman为所有的操作分配1个通道。
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/oracle/db_%T_%U.dbf';
如果是asm磁盘可以按照如下配置:
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '+dgroup1';
如果是磁带设备可以按照如下配置:
CONFIGURE CHANNEL DEVICE TYPE sbt PARMS='ENV=mml_env_settings';
通过PARMS指定备份设备对应的串。
4、Configuring Control File and Server Parameter File Autobackup
配置控制文件和参数文件自动备份
我们可以通过下面命令来启用和停用控制文件自动备份。
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP OFF;
如果控制文件自动备份启动,每次控制文件内容发生变化的时候,oracle 自动在如下目录下(如果没有指定控制文件备份格式,并且安装了快速恢复区flash recovery area的话)备份控制文件。 …\flash_recovery_area\SID\AUTOBACKUP\2007_01_04\。
5、Configuring the Control File Autobackup Format
配置控制文件自动备份格式
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'd:\cf_%F';
如果是asm存储设备,可以如下设置控制文件自动备份格式:
CONFIGURE CONTROLFILE AUTOBACKUP FOR DEVICE TYPE DISK TO '+dgroup1';
清除控制文件自动备份格式命令如下:
CONFIGURE CONTROLFILE AUTOBACKUP FOR DEVICE TYPE DISK CLEAR;
CONFIGURE CONTROLFILE AUTOBACKUP FOR DEVICE TYPE sbt CLEAR;
当然我们也可以在执行rman操作的设置备份格式,如:
RMAN> SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE sbt TO 'controlfile_%F';
RMAN> BACKUP AS COPY DATABASE;
以上设置在整个rman操作控制台生效。
RMAN> RUN {
SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/tmp/%F.bck';
BACKUP AS BACKUPSET DEVICE TYPE DISK DATABASE;
}
这个set设置在rman程序块生效。
6、Configuring the Backup Retention Policy
配置备份保留策略
备份保留策略有2种方式:一种是基于时间的保留策略,一种是基于冗余度的保留策略。
based on a recovery window (the maximum number of days into the past for which you can recover) or redundancy (how many copies of each backed-up file to keep).
Configuring a Recovery Window-Based Retention Policy
RECOVERY WINDOW参数指出了最大保留时间为从当前日期到多少天前。
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
Rman将保留着这期间的任何全库备份和level 0的增量备份,同时rman也保留着归档日志和level 1的增量备份,以便于可以做这个期间的基于时间点的恢复。Rman不会删除过期的备份,如果我们用REPORT OBSOLETE可以看到过期的备份并且执行DELETE OBSOLETE来删除过期的备份。
Configuring a Redundancy-Based Retention Policy
REDUNDANCY参数指出了我们想保留几份备份文件。
CONFIGURE RETENTION POLICY TO REDUNDANCY 3;
查看当前备份保留策略:
RMAN> SHOW RETENTION POLICY;
如果我们执行以下命令来清除备份保留策略,rman将不会将任何备份标记为过期。
CONFIGURE RETENTION POLICY TO NONE;
RMAN备份
Rman可以备份数据文件、归档日志、控制文件、参数文件、备份集文件(其他rman操作备份产生)。
Rman备份文件有两种存储方式:镜像拷贝和备份集。两者是有区别的,备份集只备份使用过的数据块而镜像拷贝是拷贝整个数据文件。
最简单的一个全库备份Whole Database Backups命令如下:
RMAN> BACKUP DATABASE; # uses automatic channels to make backup
RMAN> SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT'; # switches logs and archives all logs
备份集:
备份集是rman按照逻辑结构存储备份的一种文件格式。备份集可以包含多个数据文件、归档文件、控制文件和参数文件,但是数据文件和归档文件不能放在一个备份集内。也可以把一个备份集备份到另外一个备份集(合并备份集)。一个文件不能备份到2个备份集内。
备份片:
一个备份集可以由一个或者多个备份片组成。
注意:
这里解释一个概念
Full and Incremental Datafile Backups全部和增量数据文件备份,这里的full和a whole database backup是有区别的。a whole database backup是备份全部数据文件和当前控制文件和参数文件。以后我们讲到的增量备份只是针对数据文件而言。
备份可以自己执行格式,也可以使用默认格式:
RMAN> BACKUP DATABASE FORMAT '/tmp/%U'; # %U generates a unique filename
RMAN> BACKUP DATABASE TAG = 'weekly_backup'; # gives the backup a tag
identifier
备份表空间:
BACKUP DEVICE TYPE sbt MAXSETSIZE = 10M TABLESPACE users, tools;
备份数据文件、镜像拷贝:
BACKUP DEVICE TYPE sbt DATAFILE 1,2,3,4 DATAFILECOPY 'd:\system01.dbf';
当然我们也可以单独备份镜像拷贝文件:
BACKUP DEVICE TYPE sbt DATAFILECOPY '/tmp/system01.dbf';
注意上边这个是把数据文件1234和以前做的镜像拷贝同时备份。
备份控制文件:
我们可以直接执行BACKUP CURRENT CONTROLFILE命令来备份控制文件
我们可以在任何backup命令后边加上INCLUDE CURRENT CONTROLFILE操作来备份控制文件。
一个全库备份包含了单前控制文件,这里要注意控制文件自动备份和手动备份的区别,后者可以在任何修改控制文件的操作执行后自动备份控制文件,而前者则不能,我们在讲rman配置的时候也提到过这些。下面给几个例子:
BACKUP CURRENT CONTROLFILE TAG = mondaypmbackup;
BACKUP DEVICE TYPE sbt TABLESPACE users INCLUDE CURRENT CONTROLFILE;
--生成控制文件镜像拷贝
BACKUP AS COPY CURRENT CONTROLFILE FORMAT '/tmp/control01.ctl';
--备份控制文件镜像拷贝
BACKUP DEVICE TYPE sbt CONTROLFILECOPY '/tmp/control01.ctl';
备份参数文件:
BACKUP DEVICE TYPE sbt SPFILE;
备份归档日志:
我们可以直接执行BACKUP ARCHIVELOG或者在备份数据文件和控制文件的同时指定BACKUP ... PLUS ARCHIVELOG操作来一起备份归档日志。
我们可以备份全部归档日志,也可以指定参数来备份部分归档日志:
BACKUP ARCHIVELOG ALL;
BACKUP ARCHIVELOG FROM TIME 'SYSDATE-30' UNTIL TIME 'SYSDATE-7'
备份归档开始执行的时候,rman会发出一个切换日志的命令(我们可以从v$log观察),然后归档所有非当前日志,然后再执行归档日志的备份。
在备份完归档日志后我们可以指定DELETE INPUT or DELETE ALL INPUT这两个参数,来删除备份集中已经备份过的或者全部归档日志文件。
下面再给出几个示例备份归档的命令:
RMAN> BACKUP ARCHIVELOG LIKE 'ORACLE/ARC/DEST/LOG%';
RMAN> BACKUP ARCHIVELOG ALL;
RMAN> BACKUP ARCHIVELOG FROM LOGSEQ 20 UNTIL LOGSEQ 50 THREAD 1;
RMAN> BACKUP ARCHIVELOG FROM SCN 1 UNTIL SCN 9999;
我们可以使用如下命令在进行其他备份的同时来备份归档日志文件:
RMAN> BACKUP ... PLUS ARCHIVELOG
上述命令的执行过程如下:
执行ALTER SYSTEM ARCHIVE LOG CURRENT命令。
执行BACKUP ARCHIVELOG ALL命令。如果backup optimization参数设置为enabled,rman将不备份那些已经备份过的归档日志文件。
备份在BACKUP命令中指定的备份内容。
执行ALTER SYSTEM ARCHIVE LOG CURRENT命令。
备份在BACKUP命令执行过程中产生的其他的归档日志文件。
压缩备份集:
BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG;
BACKUP AS COMPRESSED BACKUPSET DATAFILE 1,2,4;
为了能在灾难性损坏的时候有效的恢复数据库,我们需要保留一些机器配置、操作系统和数据库的一些基础信息。
数据库服务器机器名称、IP地址、操作系统版本和补丁号、磁盘数量和驱动器号、磁盘容量和剩余空间、数据文件名称、数据库SID、DBID、ORACLE版本和补丁号、常用的RMAN备份脚本等等。
RMAN增量备份
我们可以用RMAN进行数据库、表空间和数据文件的增量备份。
如果数据库运行在归档模式,在数据库OPEN状态我们可以进行增量备份;如果数据库处于非归档方式,在数据库CLOSE状态我们也可以进行增量备份。增量备份只备份上次备份以来变化过的数据块。
每个数据块都包含一个system change number (SCN),记录着该数据块的最后改变。在进行增量备份的时候,RMAN将没给数据块的SCN和父级增量备份的CHECKPOINT SCN进行比较,如果该数据块的SCN大于等于父级的CHECKPOINT SCN,RMAN将备份该数据块。
为了提高数据库增量备份的性能,我们可以指定变化跟踪文件来监控数据块的改变:
SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING;
SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE 'd:/rman_change.f' REUSE;
SQL> ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;
可以通过以下命令查询:
SQL> SELECT FILENAME,STATUS FROM V$BLOCK_CHANGE_TRACKING
移动跟踪文件:
SQL>SELECT filename FROM V$BLOCK_CHANGE_TRACKING;
SQL>SHUTDOWN IMMEDIATE;
SQL>HOST COPY OLDFILE NEWFILE
SQL>STARTUP MOUNT;
SQL>ALTER DATABASE RENAME FILE ‘OLDFILE' TO ‘NEWFILE’;
SQL>ALTER DATABASE OPEN;
如果不能关闭数据库,必须禁用跟踪文件然后移动跟踪文件:
ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;
ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE 'new_location';
增量备份分为两种:差异增量备份和累积增量备份。缺省的增量备份是差异增量备份。
差异增量备份:备份同级或者上级(如果有同级备份,先找同级)备份(差异或者累积)以来变化的数据块。如果找不到同级或者上级(知道LEVEL0),如果ORACLE版本>=10.0.0,RMAN将COPY从数据文件创建开始所有的数据块作为LEVEL1备份;如果ORACLE版本<10.0.0,RMAN将生成LEVEL0备份。
如下图所示:
周日:RMAN备份所有被使用过的数据块。
周一至周六:RMAN备份自从上次LEVEL0或者LEVEL1备份以来变化的数据块。
累积增量备份:备份上级备份以来变化的数据块。
如下图所示:
周日:RMAN备份所有被使用过的数据块。
周一至周六:RMAN备份自从上次LEVEL0备份以来变化的数据块。
我们可以看出累积增量备份备份文件要比差异增量备份文件大,因为累积增量备份重复备份了同级别备份的数据块。
制定一个恰当的备份策略是很重要的,通常我们在有50%的数据块改变的时候,进行一次LEVEL0级别的备份。可以通过以下查询来获得数据块增量备份已经备份50%以上的数据块。
SELECT FILE#, INCREMENTAL_LEVEL, COMPLETION_TIME, BLOCKS, DATAFILE_BLOCKS
FROM V$BACKUP_DATAFILE
WHERE INCREMENTAL_LEVEL > 0
AND BLOCKS / DATAFILE_BLOCKS > .5
ORDER BY COMPLETION_TIME;
增量备份示例:
RMAN> BACKUP INCREMENTAL LEVEL 0 DATABASE;
RMAN> BACKUP INCREMENTAL LEVEL 1 TABLESPACE SYSTEM DATAFILE 'ora_home/oradata/ tools01.dbf';
RMAN> BACKUP INCREMENTAL LEVEL = 1 CUMULATIVE TABLESPACE users;
增量追加备份:前滚镜像拷贝
ORACLE文档原文:Incrementally Updated Backups: Rolling Forward Image Copy Backups。
增量追加备份工作原理:首先创建一个文件镜像拷贝,然后定期把从上次镜像拷贝最大SCN以来变化的数据块追加到镜像拷贝文件中。增量追加备份可以达到快速恢复的目的,如果是每天进行增量追加的话,在进行恢复的时候,我们最多应用一天的REDO数据就可以完成恢复。
创建增量追加备份,格式如下:
BACKUP... FOR RECOVER OF COPY WITH TAG
一个基础的增量追加备份示例:简称basic脚本
RUN {
RECOVER COPY OF DATABASE WITH TAG 'incr_update';
BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'incr_update'
DATABASE;
}
为了理解上述脚本,我们先看一下如果没有数据文件拷贝和增量备份运行这两个脚本的情况。
1、如果没有LEVEL0备份或者备份文件拷贝,执行BACKUP INCREMENTAL LEVEL 1... FOR RECOVER OF COPY WITH TAG...不能产生LEVEL1增量备份文件,但是RMAN会按照指定的tag在DATAFILE对应的目录下创建一分镜像文件拷贝。
2、如果没有LEVEL0备份或者备份文件拷贝,执行RECOVER COPY OF DATABASE WITH TAG...则生成一些信息但是不产生错误。
我们看一下整个basic脚本的执行情况:
第一次运行该脚本没有数据文件拷贝和增量备份所以执行RECOVER COPY OF DATABASE WITH TAG 'incr_update'没有任何结果;执行BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'incr_update' DATABASE将产生数据文件的镜像文件拷贝。
第二次运行该脚本,由于第一次运行的时候BACKUP INCREMENTAL LEVEL 1... FOR RECOVER OF COPY WITH TAG...命令产生一个镜像文件拷贝,但是没有LEVEL1的增量备份,所以执行RECOVER COPY OF DATABASE WITH TAG 'incr_update'还是没有任何结果;执行BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'incr_update' DATABASE将产生LEVEL1增量备份。
第三次运行该脚本,执行RECOVER COPY OF DATABASE WITH TAG 'incr_update'命令将把第二次执行该脚本产生的LEVEL1增量备份追加到镜像文件拷贝,同时又产生一个新的LEVEL1增量备份文件。
以后再执行该脚本都是把上次产生的LEVEL1的增量备份追加到镜像文件拷贝,然后再产生一个新的LEVEL1的增量备份文件。
如果需要恢复,我们首先恢复镜像文件拷贝和最后一次LEVEL1增量备份,最后应用REDO。
RMAN备份的查询和报告
LIST命令:
LIST BACKUP; # lists backup sets, image copies, and proxy copies
LIST BACKUPSET; # lists only backup sets and proxy copies
LIST COPY; # lists only disk copies
LIST BACKUP BY FILE; # shows backup sets, proxy copies, and image copies
LIST COPY BY FILE; # shows only disk copies
LIST EXPIRED BACKUP;
LIST EXPIRED BACKUP BY FILE;
LIST BACKUP SUMMARY; # lists backup sets, proxy copies, and disk copies
LIST EXPIRED BACKUP SUMMARY;
LIST BACKUP OF DATABASE; # lists backups of all files in database
LIST COPY OF DATAFILE 'ora_home/oradata/trgt/system01.dbf'; # lists copy of specified datafile
LIST BACKUPSET 213; # lists specified backup set
LIST DATAFILECOPY '/tmp/tools01.dbf'; # lists datafile copy
LIST BACKUPSET TAG 'weekly_full_db_backup'; # specify a backup set by tag
LIST COPY OF DATAFILE 'ora_home/oradata/trgt/system01.dbf' DEVICE TYPE sbt; # specify a backup or copy by device type
LIST BACKUP LIKE '/tmp/%'; # specify a backup by directory or path
LIST COPY OF DATAFILE 2 COMPLETED BETWEEN '10-DEC-2002' AND '17-DEC-2002'; # specify a backup or copy by a range of completion dates
LIST ARCHIVELOG ALL BACKED UP 2 TIMES TO DEVICE TYPE sbt; # specify logs backed up at least twice to tape
LIST BACKUP OF DATAFILE 1;
LIST BACKUP OF TABLESPACE;
LIST BACKUP OF DATAFILE;
LIST BACKUP ARCHIVELOG ALL; #简要信息
LIST BACKUP OF ARCHIVELOG ALL; #详细信息
LIST BACKUP OF CONTROFILE;
LIST BACKUP OF SPFILE;
举个例子:
RMAN>list backup summary;
RMAN> list backup summary;
备份列表
===============
关键字 TY LV S 设备类型 完成时间 段数 副本数 压缩标记
------- -- -- - ----------- ---------- ------- ------- ---------- ---
1 B F A DISK 02-1月 -07 1 1 NO TAG20070102T162107
2 B F A DISK 02-1月 -07 1 1 NO TAG20070102T162107
3 B F A DISK 03-1月 -07 1 1 NO TAG20070103T151828
4 B F A DISK 03-1月 -07 1 1 NO TAG20070103T151828
5 B F A DISK 03-1月 -07 1 1 NO TAG20070103T152054
…………….
14 B A X DISK 04-1月 -07 1 1 NO TAG20070104T083259
15 B A X DISK 04-1月 -07 1 1 NO TAG20070104T083259
…………….
79 B 0 A DISK 12-1月 -07 1 1 NO TAG20070112T135430
80 B 1 A DISK 12-1月 -07 1 1 NO TAG20070112T135540
B 表示 backup
F 表示 FULL
A 表示 archive log
0 1 表示 incremental backup
S 说明备份状态 (A AVAILABLE X EXPIRED )
如果我们进行OPEN RESETLOGS方式恢复数据库,RMAN将会记录一个标记 (INCARNATION)。我们在做增量备份的时候,可以以当前的或者以前的标记做为基础;如果保留了足够的归档日志文件,我们也可以以当前的或者以前的标记进行恢复reset database to incarnation 1;关于这方面恢复我们将在以后进行详细示例阐述。
RMAN> LIST INCARNATION;
如果这册了多个数据库我们用带有OF DATABASE参数的命令来区别不同数据库。
RMAN> LIST INCARNATION OF DATABASE prod3;
RMAN> LIST INCARNATION OF DATABASE;
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- ------ ---------- ----------
1 1 RDBMS 774627068 PARENT 1 21-OCT-03
2 2 RDBMS 774627068 CURRENT 173832 21-OCT-03
REPORT命令:
报告需要备份的文件:
我们首先要执行交叉校验,然后可以利用REPORT命令报告需要备份的,RMAN根据我们的备份保留策略来给出结果。
CROSSCHECK BACKUP; # crosschecks backup sets and proxy copies
CROSSCHECK COPY; # crosschecks only disk copies of archived redo logs, datafiles and control file
RMAN>REPORT NEED BACKUP;
RMAN 保留策略将应用于该命令
将 RMAN 保留策略设置为冗余 1
文件冗余备份少于1个
文件 #bkps 名称
---- ----- -----------------------------------------------------
5 0 E:\ORACLE\ORADATA\ROME\TEST.DBF
我们也可以给出DAYS参数来按照我们的要求时间让RMAN给出需要备份的结果。如下例:
REPORT NEED BACKUP DAYS = 1 DATABASE; # needs min 1 days of logs to recover
REPORT NEED BACKUP DAYS = 10 TABLESPACE SYSTEM;
REPORT NEED BACKUP DAYS = 5 DATAFILE '…/tools01.dbf';
我们也可以报告那些文件需要进行增量备份:
REPORT NEED BACKUP INCREMENTAL = 1 DATABASE;
REPORT NEED BACKUP INCREMENTAL = 3 TABLESPACE SYSTEM;
REPORT NEED BACKUP INCREMENTAL = 5 DATAFILE '…/users01.dbf';
报告过期备份:
CROSSCHECK BACKUP;
# lists backups that not needed to recover the database to within last week
REPORT OBSOLETE RECOVERY WINDOW OF 7 DAYS;
# lists backups that are superfluous because more than 2 copies are on tape
REPORT OBSOLETE REDUNDANCY = 2 DEVICE TYPE sbt;
ORPHAN参数报告在同一个标记 (INCARNATION)中间断的备份,前一个备份和后一个备份不连续,也就是说同一个标记(INCARNATION)中两个备份中间有被删除的备份。
REPORT OBSOLETE ORPHAN;
删除过期备份:
# delete obsolete backups displayed when you issue REPORT OBSOLETE
DELETE OBSOLETE;
# delete obsolete backups according to a specified recovery window
DELETE OBSOLETE RECOVERY WINDOW OF 7 DAYS;
# delete obsolete backups according to a specified redundancy
DELETE OBSOLETE REDUNDANCY = 2;
报告数据库方案:
REPORT SCHEMA AT TIME 'SYSDATE-14'; # schema as it was two weeks ago
REPORT SCHEMA AT SCN 1000; # schema as it was at scn 1000
REPORT SCHEMA AT SEQUENCE 100 THREAD 1; # schema as it was at sequence 100
REPORT SCHEMA AT SCN 1000;
本文转自 abc3486389 51CTO博客,原文链接:http://blog.51cto.com/1336014/1436941