关于oracle数据抽取的问题

zzc0527 2011-10-29 11:27:13
做一个数据分析利用的系统,数据来源于生产系统,生产系统中包含全省的数据,目前分析利用系统只作为本人所在地市使用,因此数据只采集生产系统中涉及本市的数据,采集方式采用存储过程通过DBLINK实现,涉及到的表大约100张,目前存在一些问题不知如何解决,请高手多多帮忙。
问题如下:
1、对于源数据库中新增及发生变更数据可通过表中的录入日期及修改日期字段比较容易确定采集范围,但如果源数据中发生了删除操作,那么如何确定目标数据中要删除的这些记录。因数据量较大,如果采用全表比对方式性能是否太差,有无更好解决办法。在源数据库中通过触发器的方式不想考虑,因为生产系统不会提供此类权限。
2、有没有好的方式来更好地控制数据采集过程,记录采集日志。采集日志表的结构怎样比较合理。
因本人数据库水平有限恳请有经验的朋友多多帮忙。
...全文
200 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzc0527 2011-10-31
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 anjiushian 的回复:]

1.看看能不能建一个记录已删除数据的表,将已删除的记录保存在这个表里面,数据量应该不会很大,在本地从以采集的信息中剔除这部分信息
【或每天查一下每天的记录数是否有变化,如果有变化就更新(或重采集),一个地市的增量数据应该不会太大更新应该不算慢】
2.抽取相关信息---》更新的情况
表结构:时间 人物 操作 源表 目标表 数据量 备份表

只能想到这些了
[/Quote]

多谢了,不过因为生产系统不允许执行其他操作,如触发器或新建表等操作,因此这个方法也不可行。
我本是朱 2011-10-30
  • 打赏
  • 举报
回复
1.看看能不能建一个记录已删除数据的表,将已删除的记录保存在这个表里面,数据量应该不会很大,在本地从以采集的信息中剔除这部分信息
【或每天查一下每天的记录数是否有变化,如果有变化就更新(或重采集),一个地市的增量数据应该不会太大更新应该不算慢】
2.抽取相关信息---》更新的情况
表结构:时间 人物 操作 源表 目标表 数据量 备份表

只能想到这些了
zzc0527 2011-10-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 java3344520 的回复:]

可以的话,用LOGMINER进行数据挖掘
[/Quote]
可以说的具体一些吗
NLP爱好者 2011-10-29
  • 打赏
  • 举报
回复
1、楼主是要问怎么实现数据库数据同步么,那可以用集群实现。

2、如果只是数据采集,源数据库数据如果删除,然后再采集到目标数据库,那么目标数据库采集的的数据不是也已经删除了的数据,何来“如何确定目标数据中要删除的这些记录”

我理解有问题,不要见笑
iqlife 2011-10-29
  • 打赏
  • 举报
回复
可以的话,用LOGMINER进行数据挖掘
zzc0527 2011-10-29
  • 打赏
  • 举报
回复
不好意思,是我描述的有问题,因为是每天定期抽取增量数据的方式,而且不能采用数据同步,所以存在这个问题

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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