oracle的迁移从远程机上到本地机上

 

对于同种数据库oracle:

  ,1,数据量小(表):可以用dblink的形式。

   如果在Oracle数据库之间复制数据,应该使用create table as 和insert的SQL命令。

create table OM_SERV_INCOME_&sum_month nologging as
select \*+parallel(a,5)*\ * from odsc_gz.OM_SERV_INCOME_&sum_month@odscold;

==>发火未找到远程数据库的连接说明发火发火抓狂发火发火

要建立一个database link才行

CREATE PUBLIC DATABASE LINK AA  CONNECT TO zqticket IDENTIFIED BY  'zqticket!!' using 'ZQSJLM'


 

2,数据量大:在cmd命令中,采用exp,与imp

exp zqticket/zqticket!!@zq_ticket215 file=f:/zq_ticket215.dmp full=y
imp
scott/tiger@orcl file=f:/zq_ticket215.dmp full=y ignore=y微笑

exp system/manager@A file=fullbak.dmp log=fullbak.log full=y
imp system/manager@B file=fullbak.dmp ignore=y
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。在后面加上 ignore=y 就可以了。
imp system/manager file=bible_db log=dible_db full=y ignore=y 
system/manager是用户名和密码 
file=bible_db 是要导入的文件 
log=dible_db是生成日志的名称
full=y是导入整个文件
ignore=y是忽略创建错误
 
你B要和A有相同的表空间比如说你A里有个TEST表空间,那么你B里也要有

 3,千万级以上的数据量(表):归档模式,加个nologging

1,2千万条的话不能直接使用create table as select...

先建一样结构的表。然后用append参数

非归档模式下:微笑

insert /*+append*/ into a select * from b;

归档模式下:

insert /*+append*/ into a nologgingselect * from b;

 

4,不同数据库之间用copy:

SQL*Plus中的copy命令,可以完成远程数据库、本地数据库或Oracle数据库与非Oracle数据库之间的数据复制。其性能与导入/导出相同。

http://sd8089730.iteye.com/blog/1147895微笑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值