li
  当前位置:主页 > 问题集锦 > 文章内容
li
oracle 10g RMAN新功能测试出来的困惑
来源: www.ixdba.net  作者: IXDBA.NET官方    时间:2007-09-05   阅读:47  

这几天一直在测试oracle10g的新功能,其中测试到了rman的增量合并功能时,出现了问题,我的测试结果和oracle官方文档不是很符合,于是百思不得其解,迷茫了2天,后来经过无数遍的测试,思考,发现是oracle官方文档翻译的问题,其实测试结果和oraclerman增量合并所要达到的结果完全一致,究其原因,是oracle官方翻译的文档害苦了俺,看来看oracle文档,还是看E文的好。

拿一点例子出来:

增量合并 

www.ixdba.net



假如您有如下备份计划: 
星期天 -  0 级(完全),带有标签 level_0
星期一 -  1 级(增量),带有标签 level_1_mon
星期二 -  1 级(增量),带有标签 level_1_tue 

等等。如果数据库在星期天发生故障,在 Oracle 10g 之前的版本中,您将不得不恢复标签 level_0,然后应用所有六个增量。它将持续一段较长的时间,这是许多 DBA 不进行增量备份的另一个原因。 

     Oracle 
数据库 10g RMAN 从根本上改变了此格局。现在,可以用如下增量备份命令:

RMAN> backup incremental level 1 for recover of copy with tag level_0 database;

然后执行:
RMAN>recover copy of database with tag level_0




这里官方文档是这样写这个命令的,

backup incremental level_1 for recover of copy with tag level_0 database;

很明显的错误。

第一次执行这个命令rman会去寻找level 0的备份,如果没有的话,rman会自动创建level 0备份。

其实以后执行此命令只用执行backup incremental level 1即可,后面的部分其实是没用的,经过测试,即使每次都执行后面的for字句,也不会自动的合并增量到level 0的备份。最后还要执行recover copy of database with tag level_0;才能把每次的增量合并到level 0中。

其实合并增量备份的真正命令是recover copy of database with tag level_0这个子句,这个命令可以在每次执行level 1完成后执行。

由于最后执行的增量level 1都会合并以前的增量level 1数据,所以,执行增量数据合并到level 0 也可以每隔一段时间执行一次,但是不建议这样做。

具体的理解思路是这样的:

1
、如果数据库在周二出故障,则恢复应为:
level_0
+周二的archive log
2
、如果数据库在周六出故障,则恢复应为:
level_0
+周六的archive log
3
、如果数据库在周日出故障,则恢复应为:
level_0+
周日的archive log

这样恢复的时候,只用一个level 0备份加上当天的少量归档日志即可。




  上一篇: 为什么会产生回滚与前退   下一篇: apache(20014)故障的解决办法
li
 §相关评论  
 热点文章

·IT168技术卓越奖年会北京召开在
·No space left on device: mod
·shm.create(): error creating
·mysql占用cpu特别高问题的解决
·Can't locate Mail/Send.pm in
·Allowed memory size of 83886
·overwritten -- Unclean shutd
·Apache重启失败:name-based s
·(13)Permission denied: make_
·SQL0964C The transaction log
·delete删除大表:SQL0964C The
li
 编辑推荐
·IT168技术卓越奖年会北京召开在
·No space left on device: mod
·shm.create(): error creating
·mysql占用cpu特别高问题的解决
·Can't locate Mail/Send.pm in
·Allowed memory size of 83886
·overwritten -- Unclean shutd
·Apache重启失败:name-based s
·(13)Permission denied: make_
·SQL0964C The transaction log
·delete删除大表:SQL0964C The
li
 相关篇章
·为什么会产生回滚与前退
·Oracle中的序列(sequence)
·rman备份后为什么要同时备份归档...
·关于low cache rba与on disk rba...
·网站开张,后记之二,
·网站开张,欢迎来访!
·apache(20014)故障的解决办法
·ORACLE Unbreakable Linux发布
·CentOS Linux,免费的Red Hat AS产...
·SGI公司宣布破产
·undo表空间暴长,如何取消自动扩...
·更改oracle静态参数db_writer_pr...
·如何查看sql操作语句的redo生成量
·mysql数据库varchar类型长度以及...
·oracle LARGE_POOL_SIZE大小设置...
·oracle10g监听无法启动问题
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接