拓扑园

  • O&M
    • Universal部署
    • PHP+VUE+Laravel相关
  • Oracle性能优化
  • Oracle项目案例
    • Oracle近期项目案例(目录)
    • Oracle实战问题解析(目录)
    • Oracle数据库名变更流程(2种方式)
    • Oracle数据库目录更换流程(使用Oracle的clone工具)
    • Oracle数据库迁移方案(目录)
    • 标准化文档系列
  • Oracle基础知识
    • LLL的Oracle培训(分类)
    • LLL的docker培训(分类)
    • 标准化文档系列--(分类)
    • Oracle核心经典分析(分类)
    • 图灵小队----(分类并包含以下文章)
    • --MySQL8.0/Oracle/Memcached/Redis等安装配置于RHEL/OL6/7/8.X系列-运行环境最优配置
    • --PG安装配置于RHEL/9X系列-运行环境最优配置
    • --自动维护任务详解-开启、关闭信息统计收集(统计信息)
    • --图灵小队—Oracle/PostgreSQL下创建一个用户测试表(自行定义数据行)
    • --图灵小队-Oracle存储过程导出表的明细_UTL_FILE(文章)
    • --图灵小队-Oracle数据库删除/卸载操作指南(文章)
    • --图灵小队-Oracle常用性能查询SQL语句(文章)
    • --图灵小队-Oracle数据库上线前检查(文章)
    • --图灵小队-Oracle常用SQL语句(文章)
    • --图灵小队—Linux/Oracle脚本/MySQL合集(持续更新)
    • --图灵小队-Oracle技巧记录(文章)
    • ADG
    • RAC
    • ASM
    • OGG
    • RMAN
    • EXPDP/IMPDP
    • 工厂数据导入导出系列
  • MySQL
    • MySQL数据库规范
    • MySQL项目案例
    • MySQL安装配置
    • MYSQL集群项目
    • MySQL常见处理
    • MySQL-Sysbench专题
    • MySQL-Percona Toolkit专题
  • Linux
    • Shell编程
    • kubernetes
    • docker
    • Linux
    • PHP
    • Nginx
    • haproxy
    • mail
    • 网站
    • 域名
    • 网址收藏
  • 数据中心
    • 新框架系统集合
    • 工作文档
    • EBS数据文件扩容
    • VMware虚拟化
    • EBS系列
    • 大数据
    • SVN
    • zabbix
    • SAP
    • 备份相关
    • FC交换机
    • SVN
  • K-Studing
    • D8-Python学习
    • Oracle/MySQl等面试题
    • LG-MySQL
    • LG-Docker/K8S
    • LG-PostgreSQL
    • LG-ORACLE_BBED
    • LG-ORACLE
    • LG-Elasticsearch(ES)+ELK
    • Oracle-19C-OCP
    • WERN_ORACLE培训
    • redis数据库
    • Nginx培训学习系列
  • 其他
    • 外研英语4年级下册-听力
    • 影视系列
    • 如何使用iTunes软件通过抓包下载旧版本的ios的app
天高任鸟飞
Oracle/MySQL数据库恢复/数据迁移/生产规范报告技术交流:TEL:18562510581(微信同号);加微信入群
  1. 首页
  2. Oracle项目案例
  3. Oracle数据库迁移方案
  4. 正文

迁移方案8-Oracle利用expdp/impdp(同平台)历史数据迁移导入导出-不同用户的相同名称表导入后进行合并并根据条件截断

2024年3月26日 1166点热度 0人点赞 0条评论

目录

  • 一、项目背景
    • 1、mes项目的变迁
    • 2、项目要求
    • 3、系统环境
    • 4、问题描述
  • 二、项目规划
    • 1、迁移第一步:导出用户(A01_1001)的数据到新库的mesprd下面
    • 2、迁移第二步:当前在制数据导出
    • 3、迁移第三步:根据条件将数据导入目标库
    • 4、迁移第三步:新增数据
  • 三、方案实施步骤1/4:导入历史数据(A01_1001)
    • 1、源库-导出语句
    • 2、传输数据到目标库
    • 3、目标库—创建用户(mes_prd)
    • 4、目标库-创建临时表空间
    • 5、目标库-创建用户并赋予权限
    • 6、检查原库表与目标库表各字段长度
      • (1)源库表
      • (2)目标库表
      • (3)导入前处理(表格中标记):
      • (4)清理目标库数据
    • 7、目标库-导入数据
  • 四、方案实施步骤2/4—当前在制数据导出(锁定所有表的“检查点”)
    • 1、需要迁移的数据表如下:
      • (1)源库表
      • (2)导入到目标库表
    • 2、迁移前,需要备份目标库对应的表
    • (1)目的:预防导入数据表时,出现重复数据,可以快速恢复
      • (2)如果后期需要单独导入某个表数据,可以根据如下操作:
    • 3、对比源库和目标库的表结构
    • 4、获取源库表中所有表的递增值最大位置
    • 5、备份源库表(注意:这里一定要注意,一定要加条件导入。)
    • 6、导出时的所有表数据量
    • 7、传输文件到目标端
    • 8、查看目标端OLD_*表的的主键和唯一键
      • (1)查看所有表,发现上述表,没有任何主键和唯一约束,以PRDIFG表为例
  • 五、方案实施步骤3/4—导入目标数据库
    • 1、导入目标端前,查看所有目标库表(OLD_开头)有多少条数据
    • 2、根据各表的导出数据,进行数据导入(对比数据)
    • 3、查看导入日志(主要看成功与导入数量)
  • 六、方案实施步骤4/4—正式切换—源库停业务,新增数据导入。
    • 1、源库业务停止(停止服务,启动到read only状态)
    • 2、源库表的数据量
    • (2)查看源库条件数量
    • 3、源库导出数据
      • (1)导入语句
      • (2)导出数据量
    • 3、导入数据前,查看目标库当前各OLD表数据量
    • 4、传输表数据到目标端
    • 5、根据各自数据导入数据(对比数据)
      • (1)导入数据
      • (2)导入数据量对比(主要看导入数量是否与导出一致)
  • 七、Final—其他表数据导入(PREPRESS_MES_VERSION_NO导入 MES_VERSION_NO)
    • 1、查看两表结构
      • (1)源端表—MESPRD.PREPRESS_MES_VERSION_NO
      • (2)目标表—MES_PRD.MES_VERSION_NO-(35列)
    • 2、源端导出表数据
    • (1)导出数据
    • (2)传输数据到目标端(表名更改)
    • 3、查看目标表
    • 4、导入数据
    • 5、将数据插入到新表

迁移方案8-Oracle利用expdp/impdp(同平台)历史数据迁移导入导出-不同用户的相同名称表导入后进行合并并根据条件截断

一、项目背景

1、mes项目的变迁

从最初qdzhiban-mes系统统到SAP-mes,再到MY-mes,最后到最新的As-mes。

数据库数据经历了多此迁移。

目前使用的库中MY-mes包含了之前qdzhiban-mes和sap-mes的数据

2、项目要求

将上述迁移过得数据整合到新的AS-mes中。

3、系统环境

操作系统:源端和目标端都是Linux

版本信息:源端:Oracle 12.2.0.1.0,目标端:Oracle 11.2.0.4.0

4、问题描述

导出前,需要使用version参数指定目标端的版本,进行兼容导出。

