Oracle数据库中recover和restore的区别_及RMAN中关于catalog start with使用介绍
一、Oracle数据库中recover和restore的区别
restore just copy the physical file, recover will consistent the database.
[color=purple]restore 是还原,文件级的恢复。就是物理文件还原。
recover 是恢复,数据级的恢复。逻辑上恢复,比如应用归档日志、重做日志,全部同步,保持一致。
比如你有一个备份,restore是从备份中拿出来放在合适的地方,recover就是用日志前滚和用undo后滚,最终达到希望到的一个时间点的操。
其实也就是用restore先把备份文件拷贝到数据库目录下进行替换,再用recover经过一些处理,数据库就恢复正常了。
1、restore 命令:用于还原已经备份的数据文件。
(1)、restore database 还原所有的数据文件。
(2)、restore tablespace 还原特定表空间的数据文件。
(3)、restore datafile 还原特定的数据文件。
(4)、restore controlfile 还原控制文件。
(5)、restore archivelog 还原归档日志文件。
2、recover 命令:当数据库需要应用归档日志文件恢复数据文件时,使用recover命令。使用该命令数据库系统会自动应用归档的日志文件。
(1)、recover database 恢复所有的数据文件。
(2)、recover tablespace 恢复特定表空间的数据文件。
(3)、recover datafile 恢复特定的数据文件。
另外关于recover database using backup controlfile与until cancel,详见http://www.fgedu.net.cn/bbs/thread-112-1-1.html]http://www.fgedu.net.cn/bbs/thread-112-1-1.html
二、关于RMAN中catalog start with和catalog backuppiece介绍?
因为之前备份集的位置发生改变,导致crosscheck之后,将之前备份的记录标记为expired,我们后来手工删除了这些expired的备份集信息。
现在我们要进行恢复,必须将之前的备份信息重新注册到控制文件中来。
注册单个备份片(catalog backuppiece)
RMAN> CATALOG BACKUPPIECE '/u01/bak/arch_0no76njh_1_1_20130416','/u01/bak/ctl_file_0oo76njm_1_1_20130416';
cataloged backup piece
backup piecehandle=/u01/bak/arch_0no76njh_1_1_20130416 RECID=25 STAMP=812872014
cataloged backup piece
backup piece handle=/u01/bak/ctl_file_0oo76njm_1_1_20130416RECID=26 STAMP=812872014
--可以正常查看:
RMAN> list backupset summary;
注册整个目录(catalog start with)
---ASM:
CATALOG START WITH '+disk';
# catalog allfiles from an ASM disk group
--本地目录:最后一定要加/
CATALOG START WITH '/fs1/datafiles/';
#catalog all files in directory
--有多个目录,注册多次:
RMAN>catalog start with'/data01/';
RMAN>catalog start with '/data02/';
RMAN>catalog start with '/data03/';
--验证:
RMAN> list backupset summary;