楼主: lojian

请教一个关于shareplex的问题

[复制链接]
招聘 : 售前/售后支持
论坛徽章:
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
11#
发表于 2005-3-31 21:49 | 只看该作者
最初由 samchj 发布
[B]

另外请教几个问题:
1.shareplex在完成基线建立后,开始增量复制时,这个点如何找,是否采取叠加一部分日志的方法,如果碰到没有唯一键的表,多余的部分是不是会导致目的端数据不一致。

2.如果某一天我的系统可能误删除了一些归档日志,而且shareplex没有及时的抓取到联机日志,或者因为备份系统把归档日志给备走了,这种情况下,你采取的是全库或者用户的复制,shareplex如何处理这种情况,是重新开始呢还是有别的好办法?

3.请问一下,shareplex对日志的分析速度能有多快,如果我的系统一分钟能产生500M的日志,能否赶得上?

4.shareplex对ops/rac方式下的日志获取能否稍微详细的讲一下你的处理方式.

谢谢! [/B]

呵呵,我再补充一下。
1、你说的Shareplex的基线我们称为初始化同步,即使源系统和目标系统的数据相同,至少是需要复制的内容处于一致状态。初始化同步可以使用多种方式,冷备份、热备份的恢复,或者IMP/EXP等方式,这个过程不是由shareplex完成的。如果是7*24小时系统没有足够的停机时间,我们一般采用热备份的方式,进行初始化同步。自这个过程中是需要首先开始数据复制的,也就是说确实可能有一部分数据在初始化同步的过程中被同步到目标端,又通过shareplex复制到了目标端。这种情况下,shareplex有一个专门的命令,可以把重复的操作和数据过滤掉,实现数据的完全一致。

复制的表是否有主键是没有严格要求的,对于没有主键的表shareplex在目标端生成的where条件会复杂一些,请参照dx6340的解释。
2、日志如果被误删除或者被备份软件备走,shareplex会暂时停止复制,此时只要能把相关的日至恢复到指定的目录,shareplex就可以正常开始复制,如果日志不可恢复,shareplex就需要重新初始化同步。

3、我们目前的用户也很多在高峰期都是每分钟切换一次到两次日志的,日志文件也是500m,这种情况下,shareplex可能会有一些延迟,因为通常在这种情况下源系统的资源也基本会被oracle占用,shareplex会放慢速度,给oracle让出资源,以避免影响原系统的性能,等到高峰期过了以后则会追赶为处理的日志,处理的速度基本与dx6340说的情况相同,但不同的系统和环境可能会有差异。如果你一天24小时都是这种业务量,我不敢保证,因为我们目前数据量最大的用户是省级的移动运营商,他们也尽在高峰期才有这么大的数据量,而不会一天都保持不变。
4、shareplex完全支持rac/ops,以及各种双机环境下的数据复制,shareplex在rac环境下仅需要安装在一个节点上,但是需要能够访问其他节点的联机日志和归档日志,也就是说要求rac的联机日志和归档日志需要放在共享的存储设备上。
不知道我的解释够不够详细,欢迎继续咨询!

PS:dx6340你不来我们公司真有点可惜,等我们最近的名额批下来,我一定要把你拉进来,呵呵

使用道具 举报

回复
招聘 : 售前/售后支持
论坛徽章:
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
12#
发表于 2005-3-31 21:52 | 只看该作者
最初由 lojian 发布
[B]哦, 队列放在内存中? 需要占用多少内存? 是否可以设置,还是自动调整! [/B]

shareplex占用内存来存储队列完全是为了让各个进程之间可以直接通过内存来交换数据,以提高性能,但决不会把大量数据放在内存中,当数据由积累的时候会把队列写在磁盘上的。

关于内存方面shareplex有很多相关的参数设置,可以根据用户的实际环境来设定。

估计你主要关心的是对源系统性能的影响吧?这方面我们很有自信,我们在kamus以前的公司做过测试,对源系统的应用基本没有影响,你可以咨询一下他,呵呵。

使用道具 举报

回复
招聘 : 其它语言研发
论坛徽章:
0
13#
发表于 2005-4-1 15:34 | 只看该作者
最初由 lc7888 发布
[B]
samchj,您好!
我知道您是DSG公司的高人,但看到你提出了问题我还是尽量详细的给您解答,但现在看来您提问目的无非有两个,一是了解竞争对手产品的原理,二就是想攻击我们的产品,您觉得这样就比较适合在深入讨论区讨论吗?我是本着交流的目的回答的,但看到您的这种态度,我很失望。
我们的很多客户是测试过你们的产品后才找到我们的,我也大概了解了一些你们的产品,但我不会在这个论坛上对此作什么评价,因为我觉得这样的口水战没什么意义。还是让用户根据实际的测试结论来决定吧。

我们产品的处理能力不是你一句话就可以决定的,我们实际的用户每天最高日志量达到上百G,rac环境,是什么系统你应该可以猜到。

你们的产品是仅复制已提交的事务,和我们不一样,但这只是各个产品实现方式上的不同,如果说你认为和你们的实现方式不一样就会造成“数据必错无疑”的话,我没什么好说的了,难道shareplex这么多年来在全球的那些客户都是傻子吗?

DSG公司的很多产品都非常优秀,这也是我很敬佩的,尤其是你们的自主研发。但看到贵公司现在这种竞争的方式,我真的很失望!

不好意思,说得有点多了。 [/B]


误会了,lc7888。

首先呢,我申明我不是DSG的人,而且我也不是什么高人。

