需求描述:目前远程服务器有两个数据库AA和BB,两个数据库的数据库版本都为10.2.1.0.1,两个数据库中的用户不一样,但数据库中的表结构都是一样的,数据库AA表中的数据比数据库BB表中的数据多很多,现在需要把数据库AA中几十张表的数据迁移到数据库BB的表中。如果在数据库AA中存在的数据,但在数据库BB中没有的数据,则需要把这些数据导入到数据库BB中。
比如:数据库AA 的数据库名称为AA,所有的表都在A_UserName用户下,改用户的密码为A_Password;
数据库BB 的数据库名称为BB,所有的表都在B_UserName用户下,改用户的密码为B_Password;
假设本机是一台windows系统的PC机,装有Oracle数据库10.2.1.0.1的版本(服务器版或客户端版都可以),在该系统已经配置好数据库的监听器($ORACLE_HOMENETWORKADMINtnsnames.ora).
下面导出、导入两个表为例子(当然几十个表也是没有问题的)
1 导出数据库AA中两表的所有数据:
D:>expA_UserName/A_Password@AAtables=(DH_REP_WORK,DRILL_ADM_YEAR_TARGET) file=20081029 log=20081029.log Export: Release 10.2.0.1.0 – Production on 星期三 10月 29 16:11:20 2008 Copyright (c) 1982, 2005, Oracle. All rights reserved. |
|
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的表通过常规路径… . . 正在导出表 DH_REP_WORK导出了 1 行 . . 正在导出表 DRILL_ADM_YEAR_TARGET导出了 40 行 成功终止导出, 没有出现警告。 |
从上面可以看出来成功导出来远程数据库AA中两表的数据。
2 导入到数据库BB中(请先看下面的错误原因)
D:>impB_UserName/B_Password@BBtables=(DH_REP_WORK,DRILL_ADM_YEAR_TARGET) file=20081029 log=20081029imp.log
Import: Release 10.2.0.1.0 – Production on 星期三 10月 29 16:13:33 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – 64bit Production With the Partitioning, OLAP and Data Mining options
经由常规路径由 EXPORT:V10.02.01 创建的导出文件IMP-00013: 只有 DBA 才能导入由其他 DBA 导出的文件IMP-00000: 未成功终止导入
不能导入原来是B_UserName用户没有具有DBA角色的权限。
3、登陆到数据库BB中,用超级用户sys给B_UserName用户授权
SQL> grant dba to B_UserName; Grant succeeded. |
4 、现在重新导入到数据库BB中,为了减少日志的错误使用ignore=yes(忽略错误),rows=y是导入表中的数据,grants=no表示不导入授权(假如在数据库AA中表DH_REP_WORK授权给了test用户,但数据库BB中没有test用户,则不用执行授权给test用户)。
D:>imp B_UserName/B_Password@BB tables=(DH_REP_WORK,DRILL_ADM_YEAR_TARGET) rows=y ignore=yes grants=no file=20081029 log=20081029Imp.log
执行上面的语句,可能会有些错误提示,一般是在数据库BB中的已经存在该数据,由于主键的唯一性,所以不能插入。但数据库AA中存在、但数据库BB中不存在的数据就可以顺利的插入到数据库BB中了。
5、登陆到数据库BB中,用超级用户sys回收B_UserName用户dba的角色:
SQL> revoke dba from B_UserName; Revoke succeeded. |
好!到此完毕!
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
Collaborate 18大会:了解甲骨文云数据库和应用的进展
在Collaborate 18大会即将举行时,我们会发现,甲骨文用户社区的技术变化会略高于平常水平。 由独立甲 […]
-
甲骨文自治数据库亮相 带来云计算新希望
早前甲骨文还不在云计算公司之列,而现在该公司正在迅速弥补其失去的时间。甲骨文的云计算核心是甲骨文自治数据库(O […]
-
2017年12月数据库流行度排行榜 定格岁末排名瞬间
数据库知识网站DB-engines最近更新的2017年12月份数据库流行度排名情况是否能提供更多的看点呢?TechTarget数据库网站将与您分享12月份的榜单排名情况,让我们拭目以待。
-
2017年11月数据库流行度排行榜 半数以上数据库积分减少
数据库知识网站DB-engines更新了2016年11月份的数据库流行度排行榜。TechTarget数据库网站将与您一同关注11月份的榜单排名情况。