将Oracle 12c的某用户数据迁移至OracleXE的用户

前言:OracleXE全称为oracle database 11g express edition 。Oracle Database 11g Express Edition是 Oracle 数据库的免费版本,支持标准版的大部分功能,11g Express Edition 提供 Windows 和 Linux 版本 。html

因为本次任务是跨Oracle的两个版原本迁移数据,故只能使用expdp命令来实现导出、导入。具体步骤以下:数据库

一、用sys用户登陆Oracle 12c ,建立目录DIRECTORY。以下:建立了名为‘CS_DB’的目录express

CREATE OR REPLACE DIRECTORY 
CS_DB AS 
'E:\easyman_hlz\LM\data';

二、导出用户C##LM的数据。须要给导出文件设定须要的Oracle版本号,本目标OracleXE的版本号为 11.2.0.2.0 oracle

     查询oracle的版本号: select * from v$version; post

        

三、导出命令以下:编码

expdp C##LM/C##LM@ORCL schemas=C##LM dumpfile=LM20180809_2expdp.dmp DIRECTORY=CS_DB version= 11.2.0.2.0

说明:导出用户C##LM下的全部对象至文件LM20180809_2expdp.dmp中,文件放置在目录CS_DB下,导出的文件面向于导入的Oracle版本号为11.2.0.2.0url

四、切换至安装了OracleXE的终端,在库中建立CS_DB目录,并将刚才导出的文件LM20180809_2expdp.dmp拷贝至该目录spa

五、在OracleXE上建立C##LM用户,创建表空间Tablespace,名为LM,便于后期清理数据,将C##LM用户的表空间指定为LM(该步骤可经过toad完成)code

     

修改用户的表空间:htm

六、导入数据至OracleXE的C##LM用户中,命令以下:

IMPDP C##LM/C##LM@XE DIRECTORY=CS_DB schemas=C##LM dumpfile=LM20180809_2EXPDP.DMP REMAP_TABLESPACE=SYSTEM:LM

说明:OracleXE的实例名XE非ORCL,因为原导出用户属于SYSTEM表空间,故在此处须要特别指定导入至LM表空间中

七、导入过程当中可能会出现超出字符长度的问题,多是两边的编码格式有差别,能够人为去调整导入用户对应表字段的长度,而后从新导出、导入。

八、经过toad访问已导入数据后的用户C##LM


参考连接:

Oracle 关于expdp和impdp的应用实践

相关文章
相关标签/搜索