oracle 中如何将一张500万数据的表从一个库快速转移到另外一个库

大家好,如题,因为优化需求的原因,目前需要处理的历史数据有500万左右,现在我需要在一张新表中生成500万的数据,但是由于关联比较复杂,在投产的时候要执行完这段程序测试了... 大家好,如题,因为优化需求的原因,目前需要处理的历史数据有500万左右,现在我需要在一张新表中生成500万的数据,但是由于关联比较复杂,在投产的时候要执行完这段程序测试了下需要近10个小时,而这个时间客户接受不了,我自己也接受不了。所以我想在其它环境先生成这500万数据,在投产的时候直接将这500导进去。

可是目前发现导进去的速度一样慢,我这样做的,在测试环境将生产投产时应该生成的数据插进这个新表中,数据约500万,执行完后将测试环境的这个表及其数据全导出来,然后投产的时候直接导进去。我测试的时候导出的是sql脚本,然后我在其它环境测试导入的时候发现还是一样慢,怎么回事呢?直接导入的话应该很快的呀?

我应该怎么做呢?大家有没有更好的办法?投产时间太长啦,谁也不可能守着,而且生产环境不能停这么久
展开
 我来答
爱在库尔勒
2012-09-20 · TA获得超过149个赞
知道答主
回答量:352
采纳率:0%
帮助的人:64.2万
展开全部
你说的测试库和正式库之间可以创建dblink么?
另外,你可以在测试库生成的500万数据的那个表上建索引,
这两点可以实现的话,
直接用insert ....select 来做就可以了,,
导入前,把目标表的索引主键全删掉(记得备份,我看你说的意思目标表应该是个空表,所以这样做没有神马坏处),数据导入后再建。
500万的数据,应该上不了半个小时就全部插进去了,
我经常在测试库和正式库之间转换数据,数据量也是百万千万级的,一直用的就是这个方法。
陈举超23
2015-07-17 · TA获得超过1097个赞
知道小有建树答主
回答量:742
采纳率:100%
帮助的人:706万
展开全部
一 如果是9i以上操作系统可以通过数据泵,expdp/impdp导出在导入
二 如果是9i之前的数据库,但服务器性能比较好,可以通过exp/imp导出导入
三 可以通过rman进行数据迁移
四 可以通过ogg进行表同步
五 可以通过dg进行表同步
六 可以通过物化视图进行表同步
七 可以通过快照进行表同步
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
amwgrdmdf
2012-09-19
知道答主
回答量:69
采纳率:0%
帮助的人:22.3万
展开全部
把整个DBF文件直接覆盖系统的DBF文件。
追问
朋友,能具体点不,如何替换呢,我们没有dba权限的,比如说如何找到当前库的dbf,然后又如何替换其它库的dbf,谢谢你啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忆似血中剑
2012-09-20 · TA获得超过275个赞
知道小有建树答主
回答量:556
采纳率:0%
帮助的人:254万
展开全部
直接用命令导出来吧,再把它导进去就OK了,参考二楼的哥们的回答。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式