二、项目规划

在当前库中,有两个用户A01_1001和mes_prd

1、迁移第一步:导出用户(A01_1001)的数据到新库的mesprd下面

A01_1001用户下表到迁移到As-mes下的mes_prd

OLD_PRDIFR,OLD_PRDIFO,OLD_PRDIFN,OLD_PRDIFM,OLD_PRDIFK,OLD_PRDIFJ,OLD_PRDIFI,OLD_PRDIFH,OLD_PRDIFG,OLD_PRDIF,OLD_PRDIFB,OLD_PRDIFA,OLD_PRDIFC,OLD_PRDIFL,OLD_PRDIFD,OLD_PRDIFE,PRDIFE,PRDIFF,PRDIFG,PRDIFH,PRDIFI,PRDIFL,PDIFM,PRDIFO,PRDIFQ,PRDIFR,mes_so_main,mes_so_ginfo,mes_so_dzinfo,mes_so_datetime,mes_so_datum

2、迁移第二步:当前在制数据导出

源库中mesprd用户下的表(如下),

PRDIFO,PRDIFG,PRDIFM,PRDIFF,PRDIFR,PRDIFD,PRDIFL,PRDIFC,PRDIFH,PRDIFI,PRDIFK,PRDIFB,PRDIFA,PRDIFJ,PRDIFE

3、迁移第三步:根据条件将数据导入目标库

注意:需要将

将源库用户mesprd下的表导入到目标库mes_prd下新库的下的表(OLD开头的表中),需要一一对应:

如:PRDIFO导入到OLD_PRDIFO中等。

MESPRD.OLD_PRDIFA,MESPRD.OLD_PRDIFB,
MESPRD.OLD_PRDIFC,MESPRD.OLD_PRDIFD,
MESPRD.OLD_PRDIFE,MESPRD.OLD_PRDIFF,
MESPRD.OLD_PRDIFG,MESPRD.OLD_PRDIFH,
MESPRD.OLD_PRDIFI,MESPRD.OLD_PRDIFJ,
MESPRD.OLD_PRDIFK,MESPRD.OLD_PRDIFL,
MESPRD.OLD_PRDIFM,MESPRD.OLD_PRDIFO,
MESPRD.OLD_PRDIFR

4、迁移第三步:新增数据

生产库停止,导出新增数据,并导入到新库中。

三、方案实施步骤1/4:导入历史数据(A01_1001)

1、源库-导出语句

导出所需要的表。

expdp mesprd/Mes1qaz#EDC dumpfile=A01_1001_tables2.dmp logfile=A01_1001_tables.dmp2.log directory=BACKUP_MES tables=A01_1001.OLD_PRDIFR,A01_1001.OLD_PRDIFO,A01_1001.OLD_PRDIFN,A01_1001.OLD_PRDIFM,A01_1001.OLD_PRDIFK,A01_1001.OLD_PRDIFJ,A01_1001.OLD_PRDIFI,A01_1001.OLD_PRDIFH,A01_1001.OLD_PRDIFG,A01_1001.OLD_PRDIFF,A01_1001.OLD_PRDIFB,A01_1001.OLD_PRDIFA,A01_1001.OLD_PRDIFC,A01_1001.OLD_PRDIFL,A01_1001.OLD_PRDIFD,A01_1001.OLD_PRDIFE,A01_1001.PRDIFE,A01_1001.PRDIFF,A01_1001.PRDIFG,A01_1001.PRDIFH,A01_1001.PRDIFI,A01_1001.PRDIFL,A01_1001.PRDIFM,A01_1001.PRDIFO,A01_1001.PRDIFQ,A01_1001.PRDIFR,A01_1001.mes_so_main,A01_1001.mes_so_ginfo,A01_1001.mes_so_dzinfo,A01_1001.mes_so_datetime,A01_1001.mes_so_datum version=11.2.0.4.0

注意:当前表空间是MESPRD_TBSP,用户是A01_1001,数据迁移到新的表空间是MES_PRD,用户是A01_1001;

2、传输数据到目标库

 scp -r A01_1001_tables2.dmp A01_1001_tables.dmp2.log oracle@10.40.0.230:/backup

3、目标库—创建用户(mes_prd)

CREATE tablespace MES_PRD DATAFILE '/oracle/app/oracle/oradata/mesorcl/MES_PRD_DATA.DBF' size 10240m autoextend on next 1000m;
alter tablespace MES_PRD add DATAFILE '/oracle/app/oracle/oradata/mesorcl/MES_PRD_DATA01.dbf' size 10240m autoextend on next 1000m;
alter tablespace MES_PRD add DATAFILE '/oracle/app/oracle/oradata/mesorcl/MES_PRD_DATA02.dbf' size 10240m autoextend on next 1000m;
alter tablespace MES_PRD add DATAFILE '/oracle/app/oracle/oradata/mesorcl/MES_PRD_DATA03.dbf' size 10240m autoextend on next 1000m;
alter tablespace MES_PRD add DATAFILE '/oracle/app/oracle/oradata/mesorcl/MES_PRD_DATA04.dbf' size 10240m autoextend on next 1000m;
alter tablespace MES_PRD add DATAFILE '/oracle/app/oracle/oradata/mesorcl/MES_PRD_DATA05.dbf' size 10240m autoextend on next 1000m;
alter tablespace MES_PRD add DATAFILE '/oracle/app/oracle/oradata/mesorcl/MES_PRD_DATA06.dbf' size 10240m autoextend on next 1000m;
alter tablespace MES_PRD add DATAFILE '/oracle/app/oracle/oradata/mesorcl/MES_PRD_DATA07.dbf' size 10240m autoextend on next 1000m;
alter tablespace MES_PRD add DATAFILE '/oracle/app/oracle/oradata/mesorcl/MES_PRD_DATA08.dbf' size 10240m autoextend on next 1000m;
alter tablespace MES_PRD add DATAFILE '/oracle/app/oracle/oradata/mesorcl/MES_PRD_DATA09.dbf' size 10240m autoextend on next 1000m;

4、目标库-创建临时表空间

CREATE tablespace MES_MM logging DATAFILE '/oracle/app/oracle/oradata/mesorcl/MES_MM_DATA.DBF' size 10240m autoextend on next 1000m;
CREATE temporary tablespace MES_MM_TEMP tempfile '/oracle/app/oracle/oradata/mesorcl/MES_MM_TEMP.DBF' size 10240m autoextend on next 1000m;
CREATE temporary tablespace MES_PRD_TEMP_NEW tempfile '/oracle/app/oracle/oradata/mesorcl/MES_PRD_TEMP_NEW.DBF' size 10240m autoextend on next 1000m;

5、目标库-创建用户并赋予权限

create user mes_prd identified by "mes800" default tablespace MES_PRD temporary tablespace MES_PRD_TEMP_NEW profile DEFAULT;
grant read,write on directory backup_mes to mes_prd;
grant connect,dba,resource to mes_prd ;
grant unlimited tablespace to mes_prd with admin option;

6、检查原库表与目标库表各字段长度

(1)源库表

