一、RMAN备份概述
RMAN>backup database;
使用这个命令时,RMAN会通过使用控制文件马上把此动作记录在RMAN信息库中,因此数据库至少为mounted状态时运行;
持续的备份:数据库正常关闭是执行的备份所得到
非持续的备份:数据库运行时执行的备份所得到,备份策略中比较多使用。
RMAN可备份:datafile,controlfile,archived redolog,使用中的spfile,backup pice
RMAN不可备份的:网络配置文件,密码文件,ORACLE_HOME下的其他内容
RMAN的备份模式:镜像拷贝、备份集
一、镜像拷贝:
1、位到位的文件拷贝
2、与OS的拷贝命令的执行效果相同(RMAN会将信息库中记录镜像拷贝,OS不会)
3、RMAN不会被用到镜像拷贝来还原数据文件
4、backup ... as copy即可让RMAN创建镜像拷贝
5、可创建为镜像拷贝的有:datafile,datafile copy,controlfile,controlfile copy,archived redolog,backup pice
6、RMAN只支持DISK上的镜像拷贝,其他介质的镜像拷贝不支持
二、备份集
1、一个备份集可包含n个datafile|archived redolog|controlfile|spfile
2、datafile和archived logfile不可混合在同一个备份集中
3、已有的备份集可备份到另一个备份集中
4、备份集只有RMAN才能创建和还原
5、多个文件备份到一个备份集时,这些文件会同时被读取,数据会混合在一起
备份集注意情况:
1、默认情况下,一个备份集包含一个备份片。例如,可将10个数据文件备份到一个备份集中,这个备份集只包含1个备份片。
2、也可以一个备份集包含多个备份片。
3、1个文件不可被分割到多个备份集中
4、备份集是介质管理器上RMAN唯一所支持的备份类型,这些介质有如DISK和TAPE等
5、RMAN默认在DISK和TAPE上以备份集的形式创建备份
备份集的压缩功能:
1、备份集中没有使用的数据块的压缩
此功能不能取消,即数据文件中从没有使用过的数据块不会被拷贝到备份集中
2、备份集的二进制压缩
backup ... as compressed backupset即可
当空间比备份/还原的时间更重要时
压缩的对象是归档日志和数据文件
使用ORACLE服务器中的压缩算法
数据文件的全备份和增量备份
全备份:备份每个已被使用的块
对于备份集,会使用块的压缩功能来忽略未使用过的数据块
对于镜像拷贝,整个文件的内容会完全被重新生成
增量备份:只能为数据文件做增量备份
在块到块的基础上获得哪些数据文件发生了变化
介质恢复期间,RMAN检查还原文件来决定是否可用增量备份来恢复还原,如果可以,那么RMAN会绕过归档日志去选择使用增量备份来还原,因为重做日志的重新应用到每个块的改变所用的时间比直接应用所有块的改变来得慢。
RMAN备份和标签
RMAN支持一个备份贴上一个标签来识别。
recover和restore命令时可以通过指定标签来精准还原。
实践过程中,标签通常多用于识别不同的备份策略,特别是增量备份策略。
==========================================================================
二、使用RMAN来备份数据文件和归档日志
持续的备份
1、打开RMAN
rman target /
2、干净地关闭RMAN
shutdown immediate
3、挂起但不打开数据库
startup mount
4、备份数据库,得到的就是持续的备份
backup database
--根据实际情况加其他选项
通过RMAN备份全库
非持续的备份
在数据库运行期间所创建的备份都是非持续的备份,使用得较多。
RMAN会将备份存储在一个默认的备份存放目录下,并自动生成一个文件。这个目录与生成的文件名可通过configure命令来用户自定义的。
1、如果配置为DISK通道,那么就使用DISK通道作为默认目录;
2、否则,如果使用了flash recovery area,就使用flash recovery area作为默认目录;
3、如果以上两者都不是,则默认的目录和文件名格式就有平台指定的。
RMAN>backup database
通过这个命令RMAN会以配置好的格式与目录存放备份集,此命令后会在ORACLE默认的数据存放路径上更新数据文件、控制文件和日志文件。路径是/u01/app/oracle/oradata/huatest/
RMAN>sql 'alter system archive log current';
备份完数据库后,立即执行日志归档操作,以确保在全库备份过程中的所有归档日志就都保存了。
也可通过指定格式的方式来将数据库备份以非默认路径和格式的方式备份出来
RMAN>backup database format '/tmp2/%U';
备份时可指定标签
RMAN>backup database tag='test_backup';
会在配置好的路径和命名模式备份,也会在ORACLE默认的数据存放路径中备份,2份备份,会在RMAN信息库中为此次的备份打上一个TAG。
RMAN>list backup summary;
可通过list命令查看不同备份的不同标识
通过RMAN备份独立表空间
RMAN>backup device type disk maxsetsize = 10M tablespace users;
将表空间users备份到磁盘中,备份集的大小不能超过10M
通过RMAN备份datafile和datafile copy
备份datafile
RMAN>bakcup device type disk datafile 1,2,3,4,5;
可通过指定数据文件的名字|号码来备份数据文件
如果RMAN开启controlfile autobackup功能,那么RMAN地将当前的控制文件及SPFILE写到一个单独的自动备份片中。
如果RMAN没有开启controlfile autobackup功能,那么控制文件和SPFILE会自动包含到datafile 1的备份集中。
备份datafile copy
RMAN>backup as copy datafile 1;
--备份好后,记得记录下来备份片的名字,因为下面的备份会用到
RMAN>backup device type disk datafilecopy '/backupoforacle/ora_joshua851601382_s46_s1';
到此数据文件的拷贝也做了一个备份,记录下的备份片的名字为handle=/backupoforacle/ora_joshua851602667_s51_s1
通过RMAN备份控制文件
RMAN使用一个快照控制文件,来确保有一个可持续读的版本。
如果控制文件自动备份功能打开,那么RMAN会在每次备份以及数据库结构发生改变时,自动备份控制文件及SPFILE到默认路径。
控制文件自动备份的数据中包含了以前备份的元数据,元数据对灾难恢复非常关键。
如果控制文件自动备份功能没有打开,那么需要手动备份控制文件,有以下方法
1、使用backup current controlfile
RMAN>backup current controlfile tag = 'testbackupofcontrolfile';
2、在备份其他文件时,在backup命令后使用include current controlfile
RMAN>backup device type disk tablespace include current controlfile;
3、备份datafile 1
注意,手动备份控制文件时,只有当前RMAN会话的RMAN信息库数据会包含到控制文件备份中
手动备份控制文件不可自动还原
通过RMAN备份SPFILE
1、备份datafile 1会同时备份SPFILE
2、使用backup ... spfile命令,只在当前实例是用SPFILE开启时,才会备份SPFILE
3、如果实例使用一个客户端的初始化参数文件启动的话,那么RMAN的这个备份命令不会备份任何东西
RMAN>backup device type disk spfile;
通过RMAN备份归档重做日志
1、backup archivelog
RMAN>backup archivelog all;
将所有归档重做日志的每个日志序列号的一个拷贝,备份到配置好的备份集存放位置。
即使重做日志多路复用,使用RMAN去备份归档重做日志时RMAN只选择其中一个拷贝包含到备份集中,因为这些日志都有一个相同的序号去标识。
RMAN>backup archivelog from time 'sysdate - 2' until time 'sysdate - 1';
可通过指定时间|SCN|日志号的方式来归档备份归档日志的范围。
两点注意:
A、备份归档日志期间,在线重做日志自动切换
当备份一个包含了最新日志的归档重做日志时,数据库如果是OPEN状态,那么在开始备份前RMAN会关闭当前在线重做日志组以及所有在线重做日志。
这样是为了确保备份能包含所有在备份命令开始应用前所产生的重做信息。
B、backup archivelog命令中使用delete input或delete all input
delete input:RMAN只删除为备份集所选择的指定的归档重做日志的拷贝
delete all input:RMAN会删除所有日志归档目的地里的每一个备份归档重做日志
假如/arc_dest1,/arc_dest2和/arc_dest3是不同的归档位置,三者是归档日志的多路复用目录。假如使用/arc_dest1为备份的源,那么备份完后RMAN会删除/arc_dest1目录中的归档重做日志文件,而/arc_dest2和/arc_dest3里的内容会保持完整。
2、backup ... plus archivelog
此命令,RMAN会做以下工作:
A、运行alter system archive log current;
B、运行backup archivelog all;
C、备份backup命令指定的备份工作;
D、运行alter system archive log current;
E、备份在备份过程中产生的剩余的归档日志。
RMAN>backup device type disk database plus archivelog;
这个命令运行后,产生了3个备份集:
归档日志备份集1、数据文件备份集、归档日志备份集2。
因开启了flash recovery area,所以在flash recovery area中产生了2个归档日志备份。
使用压缩备份集
backup as compressed backupset ...
RMAN>backup as compressed backupset database plus archivelog;
RMAN>backup as compressed backupset datafile 1,2,4;
注意:还原或产生压缩备份集时会额外的CPU开销,引起备份进程减慢。因此CPU是瓶颈。
===================================================================
三、RMAN增量备份
增量备份目的:只备份那些与之前备份相比有变化的数据块。
增量备份的对象:数据库、表空间、数据文件
数据库处于归档模式时,数据库为OPEN时可做增量备份;
数据库处于非归档模式时,数据库只有在CLOSED时才可做增量备份。
增量备份算法:
每个数据块都有一个SCN,代表数据块最新的变化。RMAN会使用输入文件的每个数据块的SCN与父增量备份检查点的SCN比较,如果前者大小或等于后者的SCN,那么RMAN会拷贝这个块。
激活了块变化跟踪功能后,RMAN不需要扫描全部数据文件的内容,只需要跟踪有变化的文件来识别数据文件中有变化的块。
增量备份会在0级和1级中选择其一。
0级备份,作为随后增量备份的基础,是拷贝了所有包含了数据的块。
全备份与0级增量备份的差别是:全备份不会包含在一个增量备份策略中
1级增量备份分为:差异备份、累积备份
差异备份,备份在多数1级或0级增量备份之后所有已更改的块
累积备份,备份在最近的0级增量备份之后所有已更改的块
差异备份
RMAN会备份自最近的一次累积备份/差异备份以来,有更改的所有数据块。
如果没有可用的1级备份,RMAN会拷贝所有自0级备份以来的更改过后块
累积备份
备份在最近的0级增量备份之后所有已更改的块
基本的增量备份算法
选择一个三级的备份模式,即每月全备或0级备份,每周一个1级累积备份,每天一个1级差异备份。利用这些备份以及重做日志,你可以恢复到保留策略内的任何一个时间点的数据。当然要知道时间点或者SCN号。
当50%或更多的数据有变化时,做一个新的0级备份。
RMAN>backup incremental level 0 database;
全库的0级备份
RMAN>backup incremental level 1 tablespace system datafile '/XXX/xxx.dbf';
表空间system,数据文件xxx.dbf的1级增量备份。
只会对与最近一次1级或0级备份相比有更改的数据块做备份。
RMAN>backup incremental level = 1 cumulative tablespace users;
表空间users做1级累积备份,备份自上一次0级备份以来所有更改过的数据块。
增量更新备份:对镜像拷贝应用增量备份做前滚操作。
功能:创建一个数据文件的镜像拷贝,然后定期创建数据库的增量备份,并将增量备份应用到这个镜像拷贝中。定期更新镜像拷贝。
使用增量更新备份功能,却不需要每天去做全镜像拷贝。
基于增量更新备份的备份策略,可使数据库的介质恢复花最少的时间,每日使用脚本去实施此策略,那么在恢复的时间中,你就不需要应用超过一天的重做日志。
RMAN>run { recover copy of database with tag 'incr_update';backup incremental level 1 for recover of copy with tag 'incr_update' database;}
上面有2条命令:
第一条:
1,第一次运行run脚本时,由于没有0级以及1级增量备份,因此此命令没有起任何作用;
2,第二次运行run脚本时,只有一个0级备份但没有1级增量备份,因此此命令还是没有起作用;
3,第三次以及后面的运行中,会将1级增量备份应用到数据文件拷贝中。
第二条:
1,第一次运行run脚本时,会创建数据文件的一个0级增量备份,作为以后增量更新备份的基础;
2,在第二次以及后面所有的子运行当中,都会创建数据文件的1级增量备份。
注意的地方:
1,数据库新增一个datafile时,在新增了一个datafile后run脚本时会创建此新datafile的镜像拷贝;
2,具胡不同的增量备份策略时,针对各个策略要有不同的tag,否则RMAN会无法确定。
增量更改备份恢复时的三步:
1,
恢复指定时间的镜像拷贝;
2,
恢复最后一次1级增量备份;
3,
应用redo日志。
变化跟踪增量备份功能
可避免扫描datafile的每个块。
原理:在激活此功能之后,第一个0级增量备份仍然要扫描整个数据文件,往后的增量备份会使用此0级备份作为你备份并利用变化跟踪文件。
增量备份使用此文件去对比块的变化,只备份追踪的且有发生变化的块,效率更高。
初始化配置之后就基本上不需要维护。
块变化跟踪文件为整个数据库而创建,存放在db_create_file_dest中,可手动地指定其名字和存放位置。
RMAN不支持对块变化跟踪文件有备份/恢复操作。
在还原/恢复后,块变化跟踪文件会被清除,要重新记录块的更改。
打开此功能:
1、数据库要处于OPEN或MOUNTED状态
2、SQL>ALTER DATABASE ENABLE BLOCK CHANGE TRACKING;
或
SQL>ALTER DATABASE ENBALE BLOCK CHANGE TRACKING USING FILE ‘/mydir/rman_change_track.f’ REUSE;
REUSE选择告诉ORACLE去覆盖任何使用了此指定名字的文件。
关闭此功能:
SQL>ALTER DATABASE DISENABLE BLOCK CHANGE TRACKING;
如果跟踪文件所在目录是ORACLE管理目录,那么关闭的同时ORACLE会删除跟踪文件。
移动变化跟踪文件
1、确定当前变化跟踪文件的名字
2、关闭数据库
3、使用操作系统命令,移动变化跟踪文件到新的位置
4、挂载数据库,并使数据库认识到新的文件位置
5、打开数据库
如果没办法关闭数据库,那么就必须先将变化跟踪功能关闭,然后激活此功能时将文件位置指向新的位置,如下:
SQL>ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;
SQL>ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE ‘/new_location’;
===================================================================
四、备份到flash recovery area
备份到flash recovery area时,需要考虑以下两个问题:
1、根据数据库的保留策略及使用情况,来决定flash recovery area的配额
2、备份脚本
A、少量数据块更改时,使用增量备份,每天备份一次
RMAN>RECOVER COPY OF DATABASE WITH TAG “whole_db_copy”;
RMAN>backup incremental level 1 for recover of copy with tag “whole_db_copy” database;
或
RMAN>RECOVER COPY OF DATABASE WITH TAG “whole_db_copy” UNTIL TIME ‘SYSDATE – 3’;
RMAN>backup incremental level 1 for recover of copy with tag “whole_db_copy” database;
脚本解释:
脚本执行第一天,RECOVER语句没有任何作用,backup .. for recover of copy语句会创建一个原始的0级数据库拷贝;
脚本执行第二天,RECOVER语句仍然没有任何作用,因为没有1级增量备份去应用到0级增量备份当中。BACKUP命令创建第一个1级增量备份;
之后的每天,脚本执行时,前一天的1级增量备份会应用到0级数据库拷贝当中,以此前滚到前一天的1级增量备份的时间,同时新的1级增量备份会创建,包含了处前一天的1级增量备份以后的所有发生变化的数据块。
B、多量数据块更改时,使用周期性的全镜像拷贝,每周执行一次
RMAN>BACKUP DATABASE TAG "weekly_full_bkup";
C、中等数量块更改时,使用增量更新备份,每周执行一次
RMAN>RECOVER COPY OF DATABASE TAG "whole_db_cpy";
RMAN>BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG "whole_db_copy" DATABASE;
脚本解释:
第一周,backup .. for recover of copy会创建一个0级增量放到flash recovery area中,这个备份将会作为周策略的基础;
以后每周的执行当中,这个拷贝会前滚到最近的增量备份检查时间。
===================================================================
五、备份到flash recovery area和磁带中
1、使用flash recovery area作为日志归档位置,以及所有磁盘备份的存放位置。
这样flash recovery area没有足够空间去创建归档日志或备份时,ORACLE会自动删除归档日志和废弃的或已被移动到磁带的备份。
2、移动flash recovery area里的备份文件和归档重做日志到磁带中。
flash recovery area的磁盘分配建议较少。
操作两步:
1、为磁盘和磁带备份配置RMAN环境
配置保留策略
configure retention policy to recovery window of 15 days;
打开备份优化
configure backup optimization on;
打开控制文件自动备份
configure controlfile autobackup on;
配置磁带
configure device type sbt parms='...' parallelism 1;
2、备份脚本(根据不同的情况,决定flash recovery area的配额)
A、少量数据块变化时的脚本,每天运行
RMAN>RECOVER COPY OF DATABASE WITH TAG "daily_backup";
--使用昨天的1级增量备份还原并前滚到最近的增量备份SCN号的状态
RMAN>BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG "daily_backup" DATABASE;
--执行增量备份到flash recovery area中(使用默认的CHANNEL)
RMAN>BACKUP RECOVERY AREA;
--备份flash recovery area到磁带中
RMAN>DELETE OBSOLETE DEVICE TYPE SBT;
--删除磁带上无效的备份
B、多数据块变化时的备份脚本,周执行一次,每日执行一次
几个关键:
a、重做日志文件保存在flash recovery area中
b、每周一次将数据库全备份放到flash recovery area中
c、每天,flash recovery area中所有的没有存放到TAPE中的备份文件都备份到TAPE中,TAPE中废弃的备份会删除
周脚本:
RMAN>BACKUP AS COPY DATABASE;
--备份数据库拷贝到flash recovery area
RMAN>BACKUP RECOVERY AREA;
--备份flash recovery area中的备份到TAPE
RMAN>DELETE OBSOLETE DEVICE TYPE SBT;
--删除TAPE中的废弃备份
日脚本:
RMAN>BACKUP RECOVERY AREA;
--将flash recovery area中的备份移动到TAPE中
RMAN>DELETE OBSOLETE DEVICE TYPE SBT;
--删除TAPE中废弃的备份
C、中等数量数据块变化的备份脚本,基于数据库增量更新备份
策略:
基于数据库的增量更新备份为基础的全备份,每周会有一次前滚操作
前滚后,flash recovery area中的内容会备份到TAPE中。
每天,flash recovery area中的归档重做日志都会累积。
周脚本:
RMAN>RECOVER COPY OF DATABASE WITH TAG “whole_db_cpy”;
根据1级增量备份做前滚
RMAN>BACKUP DEVICE TYPE DISK INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG “whole_db_cpy” DATABASE;
备份一个1级增量备份到flash recovery area中
RMAN>BACKUP RECOVERY AREA;
将flash recovery area中的文件备份到TAPE中
RMAN>DELETE OBSOLETE DEVICE TYPE SBT;
删除TAPE中废弃的备份
日脚本:
RMAN>BACKUP RECOVERY AREA;
将flash recovery area中的文件备份到TAPE中
RMAN>DELETE OBSOLETE DEVICE TYPE SBT;
删除TAPE中过期的备份
D、数据库中没有足够磁盘空间的备份脚本
flash recovery area只会用于归档日志的目的地
flash recovery area中不必要的日志,会自动被删除
每日备份归档日志到TAPE中
flash recovery area要足够大,用于存放最少2天的归档重做日志以及1天的增量备份
周脚本:
RMAN>BACKUP DEVICE TYPE SBT INCREMENTAL LEVEL 0 DATABASE;
备份数据库的0级增量备份到TAPE
RMAN>DELETE OBSOLETE BACKUPS ON TAPE;
删除TAPE中废弃的备份
RMAN>BACKUP RECOVERY AREA;
备份flash recovery area到TAPE
日脚本:
RMAN>BACKUP RECOVERY AREA;
备份flash recovery area到TAPE
RMAN>BACKUP DEVICE TYPE DISK INCREMENTAL LEVEL 1 DATABASE;
备份1级增量备份到flash recovery area中
===================================================================
六、验证RMAN备份
backup validate ...
验证对象:数据库文件、归档日志
检查数据文件是否有物理和逻辑上的损坏,所有数据库文件存在且位于正确的位置
RMAN不会产生备份集,但会扫描文件以决定他们是否已被备份且无损坏
如果发现损坏的块,RMAN会更新视图v$database_block_corruption来描述损坏,损坏的块修复后视图对应的记录会删除。
RMAN>backup validate database archivelog all;
===================================================================
七、查询RMAN仓库的概述
不需要catalog的命令
list
report
show
v$
需要catalog的命令
print script
固定视图的恢复目录
从RMAN界面中能够获得的关于RMAN的主要的信息源是REPORT和LIST命令。
===================================================================
八、列出RMAN备份,归档日志以及数据库替身
通过备份的方式列出备份文件
list backup;
list backupset;
list copy;
list expired backup;
通过文件的方式列出备份文件
list backup by file;
list copy by file;
list expired backup by file;
以总结的模式列出备份文件
list backup summary;
list expired backup summary;
列出受限制的备份
list backup of database;
list copy of datafile '/u01/.../xxx.dbf';
list backupset 29;
list datafilecopy '/u01/.../xxx.dbf';
list backupset tag 'xxx';
LIST COPY OF DATAFILE 'ORACLE_HOME/ORADATA/.../XXX.DBF' DEVICE TYPE SBT;
LIST BACKUP LIKE '/tmp/%';
LIST COPY OF DATAFILE 2 COMPLETED BETWEEN '10-DEC-2002' AND '17-DEC-2002';
LIST ARCHIVELOG ALL BACKED UP 2 TIMES TO DEVICE TYPE SBT;
list backup of datafile 1;
列出数据库的替身
OPEN RESETLOGS操作的每一次执行都在一个数据库上执行,这个操作创建一个数据库的替身。
当执行增量备份时,RMAN会从一个前期的替身或一个当前的替身中使用一个备份作为子级备份的基础。
当执行还原和恢复时,RMAN会在还原和恢复操作时使用从前一个替身的备份,就像使用当前替身的备份,同时所有归档日志都可用。
list incarnation;
使用恢复目录且在同一个恢复目录中注册了多个目录数据库时,指定某个数据库的替身
list incarnation of database prod3;
================================================================
九、
备份与数据库模式的报告
REPORT命令可以查出:
1,哪些文件需要备份;
2,哪些文件已经有不可恢复的操作在这些文件上执行过了;
3,哪些备份已无效,哪些可以被删除;
4,哪些文件最近还没有备份
REPORT需要十分精确,因此RMAN信息库必须与控制文件同步,同时必须在最近运行CHANGE,UNCATALOG和CROSSCHECK去更新所有备份在RMAN信息库的状态。
报告哪些对象需要执行备份
通过指定NEED BACKUP 关键词,可以产生需要备份的文件的报告。
步骤:
1、报告前,要做一次交叉检查,更新RMAN信息库
allocate channel for maintenance device type disk;
--配置RMAN维护通道
crosscheck backup|copy;
--交叉检查
2、确定好目前RMAN的保留策略,然后打出报告
report need backup
3、如果没有激活保留策略或想更改保留策略,那么运行report need backup days
report need backup days = 7 database;
report need backup days = 30 tablespace system;
report need backup days = 14 datafile '/u01/.../xxx.dbf';
报告哪些备份已经失效
通过指定关键OBSOLETE,报告哪些文件是多余的。
REPORT OBSOLETE命令在命令行级别支持RECOVERY WINDOWS和REDUNDANCY选项。
步骤:
1、报告前,要做一次交叉检查,更新RMAN信息库
allocate channel for maintenance device type disk;
--配置RMAN维护通道
crosscheck backup|copy;
--交叉检查
release channel;
--释放维护通道
2、使用OBSOLETE选项去识别哪些备份已经失效
report obsolete recovery window of 7 days;
或
report obsolete redundancy = 2 device type disk;
3、使用ORPHAN选项列出属于一个替身不能用的备份
report obsolete orphan;
4、删除备份
delete obsolete;
DELETE OBSOLETE RECOVERY WINDOW OF 7 DAYS;
DELETE OBSOLETE REDUNDANCY = 2;
报告数据库模式
使用REPORT SCHEMA去列出数据库文件。
如果你使用一个恢复目录,那么你也会产生一个过去一个时间的数据库模式的历史报告。
但是,报告一个当前的数据库模式时,你是不需要一个恢复目录的。
RMAN>report schema;
如果你有一个恢复目录:
RMAN>REPORT SCHEMA AT TIME ‘SYSDATE -14’;
RMAN>REPORT SCHEMA SCN 1000;
RMAN>REPORT AT SEQUENCE 100 THREAD 1;
****************************************************************************
本文为个人学习ORACLE用户手册整理而成,如有错误,实属个人学习能力有限,请指正。
****************************************************************************