LoveUnix » DB2 & Informix » 对db2有一点失望了
让LU留住您的每

一天 让LU博客留住您的每一天
2007-10-24 20:11 darkbug
对db2有一点失望了

最近一个case刚好研究了一下oracle10g的备份和恢复机制

发现oracle的备份恢复部分以及rman设计的很精妙,除了物理层面的restore、recover,逻辑层面的export、import、DBPITR,10g又加入了flashback。

rman本身就很强了,再加入flashback,感觉无敌了。

反观db2,除了restore、recover以外,也就rollfoward了。从物理层面来说,基本功能也还说得过去,但是在逻辑层面,export和import也没有oracle的强,感觉得在备份恢复这块db2真的差不少呀。

各位如何看?

2007-10-24 21:36 seven
DB2里面也有Oracle flashback的功能,rollfoward不仅仅可以提供tablespace级别,也可以提供表级删除数据恢复.

2007-10-25 12:52 beginner-bj
DB2里面没有flashback的功能吧?V9的新特性?

2007-10-25 13:35 banker
flashback?
闪回?

好像听说过,不过db2好像没有把

2007-10-25 13:48 seven
首先说一下,我不懂Oracle,Google了一下,Oracle的flashback功能大概是:捞回删除的表数据,而不用做数据库恢复

Oracle基于记录在日志里面的事务处理交易流水来flashback,在db2中,有类似这样的功能,rollforward也可以实现某一特定删除表数据的恢复。只是操作步骤好像没Oracle简单。

[[i] 本帖最后由 seven 于 2007-10-25 13:52 编辑 [/i]]

2007-10-26 00:13 beginner-bj
Oracle的flashback是个很强的功能,相当于快速rollback到删数据前。db2的rollforward相比可就太麻烦了。而且rollback、rollforward方向正好相反,呵呵。

2007-10-26 14:28 banker
学习了

