oracle 如何复制大数据量的数据?? 50

目前有一个表数据量为3000万行,需要转移到另外一个表中,不同用户,同一个数据库实例,数据中有blob类型,如何快速复制数据,insertinto....select..... 目前有一个表数据量为3000万行,需要转移到另外一个表中,不同用户,同一个数据库实例,数据中有blob类型,如何快速复制数据,insert into .... select ...并行执行快??还是用游标循环插入快??? 目的是为了转移历史数据,新的表结构无法改变。 展开
 我来答
匿名用户
推荐于2018-04-04
展开全部
Oracle 9/10
可以使用 exp 导出 Imp 导入

===== 导出、导入 单个表的情况。

导出 TEST_MAIN,TEST_SUB 这2个表
EXP test/test@源数据库 file=test.dmp tables=(TEST_MAIN,TEST_SUB)

导入 TEST_MAIN,TEST_SUB 这2个表
IMP test2/test2@目标数据库 file=test.dmp tables=(TEST_MAIN,TEST_SUB)

==============================

Oracle 10g 开始, 新增数据泵工具 导出导入 的工具.

前面需要一些 环境配置

数据泵工具导出的步骤:
1、创建DIRECTORY
create directory dir_dp as 'C:/OracleData'

2、授权
Grant read,write on directory dir_dp to obpos;

EXPDP 按表导出:

EXPDP obpos/obpos tables="OBPOS"."ROOM","OBPOS"."ROOMBOOKD" dumpfile=expdp_Room.dmp logfile=expdp_Room.log directory=dir_dp job_name=my_job

授权
Grant read,write on directory dir_dp to test;

IMPDP 按表导入:
impdp obpos/obpos dumpfile=obpos.dmp logfile=obpos.log directory=dir_dp tables=MR_USER job_name=my_job
百度网友07553bf0
2013-08-24 · TA获得超过1986个赞
知道大有可为答主
回答量:2464
采纳率:75%
帮助的人:1867万
展开全部
create table 目标表 as select * from 源表 where 0=1;

alter table 目标表 nologging;

insert /*+ append parallel */ into 目标表 select /*+ parallel */ * from 源表;
commit;

alter table 目标表 logging;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a4921354
2013-08-25
知道答主
回答量:41
采纳率:0%
帮助的人:10.5万
展开全部
来学习的哈哈哈
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式