社区
Oracle 高级技术
帖子详情
Oracle 亿级数据 远程同步 难点
bryant
2011-10-11 03:13:10
从oracle A数据库服务器
同步数据 25张表数据
到 远程 oracle B数据库服务器
其中有6-7张表数据库量 达到千万,总的数据量打到亿级
高手们,可有什么好的办法?
目前方法:
新建DBLink:DBL_B
insert into B_a@DBL_B
select * from A_a;
但是测试发现这样性能不高,a表数据量 2千万,同步要3个小时
...全文
382
30
打赏
收藏
Oracle 亿级数据 远程同步 难点
从oracle A数据库服务器 同步数据 25张表数据 到 远程 oracle B数据库服务器 其中有6-7张表数据库量 达到千万,总的数据量打到亿级 高手们,可有什么好的办法? 目前方法: 新建DBLink:DBL_B insert into B_a@DBL_B select * from A_a; 但是测试发现这样性能不高,a表数据量 2千万,同步要3个小时
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
30 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ruihuahan
2011-10-21
打赏
举报
回复
Oracle Stream 可以实现远程的 replication。
Northgale
2011-10-18
打赏
举报
回复
这个是要用专业的软件处理的比如datastage
或者提供你一些思路,数据是在数据块中的,可以通过数据块的变化来传输,只传输变化了的数据块,这点是不是有点像rman?
limeihanto163
2011-10-14
打赏
举报
回复
insert /*+parallel(a,4) */ into B_a a@DBL_B
select * from A_a;
开并行啊,这样会快点。用
impdp xxx/xxx@xxx directory=xxx schema=xxx network_link=DBL_B parallel=x
这个更慢的,我以前到过数据。
bryant
2011-10-13
打赏
举报
回复
[Quote=引用 26 楼 minitoy 的回复:]
goldengate
数据量太大了,如果是每天产生这么数据,估计怎么也不会太快,毕竟数据是要传送过去的.
[/Quote]
谢谢
刚跟领导汇报了
公司比较“抠”
不愿意买工具
minitoy
2011-10-13
打赏
举报
回复
goldengate
数据量太大了,如果是每天产生这么数据,估计怎么也不会太快,毕竟数据是要传送过去的.
bryant
2011-10-13
打赏
举报
回复
[Quote=引用 24 楼 zxf261 的回复:]
引用 6 楼 yangqm22 的回复:
使用insert /*+ append */ into B_a@DBL_B select * from A_a;
楼主,这个试了没有,我认为这个可行,只会产生少量undo。
insert into B_a@DBL_B
select * from A_a;
直接插入会占用大量的undo表空间。
[/Quote]
谢谢
我倒是直接:insert into B_a@DBL_B select * from A_a;
不过我对每个表 都 alter table B_a nologging; 了
不知道这样和
insert /*+ append */ into B_a@DBL_B select * from A_a;
效果可一样?
bryant
2011-10-12
打赏
举报
回复
[Quote=引用 16 楼 demonat 的回复:]
引用 12 楼 superstar_kobe 的回复:
引用 7 楼 demonat 的回复:
try
impdp xxx/xxx@xxx directory=xxx schema=xxx network_link=DBL_B parallel=x
谢谢
imp/exp方式,产生文件,估计不行,因为源数据源的系统里,不让产生文件
这么做是不会产生文件的,详细的东西自己g……
[/Quote]
谢谢
那我研究下,不过这语句能写在存储过程中么?
bryant
2011-10-12
打赏
举报
回复
[Quote=引用 15 楼 youqi1984 的回复:]
create table B_a as select * from A_a@DBL_B 试试这个。。这是DDL操作,不知道会不会快点
[/Quote]
谢谢
这个的确是要快些,不过后来补建 主键和索引,这么大数据量的表,也是很耗时的
还一个就是比较变态的限制:客户端不允许访问服务端
bryant
2011-10-12
打赏
举报
回复
[Quote=引用 13 楼 xifenfei 的回复:]
引用 12 楼 superstar_kobe 的回复:
引用 7 楼 demonat 的回复:
try
impdp xxx/xxx@xxx directory=xxx schema=xxx network_link=DBL_B parallel=x
谢谢
imp/exp方式,产生文件,估计不行,因为源数据源的系统里,不让产生文件
exp可以产生文件在客户端啊?导入的……
[/Quote]
谢谢
项目有限制:
1、客户端不允许访问服务端
2、服务端不允许产生文件
demonat
2011-10-12
打赏
举报
回复
[Quote=引用 12 楼 superstar_kobe 的回复:]
引用 7 楼 demonat 的回复:
try
impdp xxx/xxx@xxx directory=xxx schema=xxx network_link=DBL_B parallel=x
谢谢
imp/exp方式,产生文件,估计不行,因为源数据源的系统里,不让产生文件
[/Quote]
这么做是不会产生文件的,详细的东西自己google吧
xiaobn_cn
2011-10-12
打赏
举报
回复
[Quote=引用 11 楼 superstar_kobe 的回复:]
引用 4 楼 xiaobn_cn 的回复:
引用 2 楼 superstar_kobe 的回复:
谢谢 xiaobn_cn
不过 用exp/imp 可能不行
一、exp导出文件太大
二、源数据库 系统上,不能产生文件
ORACLE有专门的数据库同步软件,不过那东西是收费的,如果费用不是问题可以考虑购买。
谢谢
Oracle 收费的同步软件是 什么?
[/Quote]
详细名字不记得了,只是听过ORACLE公司的介绍,他们有两个软件,我记得其中一个好象叫做gold gate
IT职场成长课
2011-10-12
打赏
举报
回复
[Quote=引用 6 楼 yangqm22 的回复:]
使用insert /*+ append */ into B_a@DBL_B select * from A_a;
[/Quote]
楼主,这个试了没有,我认为这个可行,只会产生少量undo。
insert into B_a@DBL_B
select * from A_a;
直接插入会占用大量的undo表空间。
fmjwn
2011-10-12
打赏
举报
回复
[Quote=引用 18 楼 superstar_kobe 的回复:]
引用 13 楼 xifenfei 的回复:
引用 12 楼 superstar_kobe 的回复:
引用 7 楼 demonat 的回复:
try
impdp xxx/xxx@xxx directory=xxx schema=xxx network_link=DBL_B parallel=x
谢谢
imp/exp方式,产生文件,估计不行,因为源数据源的系统里,不让产生文件……
[/Quote]
服务端不能联?不会吧,找个能同时连客户端和服务器的机子,上亿数据,insert 有索引的话 一天也导不完,快得就得用exp,imp 先导数据再建索引,oracle好像有个高级复制,不过也是需要连到服务端的。
GG_wg
2011-10-12
打赏
举报
回复
去网上下载个KETTLE,绿色免费的,我现在处理数据使用的这个
zengjc
2011-10-12
打赏
举报
回复
因为有限制,可以考虑使用第三方工具来做,效率都还可以的。
比如使用ETL工具(datastage等)、goldengate都不错,缺点是要钱
youqi1984
2011-10-11
打赏
举报
回复
create table B_a as select * from A_a@DBL_B 试试这个。。这是DDL操作,不知道会不会快点
NLP爱好者
2011-10-11
打赏
举报
回复
楼主看看这个可能会帮到你
http://blog.csdn.net/leamonjxl/article/details/6695486
惜分飞
2011-10-11
打赏
举报
回复
[Quote=引用 12 楼 superstar_kobe 的回复:]
引用 7 楼 demonat 的回复:
try
impdp xxx/xxx@xxx directory=xxx schema=xxx network_link=DBL_B parallel=x
谢谢
imp/exp方式,产生文件,估计不行,因为源数据源的系统里,不让产生文件
[/Quote]
exp可以产生文件在客户端啊?导入的时候也可以在客户端导入啊?
和源端有什么关系??? expdp也可以通过network_link实现
bryant
2011-10-11
打赏
举报
回复
[Quote=引用 7 楼 demonat 的回复:]
try
impdp xxx/xxx@xxx directory=xxx schema=xxx network_link=DBL_B parallel=x
[/Quote]
谢谢
imp/exp方式,产生文件,估计不行,因为源数据源的系统里,不让产生文件
bryant
2011-10-11
打赏
举报
回复
[Quote=引用 4 楼 xiaobn_cn 的回复:]
引用 2 楼 superstar_kobe 的回复:
谢谢 xiaobn_cn
不过 用exp/imp 可能不行
一、exp导出文件太大
二、源数据库 系统上,不能产生文件
ORACLE有专门的数据库同步软件,不过那东西是收费的,如果费用不是问题可以考虑购买。
[/Quote]
谢谢
Oracle 收费的同步软件是 什么?
加载更多回复(10)
Oracle
高可用与容灾工具 Data Guard 搭建与运维
Oracle
Data Guard是
Oracle
数据
库主流的高可用与容灾工具,通过Data Guard的主备库模式,可以保护主库
数据
的
数据
安全、降低主库负载,是
Oracle
企业级生产库进行同城容灾、
远程
容灾、
数据
保护的有效方案。 本课程介绍...
使用OGG/Kettle实现
Oracle
到MySQL
数据
平滑迁移
(三)
数据
迁移 1.源端OGG配置 (1)
Oracle
数据
库配置 (2)
Oracle
数据
库OGG用户创建 (3)源端OGG 管理进程(MGR)配置 (4)源端OGG 表级补全日志(trandata)配置 (5)源端OGG 抽取进程(extract)配置 (6)源端OGG ...
Oracle
高级复制
数据
调研报告
Oracle
同步
复制
数据
调研报告 关成龙 时间:2010-2-9 使用场景描述: 已有一台
数据
库服务器在运行,为了不影响现有
数据
库的使用,需要新启一台
数据
库服务器,把原有
数据
库的
数据
以及...
sqlserver
数据
库转存到
oracle
需求:实现
远程
sqlserver
数据
库转存到
oracle
中,同同时实现每天的凌晨两点转一次,一次转三个月内的
数据
,
oracle
中存在时就更新,不存在时就插入,因为
数据
有点多,一天
数据
就有五百条左右,插入时性能得调整。...
数据
实时
同步
或抽取上收的技术分析
原文:http://blog.csdn.net/dsg_gulibin/article/details/16963651 实现
数据
集中的技术手段分析比较根据业界提供
数据
同步
或抽取的解决方案来看,主要包括以下几大类:l 存储复制技术l
数据
库复制技术l ETL抽取...
Oracle 高级技术
3,490
社区成员
18,714
社区内容
发帖
与我相关
我的任务
Oracle 高级技术
Oracle 高级技术相关讨论专区
复制链接
扫一扫
分享
社区描述
Oracle 高级技术相关讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章