ORACLE降级导入导出

PS:我也不知道,我选择的分类对不对了.不过感觉应该是这样的.


我们常要在不同版本的数据库中导入导出,如果从低版本导入到高版本,一般来说问题都不大.可是从高版本导入到低版本,那就蛋疼了,因为低版本永远不知道在它之后出生的高版本是什么样的规则,所以这个比较蛋疼.

今天我就遇到这个问题了,项目现场的数据库是oracle11g的,我自己电脑是oracle10g,平时开发的时候用的都是自己的数据,跟现场数据不一致,而且我们使用了自定义表单,表单都是通过字段配置构出来的,所以很容易与现场的不一致,现场提出一个问题,我在本地折腾半天,就是不能重新,还得先拨VPN,然后修改配置连上现场的数据库.所以最好的解决方案就是把现场的数据库导到我本地来.这样问题就来了,现场11g,我本地10g.尼玛,操蛋问题来了...

折腾好半天,还没搞定,就上网找百老师和谷老师咨询了一下,然后找到一个解决方案,整理一下,跟大家分享下,如果大家有什么比这操蛋方案(虽然解决了,但是毕竟麻烦)更好更方便的,一起分享下呗,just for opensource!

使用oracle的expdpimpdp

1.在服务器上expdb一下,服务器是Linux,切换到oracle用户,进行下面的操作:

expdp userid=usr_oa_new/usr_oa_new@192.168.102.202:1521/urpdb schemas=usr_oa_new directory=test dumpfile=usr_oa_new_20130826.dmp logfile=log_20130826.log version=10.02.01


注意:
userid=usr_oa_new/usr_oa_new@192.168.102.202:1521/urpdb    不用说了,源数据库的信息
schemas=usr_oa_new    该方案用于指定执行方案模式导出,默认为当前用户方案.
directory=test    这里需要用有dba权限的oracle用户登录数据库新建一个目录地址,这里非真正的硬盘物理路径,仅仅相当于一个在oracle中的代号

create directory test as '/home/oracle';
grant read,write on directory test to usr_oa_new;

dumpfile=usr_oa_new_20130826.dmp以及logfile=log_20130826.log        你懂滴,不用我说了
version=10.02.01    这个很重要,这里指定你希望以哪个版本的oracle的dmp导出,即目标数据库的版本号

至此,导出部分已经OK了.

2.在目标数据库所在服务器上使用impdp,通常情况为windows系统

impdp userid=usr_oa_cumt/usr_oa_cumt@sunhao remap_schema=usr_oa_new:usr_oa_cumt directory=cumt dumpfile=usr_oa_new_20140422.dmp logfile=impdp.log table_exists_action=replace version=10.02.01


注意:
userid=usr_oa_cumt/usr_oa_cumt@sunhao                            the same as expdp
remap_schema=usr_oa_new:usr_oa_cumt                               如果目标用户与源用户一致,则可以不写,否则,格式为remap_schema=源:目标
directory,dumpfile,logfile                                                          the same as expdp
table_exists_action=replace                                                      表存在的时候怎么办
version=10.02.01                                                                    要导入的数据库版本


ALL DONE,WILL BE SUCCESS!

转载于:https://my.oschina.net/sunhaojava/blog/157061

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle 数据导入导出可以使用 Oracle 提供的工具 exp 和 imp,或者使用数据泵工具 expdp 和 impdp。 1. exp 和 imp 工具使用 exp 是 Oracle 的数据导出工具,imp 是数据导入工具。使用 exp 工具导出数据时,需要提供用户名、密码、实例名、导出文件名等参数。例如,导出一个名为 test 的用户的所有表和数据: exp test/password@instance file=test.dmp full=y 其中,test/password 是用户名和密码,instance 是实例名,test.dmp 是导出文件名,full=y 表示导出所有表和数据。 使用 imp 工具导入数据时,需要提供用户名、密码、实例名、导入文件名等参数。例如,导入 test 用户的数据: imp test/password@instance file=test.dmp full=y 2. expdp 和 impdp 工具使用 expdp 和 impdp 工具是 Oracle 数据库提供的数据泵工具,可以导出导入数据、元数据和对象。使用 expdp 工具导出数据时,需要提供用户名、密码、实例名、导出文件名等参数。例如,导出一个名为 test 的用户的所有表和数据: expdp test/password@instance directory=dir dumpfile=test.dmp full=y 其中,test/password 是用户名和密码,instance 是实例名,dir 是导出目录,test.dmp 是导出文件名,full=y 表示导出所有表和数据。 使用 impdp 工具导入数据时,需要提供用户名、密码、实例名、导入文件名等参数。例如,导入 test 用户的数据: impdp test/password@instance directory=dir dumpfile=test.dmp full=y 其中,test/password 是用户名和密码,instance 是实例名,dir 是导入目录,test.dmp 是导入文件名,full=y 表示导入所有表和数据。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值