oracle11g导入数据到oracle10g,亲测可用

来源:互联网 发布:源码生成器 编辑:程序博客网 时间:2024/06/07 22:48

1:已有一个11g的dmp文件:先oracle 11g 导出10g的dmp,再导入到cracle10中;测试成功!
2:直接从11g导出一个10g的dmp,再导入到cracle10中。(被包含在第一种情况里)
create tablespace DetailLibrarylogging datafile 'd:\tabspace\detailLibrary\detailSpace.dbf'size 50m autoextend onnext 50m maxsize 20480mextent management local;
--drop tablespace DetailLibrary; 删除表空间(需要的时候用)
--drop user DETAILUSER cascade;删除一个用户和他全部的表等(需要的时候用)
create user DETAILUSER identified by DETAILUSER default tablespace DetailLibrary;grant dba to DETAILUSER;
先把已有的11g的dmp文件导入到11g中(在导入的时候,注意dmp文件里的,表空间和你创建的是否一致,dmp文件是可以用编辑器修改的)

如果通过直接修改版本好的方式:要注意格式。个eg:v10.02.10,(不能是:v10.0.2.1.0)。这种方式很可能会出错(报错 表空间不存在等,因为一些表可能用到clob,xmltype等特殊类型的字段,所以不推荐使用直接修改版本号的方式。加上参数ignore=y可以忽略这些错,但是相对于的表,数据是没有导入的。 没有涉及clob,xmltype等特殊类型的字段还是可以用
用户名的格式是:U+用户名。这里的就是JEECG,要修改的话注意U是前缀。在导入的时候如果你使用的用户名和dmp文件里的不一样,会警告,但是无大碍,你也可以改成一样的。

imp DETAILUSER/DETAILUSER@ORCL file=d:20171203.dmp ignore = y full=y;
下面是修改表空间:



用这个命令导出10g版本的dmp(第二种情况就从这里开始)各项参数就不细说,查这个信息的朋友应该大致都理解,可以根据需求进行修改。(这里可能会提示让登录一下,输入一个权限足够的用户名密码即可,或者就用命令里的用户信息,我是用的命令里的用户)
EXPDP USERID='DETAILUSER/DETAILUSER@orcl as sysdba' schemas=DETAILUSER  
directory=DATA_PUMP_DIR dumpfile=aa.dmp logfile=aa.log version=10.2.0.1.0
说明:schemas=DETAILUSER 这里是要导出的那个方案(就是那个用户下的数据表)
directory=DATA_PUMP_DIR 这个是一个oracle下的文件目录,可以直接这样用;或者自己新 建一个文件夹,然后把你新建的文件夹的访问权限授权给你要用的用户。可参考命令:(grant write,read on DIRECTORY DATA_PUMP_DIR to DETAILUSER;)
然后在oracle的安装目录中去找到这个aa.dmp文件(或者你自己创建的文件夹);再复制到对应要导入的10g安装目录下。下面是列子,不一定完全一致。
XP:C:\app\Administrator\admin\orcl\dpdump
WIN10:C:\oracle\product\10.2.0\admin\orcl\dpdump
本机上执行,创建对应的表空间,用户等
create tablespace DetailLibrarylogging datafile 'e:\tabspace\detailLibrary\detailSpace.dbf'size 50m autoextend onnext 50m maxsize 20480mextent management local;
--drop tablespace DetailLibrary; 删除表空间(需要的时候用)
--drop user DETAILUSER cascade;删除一个用户和他全部的表等(需要的时候用)
create user DETAILUSER identified by DETAILUSER default tablespace DetailLibrary;grant dba to DETAILUSER;
如果权限不够,就执行这个命令,授权
grant write,read on DIRECTORY DATA_PUMP_DIR to DETAILUSER;
最后导入数据
IMPDP USERID='DETAILUSER/DETAILUSER@orcl as sysdba' schemas=DETAILUSER dumpfile=AA.dmp version=10.2.0.1.0
(这里可能会提示让登录一下,输入一个权限足够的用户名密码即可,或者就用命令里的用户信息,我是用的命令里的用户)

增加一个dmp文件过大,别人分享的办法:http://blog.itpub.net/14710393/viewspace-1082697/
阅读全文
0 0
原创粉丝点击