Heim >Datenbank >MySQL-Tutorial >[Oracle] oracle 11g备份到10g
11g备份,导入10g的时候会抛错,直接阻止导入。 但是有时候还必须得把11g的数据库导入到10g,我今天就遇到了这种情况。 一开始只是把11g中的表全部备份,成功导入10g。但是缺少视图、存储过程等。一个个sql创建累死人,方法太笨。请教了一下资深DBA,重新备
11g备份,导入10g的时候会抛错,直接阻止导入。
但是有时候还必须得把11g的数据库导入到10g,我今天就遇到了这种情况。
一开始只是把11g中的表全部备份,成功导入10g。但是缺少视图、存储过程等。一个个sql创建累死人,方法太笨。请教了一下资深DBA,重新备份,重新导入,成功。
现在把我导入操作的全过程记录下来,希望可以方便更多的人!
一、在11g服务器上,使用expdp命令备份数据
EXPDP USERID='user/password'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目录下
IMPDP USERID='user/password' 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