A01_1001.OLD_PRDIFA,A01_1001.OLD_PRDIFB,A01_1001.OLD_PRDIFC,A01_1001.OLD_PRDIFD,A01_1001.OLD_PRDIFE,A01_1001.OLD_PRDIFF,A01_1001.OLD_PRDIFG,A01_1001.OLD_PRDIFH,A01_1001.OLD_PRDIFI,A01_1001.OLD_PRDIFJ,A01_1001.OLD_PRDIFK,A01_1001.OLD_PRDIFL,A01_1001.OLD_PRDIFM,A01_1001.OLD_PRDIFN,A01_1001.OLD_PRDIFO,A01_1001.OLD_PRDIFR,A01_1001.PRDIFE,A01_1001.PRDIFF,A01_1001.PRDIFG,A01_1001.PRDIFH,A01_1001.PRDIFI,A01_1001.PRDIFL,A01_1001.PRDIFM,A01_1001.PRDIFO,A01_1001.PRDIFQ,A01_1001.PRDIFR,A01_1001.mes_so_main,A01_1001.mes_so_ginfo,A01_1001.mes_so_dzinfo,A01_1001.mes_so_datetime,A01_1001.mes_so_datum

(2)目标库表

MES_PRD.OLD_PRDIFA,MES_PRD.OLD_PRDIFB,MES_PRD.OLD_PRDIFC,MES_PRD.OLD_PRDIFD,MES_PRD.OLD_PRDIFE,MES_PRD.OLD_PRDIFF,MES_PRD.OLD_PRDIFG,MES_PRD.OLD_PRDIFH,MES_PRD.OLD_PRDIFI,MES_PRD.OLD_PRDIFJ,MES_PRD.OLD_PRDIFK,MES_PRD.OLD_PRDIFL,MES_PRD.OLD_PRDIFM,MES_PRD.OLD_PRDIFN,MES_PRD.OLD_PRDIFO,MES_PRD.OLD_PRDIFR,MES_PRD.PRDIFE,MES_PRD.PRDIFF,MES_PRD.PRDIFG,MES_PRD.PRDIFH,MES_PRD.PRDIFI,MES_PRD.PRDIFL,MES_PRD.PRDIFM,MES_PRD.PRDIFO,MES_PRD.PRDIFQ,MES_PRD.PRDIFR,MES_PRD.mes_so_main,MES_PRD.mes_so_ginfo,MES_PRD.mes_so_dzinfo,MES_PRD.mes_so_datetime,MES_PRD.mes_so_datum

(3)导入前处理(表格中标记):

对比源库用户A01_1001下的各表字段长度与目标端用户MES_PRD下已存在个表字段的长度,需要做修改,否则报错。

(4)清理目标库数据

truncate table MES_PRD.OLD_PRDIFA;
truncate table MES_PRD.OLD_PRDIFB;
truncate table MES_PRD.OLD_PRDIFC;
truncate table MES_PRD.OLD_PRDIFD;
truncate table MES_PRD.OLD_PRDIFE;
truncate table MES_PRD.OLD_PRDIFF;
truncate table MES_PRD.OLD_PRDIFG;
truncate table MES_PRD.OLD_PRDIFH;
truncate table MES_PRD.OLD_PRDIFI;
truncate table MES_PRD.OLD_PRDIFJ;
truncate table MES_PRD.OLD_PRDIFK;
truncate table MES_PRD.OLD_PRDIFL;
truncate table MES_PRD.OLD_PRDIFM;
truncate table MES_PRD.OLD_PRDIFN;
truncate table MES_PRD.OLD_PRDIFO;
truncate table MES_PRD.OLD_PRDIFR;
truncate table MES_PRD.PRDIFE;
truncate table MES_PRD.PRDIFF;
truncate table MES_PRD.PRDIFG;
truncate table MES_PRD.PRDIFH;
truncate table MES_PRD.PRDIFI;
truncate table MES_PRD.PRDIFL;
truncate table MES_PRD.PRDIFM;
truncate table MES_PRD.PRDIFO;
truncate table MES_PRD.PRDIFQ;
truncate table MES_PRD.PRDIFR;
truncate table MES_PRD.mes_so_main;
truncate table MES_PRD.mes_so_ginfo;
truncate table MES_PRD.mes_so_dzinfo;
truncate table MES_PRD.mes_so_datetime;
truncate table MES_PRD.mes_so_datum;

7、目标库-导入数据

Linux下Oracle 12c的用户A01_1001下的数据导入到Linux下Oracle 11g的用户mes_prd下的数据。

impdp mes_prd/mes800 dumpfile=A01_1001_tables2.dmp logfile=A01_1001_tables.dmp2.log DIRECTORY=backup_mes exclude=statistics remap_schema=A01_1001:MES_PRD table_exists_action=append
. . imported "MES_PRD"."PRDIFI" 601.1 KB 5534 rows
. . imported "MES_PRD"."PRDIFL" 430.1 MB 2633388 rows
. . imported "MES_PRD"."PRDIFH" 41.97 MB 389737 rows
. . imported "MES_PRD"."MES_SO_DZINFO" 425.3 MB 1189519 rows
. . imported "MES_PRD"."OLD_PRDIFF" 9.943 MB 373365 rows
. . imported "MES_PRD"."OLD_PRDIFO" 205.3 MB 313405 rows
. . imported "MES_PRD"."OLD_PRDIFL" 300.6 MB 2862028 rows
. . imported "MES_PRD"."OLD_PRDIFC" 221.7 MB 5090536 rows
. . imported "MES_PRD"."PRDIFF" 48.67 MB 480964 rows
. . imported "MES_PRD"."PRDIFR" 22.79 MB 118919 rows
. . imported "MES_PRD"."PRDIFE" 4.075 GB 186037 rows
. . imported "MES_PRD"."OLD_PRDIFJ" 35.87 MB 313394 rows
. . imported "MES_PRD"."OLD_PRDIFI" 70.38 KB 2366 rows
. . imported "MES_PRD"."OLD_PRDIFG" 5.843 MB 220493 rows
. . imported "MES_PRD"."OLD_PRDIFN" 0 KB 0 rows
. . imported "MES_PRD"."MES_SO_GINFO" 48.05 MB 188324 rows
. . imported "MES_PRD"."OLD_PRDIFM" 45.16 MB 315018 rows
. . imported "MES_PRD"."PRDIFM" 82.40 MB 302635 rows
. . imported "MES_PRD"."PRDIFG" 22.03 MB 201737 rows
. . imported "MES_PRD"."MES_SO_DATETIME" 78.94 MB 188327 rows
. . imported "MES_PRD"."MES_SO_DATUM" 456.0 MB 1918484 rows
. . imported "MES_PRD"."MES_SO_MAIN" 268.0 MB 188324 rows
. . imported "MES_PRD"."OLD_PRDIFH" 11.31 MB 374540 rows
. . imported "MES_PRD"."OLD_PRDIFB" 28.76 MB 313371 rows
. . imported "MES_PRD"."OLD_PRDIFK" 55.22 MB 313394 rows
. . imported "MES_PRD"."OLD_PRDIFA" 61.78 MB 313374 rows
. . imported "MES_PRD"."OLD_PRDIFE" 4.457 GB 313376 rows
. . imported "MES_PRD"."OLD_PRDIFD" 141.5 MB 1713695 rows
. . imported "MES_PRD"."OLD_PRDIFR" 14.47 MB 153537 rows

四、方案实施步骤2/4—当前在制数据导出(锁定所有表的“检查点”)