2007-10-27 18:04 darkbug
[quote]原帖由 [i]seven[/i] 于 2007-10-25 13:48 发表 [url=http://bbs.loveunix.net/redirect.php?goto=findpost&pid=731531&ptid=77890][img]http://bbs.loveunix.net/images/common/back.gif[/img][/url]
首先说一下,我不懂Oracle,Google了一下,Oracle的flashback功能大概是:捞回删除的表数据,而不用做数据库恢复

Oracle基于记录在日志里面的事务处理交易流水来flashback,在db2中,有类似这样的功能,roll ... [/quote]

呵呵,就是想引出大家来积极讨论。

我把自己这段时间的发现的一些东西跟大家共享一下,有错误之处还请指出。个人认为flashback最大的好处就是做恢复的时候不需要从备份恢复,这是非常关键的。

对整库:

oracle的flashback是不需要先restore,也就说像倒带一样可以把数据库或者表回退到之前的一个时间点。

db2起码也要先restore了以后才能rollforward吧,这个restore的时间要多少?然后再rollforward,这一共要花多少时间?

说到区别,数据库无论前滚还是回滚当然都是需要依靠日志支持,这个的确没有什么特别,但是从往哪个方向滚就很重要。

对表空间:

oracle的flashback不支持表空间,所以有两个选择DBPITR和restore+recover。

db2只有一个选择restore+rollforward,虽说DBPITR的功能可以用手动完成,但是绝对没有自动的快吧。

对表:

对于表,不仅仅是删除的问题,如果出现逻辑错误,造成错误的update或者delete,如何处理?

oracle的flashback和DBPITR都可以做快速恢复,可以用时间点来恢复。不用时间点的就是export、import。

db2对于表,我好像没有发现什么可以在线基于时间点的恢复,难道为了一个表做整库的恢复?不用时间点的export、import倒是也有,但是功能没有oracle的export和import强。

[[i] 本帖最后由 darkbug 于 2007-10-27 18:11 编辑 [/i]]

2007-10-29 14:35 seven
[quote]原帖由 [i]darkbug[/i] 于 2007-10-27 18:04 发表 [url=http://bbs.loveunix.net/redirect.php?goto=findpost&pid=732023&ptid=77890][img]http://bbs.loveunix.net/images/common/back.gif[/img][/url]


呵呵,就是想引出大家来积极讨论。

我把自己这段时间的发现的一些东西跟大家共享一下,有错误之处还请指出。个人认为flashback最大的好处就是做恢复的时候不需要从备份恢复,这是非常关键的。

对整库 ... [/quote]


拜读老大的大作。学习了。

确实如老大所述,上周一个客户误删除了35张表,我就傻乎乎的干了一个晚上,重复restore+rollforward,幸好数据库不大,才能得以顺利地做完。

看起来,Oracle这块做的确实是很精彩。

有一个好奇的地方,Oracle为了实现这么多些功能,他的日志里要记录多少东西啊(事务处理的除外),它一定要记录下N多checkpoint,才能实现类似flashback的功能,大家谁有条件可不可做个实验,做相同数据量大小事务的操作,看看Oracle和db2分别用了多少日志。

2007-10-29 15:21 bpmf
db2没有flash back
在备份方面是没有oracle强,这个还是必须承认的....

2007-10-29 16:06 darkbug
[quote]原帖由 [i]seven[/i] 于 2007-10-29 14:35 发表 [url=http://bbs.loveunix.net/redirect.php?goto=findpost&pid=732316&ptid=77890][img]http://bbs.loveunix.net/images/common/back.gif[/img][/url]



拜读老大的大作。学习了。

确实如老大所述,上周一个客户误删除了35张表,我就傻乎乎的干了一个晚上,重复restore+rollforward,幸好数据库不大,才能得以顺利地做完。

看起来,Oracle这块做的确实 ... [/quote]

flashback需要专门的存储空间,这种恢复的当然需要多一些日志记录和辅助信息,在很多情况下,这很值得。

这些存储工作也会带来额外的IO压力,在一些IO压力特别大的环境下,可能并不容易实施,我见过因为压力和空间问题连归档都不起的。

所以flashback功能的采用是否还需要视具体情况进一步评估。

2007-10-29 16:21 seven
这个话题,希望继续,我很想对比对比,也算是学习,这两个厂家的产品的优缺点,然后在实际的case,有选择性的采用。:P

说实话,db2在很大方面,做的还是很保守的。它往往要dba很大程度thinking in db2才行。

2007-10-30 15:39 banker
我是来学习的哈哈

2007-10-31 10:44 artbs
各有优缺点。

2007-10-31 19:45 wolfop
大压力下的生产环境falsh back其实基本没法用,数据更新量太惊人了。

2007-11-1 09:41 darkbug
大压力情况下甚至归档都难应用,但是相比下,大压力的情况并不多,所以flashback的应用范围还是不小的。

2007-11-1 14:03 xn_sung
oracle的闪回是低价大容量硬盘的催生品~

2007-11-1 22:33 darkbug
也是烂应用的救命用灵药

2007-11-2 10:06 fck
删除表之前可以先做个单独表的备份,还是必要的。
有条件再做一个全库备份。
这样就用不着flashback了。

2007-11-3 17:54 darkbug
[quote]原帖由 [i]fck[/i] 于 2007-11-2 10:06 发表 [url=http://bbs.loveunix.net/redirect.php?goto=findpost&pid=733331&ptid=77890][img]http://bbs.loveunix.net/images/common/back.gif[/img][/url]
删除表之前可以先做个单独表的备份,还是必要的。
有条件再做一个全库备份。
这样就用不着flashback了。 [/quote]

单独表备份如何做?export?关联性、一致性呢?如何保证?每次备份都把数据库停下来?

除了删除表这种重大错误,难道每删一条记录也备份一次?不然备份有何意义?只能应对介质故障?

另外,flashback不是针对表的误删除这一种情况。

2007-11-4 00:11 turbo
db2/400 早就有不restore直接倒回某时点的功能

2007-11-4 22:02 darkbug
老大也来了,呵呵。

我的,400没用过的干活,所说的都是基于unix、windows、linux的db2,从原理上大致看,回滚也就是拿日志反向操作,对db2来说应该不算是太难的事情。如果db2各个平台之间的差别直到目前还有这么大差别的话,那真的没话说了,也难怪Oracle这么猛,还是db2太怂了。400也许好,但是毕竟少呀。

仔细看了oracle有关备份恢复的手册,比db2的相关手册强太多了,物理逻辑等等讲的清清楚楚,唉,真的是差别呀

2008-1-25 11:03 hanbger
:loveliness:   Oracle 公司的产品给用户用了,不给“技术员”了,以后的工作都是用户自己干了。好用就行,把主要精力集中到整个系统管理上,不要单独某方面性能做比较,没有太大实际价值,个人意见,请~!~。

[[i] 本帖最后由 hanbger 于 2008-1-25 11:09 编辑 [/i]]

2008-1-25 12:31 十年
db2不少地方确实差强人意。不过和IBM自己的服务器相集合,db2稳定性表现优异

页: [1] 2 3
查看完整版本: 对db2有一点失望了


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.