楼主: 小新

有人有兴趣讨论下压力大的数据库的容灾嘛?

[复制链接]
论坛徽章:
27
授权会员
日期:2005-10-30 17:05:33管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:36优秀写手
日期:2013-12-18 09:29:13马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
21#
发表于 2004-11-11 08:26 | 只看该作者
最初由 Kamus 发布
[B]

shutdown abort后所有需要的recovery数据都在本机的redo中
只要数据文件,redo不损坏,数据库就可以打开
但是并不一定这些redo就会同步到远程
那么远程就有可能启动不了数据库 [/B]


上面讲到,如果是同步的话,远端没有接受到数据块,local就不会认为数据已经写入本地硬盘,所以在网络断开的情况下,没有一致性的问题

如果是异步的话,在存储级别看的话,不管是数据文件还是redo log或是control file都是一样的异步机制。如果是实现了数据块的传输次序和local 硬盘写入的次序一样的话,应该可以认为是远端的shutdown abort吧,举个例子
例如网络是下午3点10分断的, 此时local的数据块写入到了3点10分,远端传输的数据块是3点9分的
只要保证3点9分前的数据块(包括数据文件和redo log,control file等等,存储级别不管这些)全部写入,3点九分后的数据块全部没有写入(也就是上面提到的异步按照local的写入次序写入远端)。这和local端三点9分shutdown abort不是一样的吗

我是这样理解的,大家讨论讨论吧

使用道具 举报

回复
论坛徽章:
0
22#
发表于 2004-11-19 14:06 | 只看该作者
最初由 HUHU123456 发布
[B]其实这方面产品还有GoldenGate,我们测过,比share plex的好用 [/B]

我们也做过测试,GoldenGate确实要好一些.

使用道具 举报

回复
招聘 : 售前/售后支持
论坛徽章:
5
ITPUB元老
日期:2005-04-25 13:27:42授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB8周年纪念徽章
日期:2009-09-27 10:21:21祖国60周年纪念徽章
日期:2009-10-09 08:28:00
23#
发表于 2004-11-22 18:13 | 只看该作者
最初由 nsync 发布
[B]
我们也做过测试,GoldenGate确实要好一些. [/B]

能不能把具体的测试过程和数据公布出来呢?比较一下。

使用道具 举报

回复
论坛徽章:
27
授权会员
日期:2005-10-30 17:05:33管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:36优秀写手
日期:2013-12-18 09:29:13马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
24#
发表于 2004-11-24 01:38 | 只看该作者
最初由 Kamus 发布
[B]

问题在于你如何保证这个SCN点的所有block改变都全部传到了远程?
假设我们认为一个checkpoint之后,所有的数据文件全部同步了,OK,现在改变了100个block,这100个block的改变被同步软件获得了,开始往远程传,一个极端的环境下,传到50个block改变的时候,网络中断了,此时你认为远程的数据库一定可以正常启动吗? [/B]


这还是相当于shutdown abort的情形啊
相当于就是local端在做checkpoint的时候,写入50个block掉电了
但是由于网络传输的原因,导致远端的几率大一点
但是现在做DR的网络带宽也是不小的

使用道具 举报

回复
论坛徽章:
27
授权会员
日期:2005-10-30 17:05:33管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:36优秀写手
日期:2013-12-18 09:29:13马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
25#
发表于 2004-11-25 12:11 | 只看该作者
昨天问HDS的人这个问题,问她这50个block会不会丢弃
HDS的人也没有一个明确的答复
不过感觉丢弃是理想的状况,但是存储应该不会知道这50个block是什么东西

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
26#
发表于 2004-11-26 16:32 | 只看该作者
最初由 eagle_fan 发布
[B]

上面讲到,如果是同步的话,远端没有接受到数据块,local就不会认为数据已经写入本地硬盘,所以在网络断开的情况下,没有一致性的问题