1、需要迁移的数据表如下:

源库用户mesprd下的表导入到目标库mes_prd下的旧表OLD_PRDIFO,OLD_PRDIFG,OLD_PRDIFM,OLD_PRDIFF等。

(1)源库表

MESPRD.PRDIFA,MESPRD.PRDIFB,MESPRD.PRDIFC,MESPRD.PRDIFD,MESPRD.PRDIFE,MESPRD.PRDIFF,MESPRD.PRDIFG,MESPRD.PRDIFH,MESPRD.PRDIFI,MESPRD.PRDIFJ,MESPRD.PRDIFK,MESPRD.PRDIFL,MESPRD.PRDIFM,MESPRD.PRDIFO,MESPRD.PRDIFR

(2)导入到目标库表

MESPRD.OLD_PRDIFA,MESPRD.OLD_PRDIFB,MESPRD.OLD_PRDIFC,MESPRD.OLD_PRDIFD,MESPRD.OLD_PRDIFE,MESPRD.OLD_PRDIFF,MESPRD.OLD_PRDIFG,MESPRD.OLD_PRDIFH,MESPRD.OLD_PRDIFI,MESPRD.OLD_PRDIFJ,MESPRD.OLD_PRDIFK,MESPRD.OLD_PRDIFL,MESPRD.OLD_PRDIFM,MESPRD.OLD_PRDIFO,MESPRD.OLD_PRDIFR

2、迁移前,需要备份目标库对应的表

(1)目的:预防导入数据表时,出现重复数据,可以快速恢复

因为目标库用户MES_PRD下,已经存在OLD_PRDIFO,OLD_PRDIFG等这些表且有数据,为防止导入后出现错误,需要在导入前备份表,有几种方法:

