求大神支招,oracle数据同步问题

脆爽 2015-03-05 10:26:07
源数据库提供了一堆视图,每个视图大概200多列,本地数据库需要使用
开始我使用dblink获取源数据库视图,有时候出现“ OALL8 处于不一致状态”,然后数据库连接就断了
网上说出现这个问题的时候,是因为源数据在修改,可能会出现这个问题,请问是这样么?

后来,用merge语句从dblink的视图到本地表,开始没有什么问题,但是数据量上来了,大概100w数据,效率很低,要1个小时才能同步完,请问这个方案如何优化?或者有更好的方法么?

最近发现快照日志这个东西,源数据库那边很不情愿给弄物理视图,怎么办?T_T
...全文
275 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wqkjj 2015-03-13
  • 打赏
  • 举报
回复
不妨去看看我发布的资源 http://download.csdn.net/detail/wqkjj/8495521 支持Oracle实时同步/复制
小灰狼W 2015-03-09
  • 打赏
  • 举报
回复
在表上添加日志 不过能否快速刷新得看视图的定义
脆爽 2015-03-06
  • 打赏
  • 举报
回复
引用 4 楼 wildwave 的回复:
试试物化视图,根据rowid快速刷新,不用全表merge
快速刷新不是需要在源数据表上增加日志么?dblink连到的是视图,如何加日志?只能用完全刷新吧? 谢谢您的回答
binsweet 2015-03-05
  • 打赏
  • 举报
回复
是要即时同步,还是定期同步
小灰狼W 2015-03-05
  • 打赏
  • 举报
回复
试试物化视图,根据rowid快速刷新,不用全表merge
  • 打赏
  • 举报
回复
如果即时同步的话,可以写一个过程,分批读取远程的数据,然后再merge到本地的表。再启作业调用过程,作业的间隔时间可以根据首次同步的执行时间来定,不如同步需要1分钟,时间间隔可定在3~5分钟,这样数据延迟很少。 不过最好建议不要即时同步,这样服务器端的压力会大很多,可以1~N个小时同步一次,或每天一次,如果对数据的及时性要求不是很高的话。
脆爽 2015-03-05
  • 打赏
  • 举报
回复
#1 最好即时

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