如果是异步的话,在存储级别看的话,不管是数据文件还是redo log或是control file都是一样的异步机制。如果是实现了数据块的传输次序和local 硬盘写入的次序一样的话,应该可以认为是远端的shutdown abort吧,举个例子
例如网络是下午3点10分断的, 此时local的数据块写入到了3点10分,远端传输的数据块是3点9分的
只要保证3点9分前的数据块(包括数据文件和redo log,control file等等,存储级别不管这些)全部写入,3点九分后的数据块全部没有写入(也就是上面提到的异步按照local的写入次序写入远端)。这和local端三点9分shutdown abort不是一样的吗

我是这样理解的,大家讨论讨论吧 [/B]



其实说白了,就是存储级的容灾做不出事务级的存储(比如,偶要求N个按顺序传向不阵列或者同阵列不同光纤通道的多个数据块要么同时存储成功,要么同时失败).

因此,窃以为将来的趋势还是依赖于数据库自身的事务将容灾集合起来更可靠.(就如Dataguard)

使用道具 举报

回复
论坛徽章:
27
授权会员
日期:2005-10-30 17:05:33管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:36优秀写手
日期:2013-12-18 09:29:13马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
27#
发表于 2004-11-27 23:07 | 只看该作者
最初由 Kamus 发布
[B]

老大,你咋转不过来呢
无论本地怎么坏,只要redo在都好办
问题是启用远程的时候,基本上就是本地用不了了
那么就可能会有需要恢复的数据没有传过去。
而在本地不会有这种情况
无论是在redo里,实在数据文件里,是在回滚段里
只要这些东西都完好,数据库就可以起来 [/B]


回滚段是在数据文件里面的吧
redo也是在日志文件里面的
远端也是同样有数据文件,redo log的吧

"就可能会有需要恢复的数据没有传过去。"这句话如何理解呢

使用道具 举报

回复
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
28#
发表于 2004-11-28 10:42 | 只看该作者
最初由 eagle_fan 发布
[B]

回滚段是在数据文件里面的吧
redo也是在日志文件里面的
远端也是同样有数据文件,redo log的吧

"就可能会有需要恢复的数据没有传过去。"这句话如何理解呢 [/B]


如果你总是能保证 传输的顺序和 oracle 写顺序一致,或者一起,那肯定没有问题的

至少也要保证日志和归档是率先传过去的


根据偶了解的情况,在同步传输的时候,本地会冻结存储cache使得无法做任何写入,同步完毕才可以做写入。这样对于文件系统可能就有一个新的问题,那就是 OS 还有cache,这部分数据可能就麻烦了,兴许只有 raw  device 才是安全的。

使用道具 举报

回复
论坛徽章:
3
蛋疼蛋
日期:2012-12-25 11:21:052014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11
29#
发表于 2004-12-6 23:03 | 只看该作者
最初由 hzy789 发布
[B]容灾的基本方式有基于以下几种方式:存储级, 主机级LVM, 应用级三种方式.
对于存储级来说,需要有一定的配置经验,异地的存储阵列必须是同一厂家,它的效率比较高,当然它的成本也较高,目前EMC,IBM,hitch 均有相关产品,从使用稳定性来讲,最好的当数EMC SRDF +  BCV ,{有兴趣,可以发邮件细谈email_shy@263.net},为了保证数据库数据的一致性,建议容灾采用同步方式
对于主机LVM的容灾方式,它的比较灵活,异地之间的存储可以是不同厂家的,比如,Virtas  LVM
第三种就是应用级,1,DSG Snapshop, 2, Quest  SharePlex 当然这两种东西都是针对ORACLE开发的,
还有Data Guard [/B]



DSG has:

DSG RealSync
DSG SmartE
DSG SnapAssure
DSG SnapGuard
DSG SnapShare


never has 'DSG Snapshop'.

使用道具 举报

回复
论坛徽章:
0
30#
发表于 2004-12-7 11:01 | 只看该作者
我现在用shareplex的在数据同步中,1天处理archive log 在 200G,
DSG没有用过,但是听某个客户说当程序进程有问题时候,会占到CPU 99%, 怕怕
(PS: 只是听说,我没有测试过)

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表