--①expdp 导出表,如果导入出现问题,可以truncate表或drop表,再利用impdp导入
--②sql语句创建表的副本,如果出现问题,可以删除原表,启用副本表
--③flashback闪回数据库(设置闪回点,如果导入出现问题,需要关库并配置到mount状态,进行闪回库,最终需要resetlogs,较麻烦。

根据情况来定。

expdp mes_prd/mes800 dumpfile=mes_prd_table_bak_20240328.dmp logfile=mes_prd_table_bak_20240328.log directory=BACKUP_MES \ 
tables=MES_PRD.OLD_PRDIFA,MES_PRD.OLD_PRDIFB,MES_PRD.OLD_PRDIFC,MES_PRD.OLD_PRDIFD,MES_PRD.OLD_PRDIFE,MES_PRD.OLD_PRDIFF,MES_PRD.OLD_PRDIFG,MES_PRD.OLD_PRDIFH,MES_PRD.OLD_PRDIFI,MES_PRD.OLD_PRDIFJ,MES_PRD.OLD_PRDIFK,MES_PRD.OLD_PRDIFL,MES_PRD.OLD_PRDIFM,MES_PRD.OLD_PRDIFO,MES_PRD.OLD_PRDIFR
. . exported "MES_PRD"."OLD_PRDIFE" 4.457 GB 313376 rows
. . exported "MES_PRD"."OLD_PRDIFL" 300.6 MB 2862028 rows
. . exported "MES_PRD"."OLD_PRDIFC" 221.7 MB 5090536 rows
. . exported "MES_PRD"."OLD_PRDIFO" 205.3 MB 313405 rows
. . exported "MES_PRD"."OLD_PRDIFD" 141.5 MB 1713695 rows
. . exported "MES_PRD"."OLD_PRDIFA" 61.77 MB 313374 rows
. . exported "MES_PRD"."OLD_PRDIFK" 55.22 MB 313394 rows
. . exported "MES_PRD"."OLD_PRDIFM" 45.16 MB 315018 rows
. . exported "MES_PRD"."OLD_PRDIFJ" 35.87 MB 313394 rows
. . exported "MES_PRD"."OLD_PRDIFB" 28.76 MB 313371 rows
. . exported "MES_PRD"."OLD_PRDIFR" 14.47 MB 153537 rows
. . exported "MES_PRD"."OLD_PRDIFH" 11.31 MB 374540 rows
. . exported "MES_PRD"."OLD_PRDIFF" 9.943 MB 373365 rows
. . exported "MES_PRD"."OLD_PRDIFG" 5.843 MB 220493 rows
. . exported "MES_PRD"."OLD_PRDIFI" 70.24 KB 2366 rows
Master table "MES_PRD"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded

(2)如果后期需要单独导入某个表数据,可以根据如下操作:

--首先truncate这张表

如:truncate table mes_prd.old_prdIFA;

--再次单独导入此表

impdp mes_prd/mes800 dumpfile=mes_prd_table_bak_20240328.dmp \
logfile=mes_prd_table_bak_20240328_imp.dmp2.log \
DIRECTORY=backup_mes exclude=statistics \
tables=MES_PRD.old_prdIFA TABLE_EXISTS_ACTION=append

3、对比源库和目标库的表结构

因为目标库用户MES_PRD下,已经存在OLD_PRDIFO,OLD_PRDIFG等这些表,所以需要比较源库用户MESPRD下的PRDIFO和目标库OLD_PRDIFO的表结构。然后才能将mesprd用户下的prdifo等表导入到mes_pd下的old_prdifo等表。

和开发沟通后,进行如下调整即可,--本案例有个特殊的表字段需要进行修改

alter table MES_PRD.OLD_PRDIFM MODIFY IFM18 NVARCHAR2(50);

4、获取源库表中所有表的递增值最大位置

注意:这里标记了最大位置,为了便于后面我们进行增量数据的重新导入。

select IFA01 from (select IFA01 from MESPRD.PRDIFA order by IFA01 desc) where rownum<10; --246310 
select count(*) from MESPRD.PRDIFA where IFA01<=246310;     --满足上述获取最大位置的数据条数:232884/232883
--
select IFB01 from (select IFB01 from MESPRD.PRDIFB order by IFB01 desc) where rownum<10; --245044
select count(*) from MESPRD.PRDIFB where IFB01<=245044;     --满足上述获取最大位置的数据条数:232884/232883
--
select IFC01 from (select IFC01 from MESPRD.PRDIFC order by IFC01 desc) where rownum<10; --3899362
select count(*) from MESPRD.PRDIFC where IFC01<=3899362;    --满足上述获取最大位置的数据条数:2392272/2392199
--
select IFD01 from (select IFD01 from MESPRD.PRDIFD order by IFD01 desc) where rownum<10; --2310695 
select count(*) from MESPRD.PRDIFD where IFD01<=2310695;    --满足上述获取最大位置的数据条数:1517317/1517307
--
select IFE01 from (select IFE01 from MESPRD.PRDIFE order by IFE01 desc) where rownum<10; --264732
select count(*) from MESPRD.PRDIFE where IFE01<=264732;     --满足上述获取最大位置的数据条数:232884/232884
--
select IFF01 from (select IFF01 from MESPRD.PRDIFF order by IFF01 desc) where rownum<10; --4135388
select count(*) from MESPRD.PRDIFF where IFF01<=4135388;    --满足上述获取最大位置的数据条数:2500333/2500253
--
select IFG01 from (select IFG01 from MESPRD.PRDIFG order by IFG01 desc) where rownum<10; --406588
select count(*) from MESPRD.PRDIFG where IFG01<=406588;     --满足上述获取最大位置的数据条数:245469/245462
--
select IFH01 from (select IFH01 from MESPRD.PRDIFH order by IFH01 desc) where rownum<10; --1020217 
select count(*) from MESPRD.PRDIFH where IFH01<=1020217;     --满足上述获取最大位置的数据条数:633180/633167
--
select IFI01 from (select IFI01 from MESPRD.PRDIFI order by IFI01 desc) where rownum<10; --24181
select count(*) from MESPRD.PRDIFI where IFI01<=24181;       --满足上述获取最大位置的数据条数:9219/9219
--
select IFJ01 from (select IFJ01 from MESPRD.PRDIFJ order by IFJ01 desc) where rownum<10; --264812
select count(*) from MESPRD.PRDIFJ where IFJ01<=264812;     --满足上述获取最大位置的数据条数:232886/232885
--
select IFK01 from (select IFK01 from MESPRD.PRDIFK order by IFK01 desc) where rownum<10; --244939 
select count(*) from MESPRD.PRDIFK where IFK01<=244939;     --满足上述获取最大位置的数据条数:232886/232885
--
select IFL01 from (select IFL01 from MESPRD.PRDIFL order by IFL01 desc) where rownum<10; --6055997 
select count(*) from MESPRD.PRDIFL where IFL01<=6055997;     --满足上述获取最大位置的数据条数:3805541/3805400
--
select IFM01 from (select IFM01 from MESPRD.PRDIFM order by IFM01 desc) where rownum<10; --687741 
select count(*) from MESPRD.PRDIFM where IFM01<=687741;     --满足上述获取最大位置的数据条数:417586/417572
--
select IFO01 from (select IFO01 from MESPRD.PRDIFO order by IFO01 desc) where rownum<10; --245454
select count(*) from MESPRD.PRDIFO where IFO01<=245454;     --满足上述获取最大位置的数据条数:232885/232884
--
select IFR01 from (select IFR01 from MESPRD.PRDIFR order by IFR01 desc) where rownum<10; --203381 
select count(*) from MESPRD.PRDIFR where IFR01<=203381;     --满足上述获取最大位置的数据条数:120812/120812

5、备份源库表(注意:这里一定要注意,一定要加条件导入。)

注意:如果全导出,导入时按条件导入,出现导入数据和导出前(select count(*) from MESPRD.PRDIFC where IFC01<=246310;)数据不一致的情况。所以,我们使用导出时就条件,导入时,可以顺利全部导入。

expdp mesprd/Mes1qaz#EDC dumpfile=S_MESPRD_PRDIFA_R.dmp logfile=S_MESPRD_PRDIFA_R.log DIRECTORY=backup_mes \
tables=MESPRD.PRDIFA,MESPRD.PRDIFB,MESPRD.PRDIFC,MESPRD.PRDIFD,MESPRD.PRDIFE,MESPRD.PRDIFF,MESPRD.PRDIFG,MESPRD.PRDIFH,MESPRD.PRDIFI,MESPRD.PRDIFJ,MESPRD.PRDIFK,MESPRD.PRDIFL,MESPRD.PRDIFM,MESPRD.PRDIFO,MESPRD.PRDIFR \
QUERY=MESPRD.PRDIFA:'"WHERE IFA01<=246310"',MESPRD.PRDIFB:'"WHERE IFB01<=245044"',MESPRD.PRDIFC:'"WHERE IFC01<=3899362"',MESPRD.PRDIFD:'"WHERE IFD01<=2310695"',MESPRD.PRDIFE:'"WHERE IFE01<=264732"',MESPRD.PRDIFF:'"WHERE IFF01<=4135388"',MESPRD.PRDIFG:'"WHERE IFG01<=406588"',MESPRD.PRDIFH:'"WHERE IFH01<=1020217"',MESPRD.PRDIFI:'"WHERE IFI01<=24181"',QUERY=MESPRD.PRDIFJ:'"WHERE IFJ01<=264812"',MESPRD.PRDIFK:'"WHERE IFK01<=244939"',MESPRD.PRDIFL:'"WHERE IFL01<=6055997"',MESPRD.PRDIFM:'"WHERE IFM01<=687741"',MESPRD.PRDIFO:'"WHERE IFO01<=245454"',MESPRD.PRDIFR:'"WHERE IFR01<=203381"' \
version=11.2.0.4.0
--全量导出表(当前不用)
expdp mesprd/Mes1qaz#EDC dumpfile=S_MESPRD_tables_20240329.dmp logfile=S_MESPRD_tables_20240329.log directory=BACKUP_MES  tables=MESPRD.PRDIFA,MESPRD.PRDIFB,MESPRD.PRDIFC,MESPRD.PRDIFD,MESPRD.PRDIFE,MESPRD.PRDIFF,MESPRD.PRDIFG,MESPRD.PRDIFH,MESPRD.PRDIFI,MESPRD.PRDIFJ,MESPRD.PRDIFK,MESPRD.PRDIFL,MESPRD.PRDIFM,MESPRD.PRDIFO,MESPRD.PRDIFR version=11.2.0.4.0 

6、导出时的所有表数据量

. . exported "MESPRD"."PRDIFA" 83.47 MB 232883 rows
. . exported "MESPRD"."PRDIFB" 62.25 MB 232883 rows
. . exported "MESPRD"."PRDIFC" 101.9 MB 2392199 rows
. . exported "MESPRD"."PRDIFD" 198.1 MB 1517307 rows
. . exported "MESPRD"."PRDIFE" 20.83 GB 232883 rows
. . exported "MESPRD"."PRDIFF" 99.16 MB 2500253 rows
. . exported "MESPRD"."PRDIFG" 9.397 MB 245461 rows
. . exported "MESPRD"."PRDIFH" 26.49 MB 633167 rows
. . exported "MESPRD"."PRDIFI" 267.9 KB 9219 rows
. . exported "MESPRD"."PRDIFJ" 33.35 MB 232885 rows
. . exported "MESPRD"."PRDIFK" 64.42 MB 232885 rows
. . exported "MESPRD"."PRDIFL" 297.5 MB 3805400 rows
. . exported "MESPRD"."PRDIFM" 78.84 MB 417572 rows
. . exported "MESPRD"."PRDIFO" 21.74 MB 232884 rows
. . exported "MESPRD"."PRDIFR" 12.20 MB 120812 rows

7、传输文件到目标端

scp -r /data/expdp/S_MESPRD_PRDIFA_R.dmp oracle@10.40.0.230:/backup/expdp

8、查看目标端OLD_*表的的主键和唯一键

(1)查看所有表,发现上述表,没有任何主键和唯一约束,以PRDIFG表为例

和开发沟通后,可以直接导入数据。

五、方案实施步骤3/4—导入目标数据库

1、导入目标端前,查看所有目标库表(OLD_开头)有多少条数据

(用于比较导入前后的数据量是否是一致的)

select count(*) as A from MES_PRD.OLD_PRDIFA; --313374
select count(*) as B from MES_PRD.OLD_PRDIFB; --313371
select count(*) as C from MES_PRD.OLD_PRDIFC; --5090536
select count(*) as D from MES_PRD.OLD_PRDIFD; --1713695
select count(*) as E from MES_PRD.OLD_PRDIFE; --313376
select count(*) as F from MES_PRD.OLD_PRDIFF; --373365
select count(*) as G from MES_PRD.OLD_PRDIFG; --220493
select count(*) as H from MES_PRD.OLD_PRDIFH; --374540
select count(*) as I from MES_PRD.OLD_PRDIFI; --2366
select count(*) as J from MES_PRD.OLD_PRDIFJ; --313394
select count(*) as K from MES_PRD.OLD_PRDIFK; --313394
select count(*) as L from MES_PRD.OLD_PRDIFL; --2862028
select count(*) as M from MES_PRD.OLD_PRDIFM; --315018
select count(*) as O from MES_PRD.OLD_PRDIFO; --313405
select count(*) as R from MES_PRD.OLD_PRDIFR; --153537

2、根据各表的导出数据,进行数据导入(对比数据)

impdp mes_prd/mes800 dumpfile=S_MESPRD_PRDIFA_R.dmp logfile=S_MESPRD_PRDIFA_R_imp.log DIRECTORY=backup_mes exclude=statistics remap_schema=MESPRD:MES_PRD \
remap_table=PRDIFA:OLD_PRDIFA,PRDIFB:OLD_PRDIFB,PRDIFC:OLD_PRDIFC,PRDIFD:OLD_PRDIFD,PRDIFE:OLD_PRDIFE,PRDIFF:OLD_PRDIFF,PRDIFG:OLD_PRDIFG,PRDIFH:OLD_PRDIFH,PRDIFI:OLD_PRDIFI,PRDIFJ:OLD_PRDIFJ,PRDIFK:OLD_PRDIFK,PRDIFL:OLD_PRDIFL,PRDIFM:OLD_PRDIFM,PRDIFO:OLD_PRDIFO,PRDIFR:OLD_PRDIFR \
TABLE_EXISTS_ACTION=append

3、查看导入日志(主要看成功与导入数量)

对比四.6导出的数据和导入是否一致。

经检查,确认一致,导入成功。(为方便对比,将表导入顺序,用手工做了调整。)

. . imported "MES_PRD"."OLD_PRDIFA" 83.47 MB 232883 rows 1259
. . imported "MES_PRD"."OLD_PRDIFB" 62.25 MB 232883 rows 
. . imported "MES_PRD"."OLD_PRDIFC" 101.9 MB 2392199 rows 
. . imported "MES_PRD"."OLD_PRDIFD" 198.1 MB 1517307 rows
. . imported "MES_PRD"."OLD_PRDIFE" 20.83 GB 232883 rows 
. . imported "MES_PRD"."OLD_PRDIFF" 99.16 MB 2500253 rows
. . imported "MES_PRD"."OLD_PRDIFG" 9.397 MB 245461 rows 
. . imported "MES_PRD"."OLD_PRDIFH" 26.49 MB 633167 rows 
. . imported "MES_PRD"."OLD_PRDIFI" 267.9 KB 9219 rows 
. . imported "MES_PRD"."OLD_PRDIFJ" 33.35 MB 232885 rows 
. . imported "MES_PRD"."OLD_PRDIFK" 64.42 MB 232885 rows 
. . imported "MES_PRD"."OLD_PRDIFL" 297.5 MB 3805400 rows 
. . imported "MES_PRD"."OLD_PRDIFM" 78.84 MB 417572 rows
. . imported "MES_PRD"."OLD_PRDIFO" 21.74 MB 232884 rows
. . imported "MES_PRD"."OLD_PRDIFR" 12.20 MB 120812 rows 
Processing object type TABLE_EXPORT/TABLE/COMMENT

六、方案实施步骤4/4—正式切换—源库停业务,新增数据导入。

1、源库业务停止(停止服务,启动到read only状态)

shutdown immediate;
statrtup mount;
alter database open read only;

2、源库表的数据量

(1)所有两

select count(*) as A from MESPRD.PRDIFA;  --234140
select count(*) as B from MESPRD.PRDIFB;  --234140
select count(*) as C from MESPRD.PRDIFC;  --2405642
select count(*) as D from MESPRD.PRDIFD;  --1525709
select count(*) as E from MESPRD.PRDIFE;  --234139
select count(*) as F from MESPRD.PRDIFF;  --2514157
select count(*) as G from MESPRD.PRDIFG;  --246908
select count(*) as H from MESPRD.PRDIFH;  --636130
select count(*) as I from MESPRD.PRDIFI;   --9247
select count(*) as J from MESPRD.PRDIFJ;   --234141
select count(*) as K from MESPRD.PRDIFK;   --234141
select count(*) as L from MESPRD.PRDIFL;   --3829970
select count(*) as M from MESPRD.PRDIFM;   --419916
select count(*) as O from MESPRD.PRDIFO;   --234140
select count(*) as R from MESPRD.PRDIFR;   --121448

(2)查看源库条件数量

select count(*) as A from MESPRD.PRDIFA where IFA01<=246310;  --232881
select count(*) as B from MESPRD.PRDIFB where IFB01<=245044;  --232881
select count(*) as C from MESPRD.PRDIFC where IFC01<=3899362; --2392114
select count(*) as D from MESPRD.PRDIFD where IFD01<=2310695; --1517267
select count(*) as E from MESPRD.PRDIFE where IFE01<=2310695;  --232881
select count(*) as F from MESPRD.PRDIFF where IFF01<=4135388;  --2500170
select count(*) as G from MESPRD.PRDIFG where IFG01<=406588;  --245454
select count(*) as H from MESPRD.PRDIFH where IFH01<=1020217;  --633150
select count(*) as I from MESPRD.PRDIFI where IFI01<=24181;   --9219
select count(*) as J from MESPRD.PRDIFJ where IFJ01<=264812;   --232883
select count(*) as K from MESPRD.PRDIFK where IFK01<=244939;  --232883
select count(*) as L from MESPRD.PRDIFL where IFL01<=6055997; --3805249
select count(*) as M from MESPRD.PRDIFM where IFM01<=687741;   --417561
select count(*) as O from MESPRD.PRDIFO where IFO01<=245454;  --232882
select count(*) as R from MESPRD.PRDIFR where IFR01<=203381;  --120810

3、源库导出数据

(1)导入语句

expdp mesprd/Mes1qaz#EDC dumpfile=S_MESPRD_PRDIFA_R_latest.dmp logfile=S_MESPRD_PRDIFA_R_latest.log DIRECTORY=backup_mes \ 
tables=MESPRD.PRDIFA,MESPRD.PRDIFB,MESPRD.PRDIFC,MESPRD.PRDIFD,MESPRD.PRDIFE,MESPRD.PRDIFF,MESPRD.PRDIFG,MESPRD.PRDIFH,MESPRD.PRDIFI,MESPRD.PRDIFJ,MESPRD.PRDIFK,MESPRD.PRDIFL,MESPRD.PRDIFM,MESPRD.PRDIFO,MESPRD.PRDIFR \ QUERY=MESPRD.PRDIFA:'"WHERE IFA01>246310"',MESPRD.PRDIFB:'"WHERE IFB01>245044"',MESPRD.PRDIFC:'"WHERE IFC01>3899362"',MESPRD.PRDIFD:'"WHERE IFD01>2310695"',MESPRD.PRDIFE:'"WHERE IFE01>264732"',MESPRD.PRDIFF:'"WHERE IFF01>4135388"',MESPRD.PRDIFG:'"WHERE IFG01>406588"',MESPRD.PRDIFH:'"WHERE IFH01>1020217"',MESPRD.PRDIFI:'"WHERE IFI01>24181"',QUERY=MESPRD.PRDIFJ:'"WHERE IFJ01>264812"',MESPRD.PRDIFK:'"WHERE IFK01>244939"',MESPRD.PRDIFL:'"WHERE IFL01>6055997"',MESPRD.PRDIFM:'"WHERE IFM01>687741"',MESPRD.PRDIFO:'"WHERE IFO01>245454"',MESPRD.PRDIFR:'"WHERE IFR01>203381"' \ 
version=11.2.0.4.0

(2)导出数据量

记录导出日志

. . exported "MESPRD"."PRDIFA" 511.7 KB 1259 rows
. . exported "MESPRD"."PRDIFB" 361.2 KB 1259 rows
. . exported "MESPRD"."PRDIFC" 596.2 KB 13528 rows
. . exported "MESPRD"."PRDIFD" 1.222 MB 8442 rows
. . exported "MESPRD"."PRDIFE" 116.4 MB 1258 rows
. . exported "MESPRD"."PRDIFF" 580.3 KB 13987 rows
. . exported "MESPRD"."PRDIFG" 64.85 KB 1454 rows
. . exported "MESPRD"."PRDIFH" 137.8 KB 2980 rows
. . exported "MESPRD"."PRDIFI" 7.710 KB 28 rows
. . exported "MESPRD"."PRDIFJ" 236.2 KB 1258 rows
. . exported "MESPRD"."PRDIFK" 356.0 KB 1258 rows
. . exported "MESPRD"."PRDIFL" 1.935 MB 24721 rows
. . exported "MESPRD"."PRDIFM" 482.5 KB 2355 rows
. . exported "MESPRD"."PRDIFO" 147.5 KB 1258 rows
. . exported "MESPRD"."PRDIFR" 83.57 KB 638 rows

3、导入数据前,查看目标库当前各OLD表数据量

select count(*) as A from MES_PRD.OLD_PRDIFA; --546257
select count(*) as B from MES_PRD.OLD_PRDIFB; --546254
select count(*) as C from MES_PRD.OLD_PRDIFC; --7482735
select count(*) as D from MES_PRD.OLD_PRDIFD; --3231002
select count(*) as E from MES_PRD.OLD_PRDIFE; --546259
select count(*) as F from MES_PRD.OLD_PRDIFF; --2873618
select count(*) as G from MES_PRD.OLD_PRDIFG; --465954
select count(*) as H from MES_PRD.OLD_PRDIFH; --1007707
select count(*) as I from MES_PRD.OLD_PRDIFI; --11585
select count(*) as J from MES_PRD.OLD_PRDIFJ; --546279
select count(*) as K from MES_PRD.OLD_PRDIFK; --546279
select count(*) as L from MES_PRD.OLD_PRDIFL; --6667428
select count(*) as M from MES_PRD.OLD_PRDIFM; --732590
select count(*) as O from MES_PRD.OLD_PRDIFO; --546289
select count(*) as R from MES_PRD.OLD_PRDIFR; --274349

4、传输表数据到目标端

scp -r S_MESPRD_PRDIFA_R_latest.dmp S_MESPRD_PRDIFA_R_latest.log oracle@10.40.0.230:/backup/expdp

5、根据各自数据导入数据(对比数据)

(1)导入数据

impdp mes_prd/mes800 dumpfile=S_MESPRD_PRDIFA_R_latest.dmp logfile=S_MESPRD_PRDIFA_R_latest_imp.log DIRECTORY=backup_mes exclude=statistics remap_schema=MESPRD:MES_PRD \ remap_table=PRDIFA:OLD_PRDIFA,PRDIFB:OLD_PRDIFB,PRDIFC:OLD_PRDIFC,PRDIFD:OLD_PRDIFD,PRDIFE:OLD_PRDIFE,PRDIFF:OLD_PRDIFF,PRDIFG:OLD_PRDIFG,PRDIFH:OLD_PRDIFH,PRDIFI:OLD_PRDIFI,PRDIFJ:OLD_PRDIFJ,PRDIFK:OLD_PRDIFK,PRDIFL:OLD_PRDIFL,PRDIFM:OLD_PRDIFM,PRDIFO:OLD_PRDIFO,PRDIFR:OLD_PRDIFR \ TABLE_EXISTS_ACTION=append

(2)导入数据量对比(主要看导入数量是否与导出一致)

对比2.2导出的数据和导入是否一致。

经检查,确认一致,导入成功。

. . imported "MES_PRD"."OLD_PRDIFE" 20.83 GB 232883 rows
. . imported "MES_PRD"."OLD_PRDIFK" 64.42 MB 232885 rows
. . imported "MES_PRD"."OLD_PRDIFR" 12.20 MB 120812 rows
. . imported "MES_PRD"."OLD_PRDIFG" 9.397 MB 245461 rows
. . imported "MES_PRD"."OLD_PRDIFH" 26.49 MB 633167 rows
. . imported "MES_PRD"."OLD_PRDIFI" 267.9 KB 9219 rows
. . imported "MES_PRD"."OLD_PRDIFB" 62.25 MB 232883 rows
. . imported "MES_PRD"."OLD_PRDIFC" 101.9 MB 2392199 rows
. . imported "MES_PRD"."OLD_PRDIFJ" 33.35 MB 232885 rows
. . imported "MES_PRD"."OLD_PRDIFM" 78.84 MB 417572 rows
. . imported "MES_PRD"."OLD_PRDIFL" 297.5 MB 3805400 rows
. . imported "MES_PRD"."OLD_PRDIFA" 83.47 MB 232883 rows
. . imported "MES_PRD"."OLD_PRDIFF" 99.16 MB 2500253 rows
. . imported "MES_PRD"."OLD_PRDIFD" 198.1 MB 1517307 rows
. . imported "MES_PRD"."OLD_PRDIFO" 21.74 MB 232884 rows

七、Final—其他表数据导入(PREPRESS_MES_VERSION_NO导入 MES_VERSION_NO)

1、查看两表结构

(1)源端表—MESPRD.PREPRESS_MES_VERSION_NO

desc mesprd.PREPRESS_MES_VERSION_NO

SQL> desc mesprd.prepress_mes_version_no;

 Name                                                  Null?    Type                映射到目标表
 ----------------------------------------------------- -------- ----------------    --------------------
 ID                                                    NOT NULL VARCHAR2(36)        --row_id
 DATETIME_CREATED                                               DATE                --CREATEDATE
 USER_CREATED                                                   VARCHAR2(80)        --LASTUPDATEDATE
 DATETIME_MODIFIED                                              DATE                --LASTUPDATEBY
 USER_MODIFIED                                                  VARCHAR2(80)
 STATE                                                          CHAR(1)
 ENTERPRISE_ID                                                  VARCHAR2(36)
 ORG_ID                                                         VARCHAR2(36)
 COID                                                           NVARCHAR2(4)
 FACTORYID                                                      NVARCHAR2(4)
 VERSION_NO                                                     NVARCHAR2(50)
 SALESMAN                                                       NVARCHAR2(50)
 VN_STATUS                                                      NVARCHAR2(50)
 RESERVE                                                        NVARCHAR2(50)
 BUILD_TYPE                                                     NVARCHAR2(50)
 FROM_VERSION_NO                                                NVARCHAR2(50)
 BUFFER1                                                        NVARCHAR2(150)
 BUFFER2                                                        NVARCHAR2(150)
 BUFFER3                                                        NVARCHAR2(150)
 BUFFER4                                                        NVARCHAR2(150)
 BUFFER5                                                        NVARCHAR2(150)
 BUFFER6                                                        NVARCHAR2(150)
 BUFFER7                                                        NVARCHAR2(150)
 BUFFER8                                                        NVARCHAR2(150)
 BUFFER9                                                        NVARCHAR2(150)
 BUFFER10                                                       NVARCHAR2(150)
 BUFFER11                                                       NVARCHAR2(150)
 BUFFER12                                                       NVARCHAR2(150)
 BUFFER13                                                       NVARCHAR2(150)
 BUFFER14                                                       NVARCHAR2(150)
 BUFFER15                                                       NVARCHAR2(150)
 BUFFER16                                                       NVARCHAR2(150)
 BUFFER17                                                       NVARCHAR2(150)
 BUFFER18                                                       NVARCHAR2(150)
 BUFFER19                                                       NVARCHAR2(150)
 BUFFER20                                                       NVARCHAR2(150)
 REMARK                                                         NVARCHAR2(200)

(2)目标表—MES_PRD.MES_VERSION_NO-(35列)

desc mes_prd.PREPRESS_MES_VERSION_NO

10:25:00 SYS@mesorcl>desc mes_prd.mes_version_no
 Name                                                  Null?    Type
 ----------------------------------------------------- -------- ------------------------------------
 ROW_ID                                                NOT NULL NVARCHAR2(50)
 COID                                                           NVARCHAR2(4)
 FACTORYID                                                      NVARCHAR2(4)
 VERSION_NO                                                     NVARCHAR2(50)
 SALESMAN                                                       NVARCHAR2(50)
 VN_STATUS                                                      NVARCHAR2(50)
 RESERVE                                                        NVARCHAR2(50)
 BUILD_TYPE                                                     NVARCHAR2(50)
 FROM_VERSION_NO                                                NVARCHAR2(50)
 ENABLEFLAG                                                     NVARCHAR2(2)
 BUFFER1                                                        NVARCHAR2(150)
 BUFFER2                                                        NVARCHAR2(150)
 BUFFER3                                                        NVARCHAR2(150)
 BUFFER4                                                        NVARCHAR2(150)
 BUFFER5                                                        NVARCHAR2(150)
 BUFFER6                                                        NVARCHAR2(150)
 BUFFER7                                                        NVARCHAR2(150)
 BUFFER8                                                        NVARCHAR2(150)
 BUFFER9                                                        NVARCHAR2(150)
 BUFFER10                                                       NVARCHAR2(150)
 BUFFER11                                                       NVARCHAR2(150)
 BUFFER12                                                       NVARCHAR2(150)
 BUFFER13                                                       NVARCHAR2(150)
 BUFFER14                                                       NVARCHAR2(150)
 BUFFER15                                                       NVARCHAR2(150)
 BUFFER16                                                       NVARCHAR2(150)
 BUFFER17                                                       NVARCHAR2(150)
 BUFFER18                                                       NVARCHAR2(150)
 BUFFER19                                                       NVARCHAR2(150)
 BUFFER20                                                       NVARCHAR2(150)
 REMARK                                                         NVARCHAR2(200)
 CREATEDATE                                                     DATE
 CREATEBY                                                       NVARCHAR2(50)
 LASTUPDATEDATE                                                 DATE
 LASTUPDATEBY                                                   NVARCHAR2(50)
 RESERVE_COUNT                                                  NVARCHAR2(80)

2、源端导出表数据

(1)导出数据

expdp mesprd/Mes1qaz#EDC dumpfile=S_MESPRD_Tables_PREPRESS_MES_VERSION_NO.dmp logfile=S_MESPRD_Tables_PREPRESS_MES_VERSION_NO.log DIRECTORY=backup_mes \ 
tables=PREPRESS_MES_VERSION_NO version=11.2.0.4.0

. . exported "MESPRD"."PREPRESS_MES_VERSION_NO" 226.1 MB 1229048 rows

(2)传输数据到目标端(表名更改)

scp -r S_MESPRD_Tables_PREPRESS_MES_VERSION_NO.dmp oracle@10.40.0.230:/backup/expdp

3、查看目标表

select count(*) from mes_prd.PREPRESS_MES_VERSION_NO; --无此表
select count(*) from mes_prd.mes_version_no;     --数据表数量为0

4、导入数据

impdp mes_prd/mes800 dumpfile=S_MESPRD_Tables_PREPRESS_MES_VERSION_NO.dmp logfile=S_MESPRD_Tables_PREPRESS_MES_VERSION_NO_imp_3.log DIRECTORY=backup_mes remap_schema=MESPRD:MES_PRD remap_tablespace=mesprd_tbsp:mes_prd
. . imported "MES_PRD"."PREPRESS_MES_VERSION_NO" 226.1 MB 1229048 rows

5、将数据插入到新表

INSERT INTO mes_prd.mes_version_no (
ROW_ID,
CREATEDATE,
CREATEBY,
LASTUPDATEDATE,
LASTUPDATEBY,
ENABLEFLAG,
COID,
FACTORYID,
VERSION_NO,
SALESMAN,
VN_STATUS,
RESERVE,
BUILD_TYPE,
FROM_VERSION_NO,
BUFFER1,
BUFFER2,
BUFFER3,
BUFFER4,
BUFFER5,
BUFFER6,
BUFFER7,
BUFFER8,
BUFFER9,
BUFFER10,
BUFFER11,
BUFFER12,
BUFFER13,
BUFFER14,
BUFFER15,
BUFFER16,
BUFFER17,
BUFFER18,
BUFFER19,
BUFFER20)
SELECT
ID AS ROW_ID,
DATETIME_CREATED AS CREATEDATE,
USER_CREATED AS CREATEBY,
DATETIME_MODIFIED AS LASTUPDATEDATE,
USER_MODIFIED AS LASTUPDATEBY,
'Y' ENABLEFLAG,
COID,
FACTORYID,
VERSION_NO,
SALESMAN,
VN_STATUS,
RESERVE,
BUILD_TYPE,
FROM_VERSION_NO,
BUFFER1,
BUFFER2,
BUFFER3,
BUFFER4,
BUFFER5,
BUFFER6,
BUFFER7,
BUFFER8,
BUFFER9,
BUFFER10,
BUFFER11,
BUFFER12,
BUFFER13,
BUFFER14,
BUFFER15,
BUFFER16,
BUFFER17,
BUFFER18,
BUFFER19,
BUFFER20 
FROM
PREPRESS_MES_VERSION_NO;

--导入时注意唯一约束和重复值
DELETE FROM PREPRESS_MES_VERSION_NO WHERE VERSION_NO = 'B2066520G1' AND ID != '04119abdd77a4a26b901e70ad032def7'
本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2024年4月7日

admin

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

COPYRIGHT © 2022 拓扑园. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鲁ICP备2021020523号

鲁ICP备2021020523号