欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

记一次Oracle11g数据库导入Oracle10g数据库操作步骤

程序员文章站 2023-09-20 22:36:37
11g备份,导入10g的时候会抛错,直接阻止导入。 但是有时候还必须得把11g的数据库导入到10g,我今天就遇到了这种情况。 一开始只是把11g中的表全部备份,成功导入10g。...

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

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

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

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

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

EXPDP USERID='SYS/cuc2009@cuc as sysdba' schemas=sybj directory=DATA_PUMP_DIR dumpfile=aa.dmp logfile=aa.log version=10.2.0.1.0

其中,红色文字部分是根据需要改写的地方。例如我的sys密码是cuc2009,数据库sid是cuc,要到出的用户名是sybj,要导入到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装在了e:/tools目录下,于是我将aa.dmp文件拷贝到了E:/tools/admin/cucf/dpdump目录下。

IMPDP USERID='SYS/cuc2009@cucf as sysdba' schemas=sybj directory=DATA_PUMP_DIR dumpfile=aa.dmp logfile=aa.log version=10.2.0.1.0

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

每一步都讲过自己亲自操作。没问题的。朋友们如果有什么好的办法也可以拿出来共享一下。开源的氛围中,技术的成长是最快的!

博主说明:在我个人导入数据的时候出现了问题,大概意思是说创建视图失败(ORA-00933)。根据我跟人的情况,使用PL/SQLDeveloper导出视图,由于导出的视图在创建时出现了ORDER BY,将其删除,在命令行下执行即可。