oracle 11g备份,导入oracle 10g

11g备份,导入10g的时候会抛错,直接阻止导入。

但是有时候还必须得把11g的数据库导入到10g,我今天就遇到了这种情况。

一开始只是把11g中的表全部备份,成功导入10g。但是缺少视图、存储过程等。一个个sql创建累死人,方法太笨。请教了一下资深DBA,重新备份,重新导入,成功。

现在把我导入操作的全过程记录下来,希望可以方便更多的人!

一、在11g服务器上,使用expdp命令备份数据

EXPDP USERID='sys/sys@orcl as sysdba' schemas=hsrep directory=DATA_PUMP_DIR dumpfile=aa.dmp logfile=aa.log version=10.2.0.1.0

其中,红色文字部分是根据需要改写的地方。例如我的sys密码是sys,数据库sid是orcl,要到出的用户名是hsrep,要导入到10.2.0.1.0版本的Oracle数据库中去。aa.dmp和aa.log将会在11g的dpdump目录中生成,例如我的11g装在了E盘下面,于是aa.dmp将会在E:\app\Administrator\admin\cuc\dpdump目录下被生成。

二、在10g服务器上,使用impdp命令恢复数据

准备工作:1.建库2.建表空间3.建用户并授权4.将aa.dmp拷贝到10g的dpdump目录下

1-3点可以去参考博主的上一篇博客“Oracle数据库移植全步骤”,介绍的很详细,这里不再多说。关于第4点,我的10g装在了D:\oracle\product\10.2.0\admin\orcl\dpdump目录下,于是我将aa.dmp文件拷贝到了D:\oracle\product\10.2.0\admin\orcl\dpdump 目录下。

IMPDP USERID='SYS/sys@orcl as sysdba' schemas=hserp directory=DATA_PUMP_DIR dumpfile=aa.dmp logfile=aa.log version=10.2.0.1.0

其中红色部分是根据需要改写的地方。例如我的sys密码是sys,数据库sid是orcl,要导入用户名为hsrep,要导入到10.2.0.1.0版本的Oracle数据库中去。aa.log将会在10g的dpdump目录中生成。

---------------

注意:导入和导出的用户必须一致!

装载:http://blog.sina.com.cn/s/blog_5a2405d10100nerv.html

网上也有人说:可以先用一个10g的client导出11g的数据,在把导出的.dmp  imp到你想要导入的10g的机器。经过实验发现有些触发器用10g导出的话是会报错的。还需要手动去建表上面的触发器。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值