楼主: jlandzpa

[精华] 请大家探讨一个数据传送的方案(置顶几天)

[复制链接]
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
11#
发表于 2001-11-12 07:55 | 只看该作者
on unix
expoert a share disk on A
mount the shared disk on
export data to the shared disk

使用道具 举报

回复
论坛徽章:
0
12#
发表于 2001-11-12 09:38 | 只看该作者

我认为FTP可行

现在我也在这样做。
你会发现FTP比db_link快两个数量级。我以前也用过db_lnk方式,
发现只有1M的数据也可能要传送1个小时。

后来就改成ftp方式了。

不过我们的数据对成功的要求不太高,我们每天晚上定时做一次,
如果失败了,通过Email可以通知我们,第二天重做就行了。


如果你的 shell script写的好,我想完全可以实现你提出的要求。

使用道具 举报

回复
论坛徽章:
0
13#
发表于 2001-11-12 21:47 | 只看该作者
可以试试远程传输redo log,这样可以做到在不使用两阶段提交的情况下两个地方的事务的一致,只是有一个时间上的延迟,而且可以均衡传输的压力。

使用道具 举报

回复
论坛徽章:
63
版主7段
日期:2012-05-15 15:24:11itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-10 14:34:59马上加薪
日期:2015-01-08 15:39:192015年新春福章
日期:2015-03-04 14:19:112015年新春福章
日期:2015-03-06 11:57:31
14#
 楼主| 发表于 2001-11-12 22:08 | 只看该作者

Re: 我认为FTP可行

能否讲得详细些?我们的数据不能出任何一点错。
谢谢。


最初由 oracle815 发布
[B]现在我也在这样做。
你会发现FTP比db_link快两个数量级。我以前也用过db_lnk方式,
发现只有1M的数据也可能要传送1个小时。

后来就改成ftp方式了。

不过我们的数据对成功的要求不太高,我们每天晚上定时做一次,
如果失败了,通过Email可以通知我们,第二天重做就行了。


如果你的 shell script写的好,我想完全可以实现你提出的要求。 [/B]

使用道具 举报

回复
论坛徽章:
0
15#
发表于 2001-11-12 23:16 | 只看该作者
使用ftp只能保证不漏传(不传错数据),不能保证不重传,如果想做成保证不漏传、不重传,那么在传输的两端都要有相应的日志记录,程序需要自动根据日志来维护数据的一致性和完整性,这样和做一个专用的事务管理软件差不多,需要解决一般的分布事务处理需要解决的问题(即使是这样也还是需要由人来维护)

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
16#
发表于 2001-11-13 10:54 | 只看该作者

您的库建设是处于什么状态呢?

每天大量数据的定时,定量(指相同应用等级)的数据传送
我在一个电力系统的研究院实习的时候,他们也也遇到相类似
的问题。

首先,数据传送的应用是为何,也就是说,是库与库的传送吗
初了此时的传送外,这两个库就没有别的大量联系了吗
如果不是的话,就考虑用分布式数据库的来进行先期的设计和网络架构,如果是的话,可以考虑用C & OCI 的开发模式,可以用FTP
作为传送协议,用C语言和特定的算法做一个校验程序,如果传送
失败的话,可以重新传送,以确保数据一致。

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
17#
发表于 2001-11-13 11:12 | 只看该作者

每个实际的需求会有不同的具体方案

采用ftp 方式,速度上很理想,但不能用在要求实时性的场合。保证数据不漏传,不传错,不重传都有方法,通常传输一个文件都会有一个相应的结束标志文件,可以在该文件记录该文件的简单扼要信息,比如文件大小,文件用途,文件日期等,看情形设定。比较接收到的文件的大小和结束标志文件中的大小就可以知道是否传错,至于不漏传,不重传,则需要知道详细的流程,并辅于log。只有check这些log, 才能知道是否正确。

使用道具 举报

回复
论坛徽章:
2
ITPUB社区12周年站庆徽章
日期:2013-10-08 14:53:15ITPUB社区12周年站庆徽章
日期:2013-10-08 14:55:07
18#
发表于 2001-11-13 14:39 | 只看该作者
我有一个类似的应用环境, 对数据完整性要求高,时时性不严.
我的实现方法是这样的供参考。
   要求: 将A地的事务TRANSACTION LOG自动更新到B地,通信
条件卫星VSAT。带宽 19k ~32 k 动态分配。  
   工作环境WINNT, ORACLE, FTP, PKZIP,SCHEDULER

工作方法:
    1。 DATABASE-A。A地的SCHEDULER定时检测是否有新的REDO LOG产生,如有, 调用PKZIP压缩之(带序号),      后调用FTP UPLOAD到B 地(使用FTP SCRIPT)。
(ZIP文件〈 5M, 带宽19K时约定30~40MIN )

 2。DATABASE-B。B地的SCHEDULER定时检测是否有新的ZIP文件收到,有则运行UNZIP, 成功说明数据完整, APPLY REDO LOG TO DATABASE B, 成功,将文件移到BACKUP目录, 如失败则拷贝文件到BACKUP目录并用EMAIL 通知系统管理员。

要点: SCHEDULER 要有EMAIL通知功能, 系统管理员的EMAIL 在线。


如果你有更好的方法请交流。

另能否给个FTP帐号。
ZNSK07。

使用道具 举报

回复
论坛徽章:
0
19#
发表于 2001-11-14 02:51 | 只看该作者
我以前使用过这样的方案,数据实时性和完整性的要求都相对比较高,数据量大概每小时30000条记录左右!(不过这个方案是针对某些规定的表,而不是针对整个数据库的)
在A地定时启动程序将生成记录文件写在两个目录(一个备份,一个作FTP传送),同时写一个生成文件列表,FTP将文件发送至B地,B地也定时启动应用对这些记录文件作处理,处理完后写进备份目录,同时也产生一个处理文件列表发送回A地,A地再定时地对比生成文件列表和返回的处理文件列表,对出现问题的文件进行重新生成重新发送!

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
20#
发表于 2001-11-14 08:31 | 只看该作者
为什么不用Oracle的Advance Replication试试看,你可以指定更新时间间隔,设置好以后,即使Database Dow掉,重启以后依然不会造成数据丢失。这样做的缺点是无法即时更新,但如果没有实时的要求,这并不是很重要。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表