也许我的话比较直接,我不想贬低别人,也不想用这个来做什么竞争,你可以看看我的帖子,没有一个涉及到以前公司的产品。我想要了解shareplex,是因为我对这个感兴趣,您不需要感到什么压力。
数据库容灾或者叫做复制这个产品呢,我还有很多没有了解清楚,所以存在很多的疑虑,我不满足在系统维护上的了解或者市场行为上的了解,我希望能知道很多,这也是我在这里顶你的帖子的原因,大家都是干活的苦命人,我没有理由给资产阶级打广告。

前面如果有些话你觉得不太好听,请原谅,我希望这个帖子能继续讨论。

使用道具 举报

回复
论坛徽章:
2
BLOG每日发帖之星
日期:2008-09-24 01:04:18BLOG每日发帖之星
日期:2009-11-20 01:01:08
14#
发表于 2005-4-2 10:31 | 只看该作者
补充一下:
1, shareplex需要处理的队列文件的大小只相当于redo log & archived log的1/3的原因是
   它不像磁盘阵列间的容灾,镜像一样,它不是基于block一级的,而是解析redo entries,形成sql语句
2,源表没有主键时,shareplex在形成sql语句时,该表所有的columns+rowid  作为pk,所以仍然可以保证一致性

从Quest sales那里听到的.

使用道具 举报

回复
论坛徽章:
2
2012新春纪念徽章
日期:2012-01-04 11:50:442013年新春福章
日期:2013-02-25 14:51:24
15#
 楼主| 发表于 2005-4-2 11:19 | 只看该作者
最初由 tengrid 发布
[B]补充一下:
1, shareplex需要处理的队列文件的大小只相当于redo log & archived log的1/3的原因是
   它不像磁盘阵列间的容灾,镜像一样,它不是基于block一级的,而是解析redo entries,形成sql语句
2,源表没有主键时,shareplex在形成sql语句时,该表所有的columns+rowid  作为pk,所以仍然可以保证一致性

从Quest sales那里听到的. [/B]


对于第2点不好理解: 难道源端数据库和目标数据库表格中的对应行的ROWID都是一样的吗? ROWID应该是物理地址, 既然是SQL语句进行的逻辑复制,怎么可能保证2端的物理地址也是是一样的? 难道要在目标数据库中给每一个表格添加一个ROWID列吗?

使用道具 举报

回复
论坛徽章:
0
16#
发表于 2005-4-2 12:06 | 只看该作者
最初由 lc7888 发布
[B]
呵呵,我再补充一下。
1、你说的Shareplex的基线我们称为初始化同步,即使源系统和目标系统的数据相同,至少是需要复制的内容处于一致状态。初始化同步可以使用多种方式,冷备份、热备份的恢复,或者IMP/EXP等方式,这个过程不是由shareplex完成的。如果是7*24小时系统没有足够的停机时间,我们一般采用热备份的方式,进行初始化同步。自这个过程中是需要首先开始数据复制的,也就是说确实可能有一部分数据在初始化同步的过程中被同步到目标端,又通过shareplex复制到了目标端。这种情况下,shareplex有一个专门的命令,可以把重复的操作和数据过滤掉,实现数据的完全一致。
[/B]

啊,shareplex还有这么好的功能,支持7*24小时系统,唉,他们的工程师在我们这试用时怎么不能做到,害我们因不能停止生产系统应用,数据复制中断了好几天。从而放弃了shareplex,可惜。
估计他们没有派厉害的工程师来

使用道具 举报

回复
论坛徽章:
0
17#
发表于 2005-4-2 18:38 | 只看该作者
herycom 你看懂lc7888 如何解释的么???   RZ !
不停应用的需要作hot backup 来初始化同步,据lc7888 说你那里的目标机器根本没有那么多的free disk space 来build database , 所以无法用这个方式。

搞了半天看来你对sharpelex 这么不熟悉啊,晕

使用道具 举报

回复
论坛徽章:
0
18#
发表于 2005-4-2 18:41 | 只看该作者
shareplex 应该没有用到ROWID。
当初测试的时候把这些sql 语句全部打出来看了的。
用 rowid 为条件这个来作为数据更新查找的条件是绝对不行的。
况且几个T的数据,每一条记录都搞个rowid表来记录,问题多多!

使用道具 举报

回复
招聘 : 其它语言研发
论坛徽章:
0
19#
发表于 2005-4-4 09:47 | 只看该作者
如果没有rowmap的话,你用rowid做条件有何用,别听sales瞎说。

如果把所有条件当成更新的条件的话,更新速度会十分缓慢是不可避免,而且我觉得也不能是因为这个方法吧。如果是这样方式的话,那我觉得shareplex太笨重了,对于没有主键的表你会无法忍受。

楼上的那位老兄,你可以把你的环境搞出来大家讨论一下,看是你的环境不行还是shareplex不太适用于您现在的环境嘛!

这样免得大家都不服气,呵呵!

使用道具 举报

回复
招聘 : 其它语言研发
论坛徽章:
0
20#
发表于 2005-4-4 09:53 | 只看该作者
最初由 dx6340 发布
[B]herycom 你看懂lc7888 如何解释的么???   RZ !
不停应用的需要作hot backup 来初始化同步,据lc7888 说你那里的目标机器根本没有那么多的free disk space 来build database , 所以无法用这个方式。

搞了半天看来你对sharpelex 这么不熟悉啊,晕 [/B]


我看懂了,因为不能停止系统运行,同时在做首次同步的时候没有太多的时间来运行export导出,因为10g之前的export比较慢,所以首次同步的局限在于必须和原端的数据库一样大,这样herycom的系统根本首次同步都做不了。

换句话说,shareplex比较难完成多到一的数据库复制啊?如果对于不能停机的数据库来说,shareplex可能不太适用吧。

指教!

使用道具 举报

回复

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

本版积分规则 发表回复

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