定时从一个数据库表中的数据存储到另外一个数据库中的表,而且怎么处理重复的数据?
2014-12-17 23:30
399 查看
原文:http://www.iteye.com/problems/77856
定时从一个数据库表中的数据存储到另外一个数据库中的表,而且怎么处理重复的数据?
表结构肯定是不能破坏,但是临时表如果是自己的数据库还行,问题是这个Oracle数据库是客户的数据库呢,你不能在他的数据库做任何多余的操作吧?还有别的更好的方法吗?这个真的是比较困难。
首先,你要从客户机oracle取数据,因为这1分钟间隔之内不知道用户机新增加了哪些数据(大部分情况下是用户使用别的系统插入数据,而你又没有这个系统的程序接口),所以你只能全部取出来,依靠自己的程序去同步数据。
我见过的做法是:
假设用户机是A(Oracle),你的java应用部署在B机器上,sybase数据库在C机器上。
(1)B机器上安装一个内存数据库(有一个开源的H2内存数据库)
(2)获取A(Oracle)的全部数据,如果B机器的内存不大,那么分批获取也可以,与B机器上的内存数据库中的临时储存表Temp做hash join,得到增量数据。
(3)把增量数据同步到B机器的内存数据库和C机器的sybase上。
这里,说明一下,需要同步的表是每隔一段时间会重新建立的,比如天表、月表等,所以一个表不会超级大,达到内存无法消化的地步,所以这个内存数据库的临时表也是有一定的容量的。
可能还有更好的方式,不过,中间表或中间文件记录应该还是要的。
相关文章推荐
- java实现从一个数据库查询数据经过处理导入另外一个数据库中
- 把一个用sql server 2005内置加密方法加密数据的DB从一台电脑备份后,还原到另外一台电脑上,出现的问题的处理办法
- SQL SERVER 数据库 怎么从一个服务器一个表中把数据插入到另一个服务器中的一个表内(纯复制)
- 华为交换机AR怎么做镜像,从一个端口到另外一个端口,数据抓包
- 应用db link 把ORACLE 数据库中的表复制到另外一个数据库,也可以把表中的数据从一个库复制到另外一个库的表
- MYSQL从一个数据库的表中读出数据 循环向另外一个库的表中写入数据
- 使用db link 把ORACLE 数据库中的表复制到另外一个数据库,也可以把表中的数据从一个库复制到另外一个库的表
- 在数据库查询语句中 要返回 一个集合的数据 的处理方式。
- 在数据库频繁访问与本地处理数据之间找到一个平衡
- 数据库表中插入重复数据的处理
- 我也在考虑一个问题,当数据量达到PB级别时怎么处理?
- 将一个数据库中表的数据·导入到另外数据库
- 从一个表向另外一个表拷贝数据
- 一个项目的数据库数据丢失,upload文件上传的图片都有,怎么能把数据库信息找到
- 一个将数据导出到EXCEL的存储过程-数据库专栏,SQL Server
- 一条sql语句(关于将一个表里的数据汇总,更新数据库中的另外一张表的列值
- 使用Java来处理C++存储在数据库中的Blob数据。
- 怎么实现一个站点的list列引用另外一个站点的list列数据?
- 刚才我提出要把数据库处理部分放到代码里,但是有人提出,存储过程有缓存,速度快。我该怎么说啊?
- 更新数据库所有表的某一个指定字段 ,附加对‘将 varchar 值转换为数据类型为 int 的列时发生语法错误’处理方法