zoukankan      html  css  js  c++  java
  • 将Oracle 12c的某用户数据迁移至OracleXE的用户

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

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

    1、用sys用户登录Oracle 12c ,创建目录DIRECTORY。如下:创建了名为‘CS_DB’的目录

    CREATE OR REPLACE DIRECTORY 
    CS_DB AS 
    'E:easyman_hlzLMdata';

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

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

            

    3、导出命令如下:

    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.0

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

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

         

    修改用户的表空间:

    6、导入数据至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表空间中

    7、导入过程中可能会出现超出字符长度的问题,可能是两边的编码格式有差异,可以人为去调整导入用户对应表字段的长度,然后重新导出、导入。

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


    参考链接:

    Oracle 关于expdp和impdp的应用实践

  • 相关阅读:
    讲一下创业公司的技术架构演进
    Nginx二级域名配置
    Java分页下载
    Solr6+IKAnalyzer分词环境搭建
    消息发送平台简单架构设计
    优先级线程池实现
    Spring缓存框架原理浅谈
    Archaius 原理
    SpringCloud+Consul 服务注册与服务发现
    EndPoint详解
  • 原文地址:https://www.cnblogs.com/senyier/p/9452723.html
Copyright © 2011-2022 走看看