之前用RMAN做过一个数据库的全备,后来发现数据库mess up了,想要恢复到之前做备份的那个状态,这个用RMAN很好办,
RMAN> run{
2> set until scn 44712912;
3> restore database;
4> recover database;
5> alter database open resetlogs;
6> }
不过杯具的是,在resetlogs之后没有再做一次全备。这样在数据库run了一段时间后,发现还是要回到当初状态比较好。寻思着不如再回到从前吧,尝试重复执行上面的这段脚本,却得到如下错误,
executing command: SET until clause
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of set command at 10/25/2010 15:10:03
RMAN-20208: UNTIL CHANGE is before RESETLOGS change
突然意识到,这应该是在resetlogs之后,数据库进入了一个新的incarnation, 因此用上个incarnation的备份来恢复貌似不行了。不过文档上说得请清楚楚,10g加强了这方面的功能,即使resetlogs了,还是可以用之前的备份来恢复数据库的,但是为啥这样重复执行脚本失败了呢?莫非需要穿越到上一次“化身”中(想起了盗梦空间)吗?
通过 RMAN 的 LIST INCARNATION 命令可以看到当前数据库共有几层"化身"...
RMAN> list incarnation;
List of Database Incarnations
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1 1 ORCL 1257481935 PARENT 1 29-OCT-05
2 2 ORCL 1257481935 PARENT 518852 14-SEP-10
3 3 ORCL 1257481935 CURRENT 44712913 22-OCT-10
根据reset scn, 可以看到上一次备份实在incarnation 2中做的,尝试把数据库穿越回上一个incarnation中,
RMAN> reset database to incarnation 2;
database reset to incarnation 2
接下来再次尝试用之前的脚本来恢复数据库,
RMAN> run{
2> set until scn 44712912;
3> restore database;
4> recover database;
5> alter database open resetlogs;
6> }
executing command: SET until clause
Starting restore at 25-OCT-10
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=539 devtype=DISK
channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00001 to D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/SYSTEM01.DBF
restoring datafile 00002 to D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/UNDOTBS01.DBF
restoring datafile 00003 to D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/SYSAUX01.DBF
restoring datafile 00004 to D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/USERS01.DBF
restoring datafile 00005 to D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/EXAMPLE01.DBF
restoring datafile 00006 to D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/XXX001.DBF
restoring datafile 00007 to D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/XXX002.DBF
restoring datafile 00008 to D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/XXX003.DBF
restoring datafile 00009 to D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/XXX004.DBF
channel ORA_DISK_1: reading from backup piece D:/BACKUP/06LQGQTM_1_1
channel ORA_DISK_1: restored backup piece 1
piece handle=D:/BACKUP/06LQGQTM_1_1 tag=TAG20101015T123149
channel ORA_DISK_1: restore complete, elapsed time: 00:12:26
Finished restore at 25-OCT-10
Starting recover at 25-OCT-10
using channel ORA_DISK_1
starting media recovery
archive log thread 1 sequence 7180 is already on disk as file D:/ORACLE/PRODUCT/10.2.0/FLASH_RECOVERY_AREA/ORCL/ARCHIVEL
OG/2010_10_15/O1_MF_1_7180_6CHXFG68_.ARC
archive log filename=D:/ORACLE/PRODUCT/10.2.0/FLASH_RECOVERY_AREA/ORCL/ARCHIVELOG/2010_10_15/O1_MF_1_7180_6CHXFG68_.ARC
thread=1 sequence=7180
media recovery complete, elapsed time: 00:00:02
Finished recover at 25-OCT-10
database opened
大功告成!
【Sum-up】
看来虽然10g支持用跨incarnation的备份来恢复数据库,还是需要事先讲数据库set到相应的incarnation才成。
转贴: http://archive.cnblogs.com/a/1860583/
分享到:
相关推荐
EurekaLog 7.5 (18-August-2016) 1)..Important: Installation layout was changed. All packages now have version suffix (e.g. EurekaLogCore240.bpl). No files are copied to \bin folder of IDE....
# - The Windows OS will recover the settings for non-driver USB camera. # - Auto configuration could help release manpower in restarting the service. # # # Environment: # - Windows OS 64bit with .net ...
RecoverMyFiles是常用的文件恢复工具,其特点:可按分区按文件类型恢复
发现问题 最近在工作中发现了一个问题,这个问题就是MySQL的磁盘满...2017-09-15 16:01:01 2420 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be r
恢复rtti 从GHC堆中恢复运行时类型信息。 该库中的关键功能是 classify :: a -> Classifier a 它恢复有关我们一无所知的值的类型信息(特别是没有类型类约束)。 一个示例用例是以下anythingToString函数: ...
RMAN 恢复: RESTORE 和 RECOVER 命令 5-5 使用 Oracle Enterprise Manager 进行恢复 5-6 完全恢复与不完全恢复 5-7 完全恢复过程 5-8 不完全恢复过程 5-9 需要不完全恢复的情况 5-11 不完全恢复的类型 5-12 ...
第三个实验性命令recover可以帮助重新启动已关闭的群集(请参见下文)。 渲染资产 Bootkube可用于呈现引导自托管的Kubernetes集群所需的所有资产。 这包括生成TLS资产,Kubernetes对象清单以及连接到自举群集的kube...
否则会导致服务器RMAN备份失败ORA-19566 超出损坏块限制(切记) truncate原理: ? ? ? ?TRUNCATE不会逐个清除用户数据块上的数据,而仅仅重置数据字典和元数据块上的元数据(如存储段头和扩展段...
利用先序,中序遍历恢复二叉树 ,用兴趣的朋友可以看一下
recover() : 从索引中恢复T 构造的索引使用nH_k + o(n log sigma)位空间 [3],大约是T的压缩表示的大小,并且无需存储T即可执行上述操作。 该指数的实证评估见下文的基准部分。 FM-Index 的缺点是构建时间长,...
RMAN 恢复: RESTORE 和 RECOVER 命令 5-5 使用 Oracle Enterprise Manager 进行恢复 5-6 完全恢复与不完全恢复 5-7 完全恢复过程 5-8 不完全恢复过程 5-9 需要不完全恢复的情况 5-11 不完全恢复的类型 5-12 ...
如果CAD图无法顺利打开或前述方法并不能解决问题,我们就得使用recover工具:文件-->绘图实用程序-->修复,选择要修复的文件修复。 3. 有的时候就算recover了,但问题仍然存在,这时我们就得变通一下。我们新建一个...
android-keystore-password-recover 项目页面: : 制作说明 确保已安装Java SDK。 在Google上获取安装文件和使用说明。 然后进行构建,执行以下命令: javac -d ./build *.java 然后将其打包到一个JAR中,执行...
* 第31章:详解panic/recover原理 - 也解释了什么是“函数退出阶段” 目录4:Go语言高级主题(续) * 第32章:代码块和标识符作用域 * 第33章:表达式估值顺序规则 * 第34章:值复制成本 * 第35章:边界检查消除...
当Vim找到交换文件时,Recover.vim添加了diff选项 当您在Vim中打开文件但已在另一个实例中打开或在上一次编辑中未正确关闭时,Vim会警告您,但不会显示隐藏的交换文件和常规保存的文件有什么区别。 在您可能要执行...
windows-文件-历史-恢复 ...用法:java -jar recover.jar x:\backup-drive\ c:\Users\user\Desktop\recovered 我用它来批量恢复,而不是批量恢复,因为有时文件会导致崩溃(应用程序被黑客攻击在一起并且不稳定)
Using unique option prefix myisam_recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead
Recover4all Professional V2.26-100%恢复已删除文件-汉化绿色版Recover4all Professional V2.26-100%恢复已删除文件-汉化绿色版
电脑软件数据恢复Wondershare-Recoverit-8.2.0.17
万兴数据恢复Wondershare-Recoverit-8.2.0.17.rar