原帖由 yang_xdx 于 2009-9-26 23:54 发表
谢谢各位回复。
是系统割接,所以操作系统,数据库的表结构都是异构,数据量上t是肯定的,割接完了的数据库恐怕已经超过10T了。当时是把13个独立的库一个一个割接到一个数据库中的,对每一个独立的库,只给你一晚上,最大的独立库应该在2t左右(应该不超过3t)。我只知道当时创建了很多脚本用来把原来的数据插入到新的大库中,但是不清楚是直接用dblink联老库还是先把老库原封不动load进来在运行脚本。有经验的给说说,这两种哪个更快,如过原封不动的load数据,用什么方法快(是从8i-9i,操作系统异构,所以data pump,stream replicate,xtts这些那时候都还没有)
这种系统迁移或者用行话说割接,用什么exp,streams,mv,tts,第三方rep软件通通不凑效,大部分这样的需求,原系统和目标系统不仅仅是结构的不同,在业务逻辑上也有很大的不用,所以很多情况下,数据需要转换.所以有些ISV专门有team做这些data migration solutions,当然了这个team的人员,不仅仅有系统专家,也有很多业务专家和一些必要的开发人员.
以前见过几次类似的工作,1T左右的数据,几个小时就过去了。
其中整体迁移框架、逻辑控制、协调调度是整个迁移解决方案的核心,这部分做不好,时间和效率就控制不了,最终也很难在用户给定的time window内完成这个任务。
当然了,编写大量的shell+pl/sql是个痛苦的活,但也是蛮有挑战的,需要做到精准、高效、简洁、易读(毕竟这不是一个人在战斗)
这样的解决方案,需要较长的准备/协调/沟通时间,更需要多次的测试和演练,并不断的分析、改进和优化,最后才可能达到用户期望的目标(比如6小时1T)。
|