社区
Oracle 高级技术
帖子详情
90分给1人,其他大家分求,ORACLE同步到MYSQL方案。
masterjames
2012-03-29 11:31:54
如题:求ORACLE同步到MYSQL方案。毫秒级的。
...全文
158
10
打赏
收藏
90分给1人,其他大家分求,ORACLE同步到MYSQL方案。
如题:求ORACLE同步到MYSQL方案。毫秒级的。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
我心飞翔
2012-03-30
打赏
举报
回复
使用Oracle网关,实现数据复制。
masterjames
2012-03-30
打赏
举报
回复
如果有现成的产品最好,就直接购买好了。
masterjames
2012-03-30
打赏
举报
回复
大家的想法,我也想过,在应用层解决,但数据校验存在较大难度。一旦某台机器故障就很麻烦。
iqlife
2012-03-30
打赏
举报
回复
godengate
laokaizzz
2012-03-29
打赏
举报
回复
毫秒级。。。一堆数据,你能毫秒级,1万毫秒能算毫秒么
kenshu
2012-03-29
打赏
举报
回复
如果你要简单,并且网络总是可以保证两边同时连得到的话,当然同进同退,这边INSERT一条,那边就INSERT一条.
----------------------------------------
但,如果你的网络并非总是通的,比如互联网上多个点的不同数据库(而且你还是不同的DBMS),就要想办法。当然外面有现成的解决方案,都很贵。
多个数据库双向同步的话,也就是多个数据库各自可以INSERT/UPDATE/DELETE 最后再同步(方便起见,DELETE一般处理成UPDATE,做个DELETE的标记),一般我是手工写同步程序(当然有自动生成代码的工具,自己写一个)
要同步的表,全部在原有的基础上建两个字段,数据库标识,最后更新时间.
前台程序,每个数据库只能更新它自己的,更新或INSERT时,修改"最后更新时间".
部份重要字段,可能要单独建一个关于这个字段的最后更新时间.下面再说明,比如用户密码,以最后更改这个字段实际更改的为准.
----------------------------------------
数据库A INSERT/UPDATE当时可能无法连到B/C/D......,以后再做。
当A的一张表要向B同步时,找到B中关于A的最后记录的时间,超过这个时间的,全部INSERT或UPDATE过去.
----------------------------------------
大致会有两种数据,一种是基本资料,一种是流水帐.
我们做个简单的例子,一个连锁店的多个分店,它们的数据库不一定可以永运互相连到.
基本资料比如,
客户资料,数据库ID+会员卡号形成主键.前台程序查找会员资料时,同一个会员号可能会有多条记录(多个数据库不同时INSERT形成的),以最后更新的为准.
部份字段非常重要,比如黑名单和白名单,以单独建的关于这个字段的最后更新时间那一个为准.又比如会员自己设的密码,要以最后一个更新为准.
流水帐的那些数据,比如消费记录,基本上不需要UPDATE,那边有的,这边没有就INSERT进去.
还有一些可能要算合计数,比如在各个店的充值总数和刷卡总数,或算最大值(或最小值),比如某个店延长他的会员级别一年.
这些东西,如果业务程序写之前就规划好,基本上很好写.
如果没规划好,也不会很麻烦,全部东西做成视图,原来的表名换一个,再用原来的表名建一个视图
当然啦,这只能是大致的思路,而且你要近乎同步的,要完全的解决方案,一般都是几百万几百万地卖.
看你数据量和实际要求和预算.但你是单向的,其中一个数据库基本上只是备份或查询专用的,会容易很多。
youqi1984
2012-03-29
打赏
举报
回复
只有通过数据链两段式提交,才能保证事务一致性。
异构数据库数据链配置比较繁琐。
http://topic.csdn.net/u/20100728/15/219af6d6-8784-47b0-b169-5e5d139778c2.html?88610
大明湖畔_帅锅
2012-03-29
打赏
举报
回复
看来难度不小了 好多大牛也只能看看 顶下吧
javabugsmaker
2012-03-29
打赏
举报
回复
还真不会,是我就只能用开发语言来实现了,先插oracle再插mysql..
masterjames
2012-03-29
打赏
举报
回复
你理解错了,是ORACLE保存1跳,MYSQL同样一条,只有增量
mysql
统计大于
90
分的人数
本文介绍如何使用SQL语句按年龄区间及性别分组统计人员数量,并提供了针对不同数据库(如SQL Server、
Oracle
和
MySQL
)的具体实现方法。
陆金所
MySQL
_独家揭秘陆金所去
Oracle
全过程:18个月将
90
%数据库业务换到
MySQL
陆金所历经18个月,成功将全站
90
%的数据库业务从
Oracle
迁移到
MySQL
,计划6月底前彻底下线
Oracle
。这一过程中,陆金所研发了数据
同步
工具,实现
Oracle
到
MySQL
的无缝切换,并通过自动化平台管控整个去
Oracle
进程。去
Oracle
的原因包括
Oracle
扩展性差、高昂的软件授权费以及业务需求的增长。在替换
方案
中,陆金所选择了
MySQL
为主替代,并结合Elasticsearch、Redis等多存储引擎,重构数据库架构。
OGG实现
Oracle
19C到postgreSQL14的实时
同步
本文详细介绍了如何使用OGG实现
Oracle
19C数据库到PostgreSQL 14的实时
同步
。从架构设计、OGG下载到
Oracle
与PostgreSQL两端的安装配置,包括开启
Oracle
数据库的归档和附加日志,以及创建和配置MGR、EXTRACT、PUMP和REPLICAT进程,最后进行
同步
测试。
陆金所去
Oracle
化,平安科技500 IT人亟待转型
陆金所因
Oracle
架构扩展性不足,计划于2020年6月前完成
90
%
Oracle
业务迁移,涉及
MySQL
、ElasticSearch、Redis、TiDB等替代
方案
。此举或引发平安集团及类似规模企业连锁反应。
分桶函数的使用
本文介绍了SQL中实现数据分桶的几种方法,包括手动分桶、使用特定函数将数据分配到固定范围的桶中,以及利用排名函数进行分桶操作。通过示例展示了如何在
MySQL
和
Oracle
数据库中应用这些函数,以及如何根据学生成绩等数据进行分桶。
Oracle 高级技术
3,499
社区成员
18,709
社区内容
发帖
与我相关
我的任务
Oracle 高级技术
Oracle 高级技术相关讨论专区
复制链接
扫一扫
分享
社区描述
Oracle 高级技术相关讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章