欢迎来到天天文库
浏览记录
ID:10692068
大小:322.00 KB
页数:10页
时间:2018-07-07
《深入理解incarnation》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、深入理解incarnation10g引入了一个很重要的功能,就是可以跨越resetlogs进行数据恢复。这就需要我们比较深入的了解一个概念,incarnation。我们通过下面的几个实验,来说明什么是incarnation,希望能对大家有所帮助。2009-3-27王力一准备实验环境Version10.2.0.1.0Platformwinxp1.1进行一次全备份Rmantarget/backupdatabaseincludecurrentcontrolfile;;1.2以scott建立测试表t,并且插入数据connscott/tigercreateta
2、blet(tscnnumber(10));beginforiin1..10loopinsertintotvalues(dbms_flashback.get_system_change_number);commit;endloop;end;/SQL>select*fromt;TSCN----------886010886013886015886017886019886020886022886024886026886027已选择10行。实验一、测试不完全恢复后的完全恢复1.1进行一次基于scn的不完全恢复Rmantarget/run{startupmou
3、ntforce;setuntilscn886019;restoredatabase;recoverdatabase;alterdatabaseopenresetlogs;}SQL>select*fromt;TSCN----------886010886013886015886017--并不包括886019数据,说明untilscn的恢复,并不包括该scn。1.2继续插入数据SQL>begin2foriin1..10loop3insertintotvalues(dbms_flashback.get_system_change_number);4comm
4、it;5endloop;6end;7/SQL>select*fromtorderby1;TSCN----------886010886013886015886017886245886247886249886251886252886254886256886258886260886262已选择14行。1.3使用restlogs之前的备份进行完全恢复run{startupmountforce;restoredatabase;recoverdatabase;alterdatabaseopen;}数据库如愿open;实验二、测试再次不完全恢复再次做不完全恢复,
5、恢复点在上次resetlog点之后run{startupmountforce;setuntilscn886262;restoredatabase;recoverdatabase;alterdatabaseopenresetlogs;}open没有问题SQL>select*fromtorderby1;TSCN----------886010886013886015886017886245886247886249886251886252886254886256886258886260已选择13行。实验三、尝试恢复到第一次resetlog之前3.1希望恢复
6、到第一次resetlog之前scn886019之前run{startupmountforce;setuntilscn886013;restoredatabase;recoverdatabase;alterdatabaseopenresetlogs;}3.2遇到错误rman-20208遇到错误3.3反清复明,回到incarnation7.成功open数据库;resetdatabasetoincarnation7;run{startupmountforce;setuntilscn886013;restoredatabase;recoverdatabase
7、;alterdatabaseopenresetlogs;}成功打开数据库SQL>select*fromt;TSCN----------8860103.4总结分析每一次resetlogs就会使incarnation+1;如果想要恢复到之前incarnation的scn,就需要先恢复到之前的incarnation;至于oracle为什么这么设计,我们通过后面的实验,就能够理解了;以上实验的过程如下图所示:实验四、模拟不完全恢复后再次不完全恢复4.1重新模拟环境Deletebackup;Backupdatabaseincludecurrentcontrol
8、file;Truncatetablet;beginforiin1..10000loopinsertintot
此文档下载收益归作者所有