海量数据处理_数据泵分批数据迁移

简介: 根据系统规划,需要将包含2亿条记录的表从A系统迁移到B系统(均为AIX+ORACLE10.2),主要问题是需要在半个小时的投产窗口内完成迁移。根据此要求,采用分批expdp/impdp方式实现。

根据系统规划,需要将包含2亿条记录的表从A系统迁移到B系统(均为AIX+ORACLE10.2),主要问题是需要在半个小时的投产窗口内完成迁移。
根据此要求,采用分批expdp/impdp方式实现。假设投产日为D日:
  * 第一批,在D-1日8点,迁移D-1日之前(  * 第二批,在D日0点,迁移D-1日(>=D-1且

  如果投产日D日为20110709,则各批次数据为:
  * 第一批,在20110708日8点,迁移20110708日之前的余额数据;
  * 第二批,在20110710日0点,迁移20110708当日的余额数据;

操作说明:
1,导出
1.1第一批导出
expdp user/pwd parfile=expdp_HIS_BAL.par
注:请根据投产时间修改导出数据范围。

1.2,第二批导出
expdp user/pwd parfile=expdp_HIS_BAL2.par
注:请根据投产时间修改导出数据范围。

2,导入
2.1创建表
sqlplus user/pwd @create_table_ghb.sql

2.2第一批导入
impdp user/pwd parfile=impdp_HIS_BAL.par
注:请根据导出文件修改导入文件列表。

2.3第二批导入
impdp user/pwd parfile=impdp_HIS_BAL2.par
注:请根据导出文件修改导入文件列表。

2.4删除列,创建索引,收集统计信息(根据需要执行)
sqlplus user/pwd @create_index_ghb.sql

----------------------------------------------------------
附件1,expdp_HIS_BAL.par:
PARALLEL=8
DIRECTORY=EXPDP_DIR
DUMPFILE=HIS_BAL%U.dmp
logfile=exp_HIS_BAL.log
tables=HIS_BAL
QUERY=HIS_BAL:"WHERE upddatexclude=index

附件2,expdp_HIS_BAL2.par:
PARALLEL=8
DIRECTORY=EXPDP_DIR
DUMPFILE=HIS_BAL2%U.dmp
logfile=exp_HIS_BAL2.log
tables=HIS_BAL
QUERY=HIS_BAL:"WHERE upddat >= to_date('20110708','YYYYMMDD') and upddatexclude=index

附件3,impdp_HIS_BAL.par:
PARALLEL=8
DIRECTORY=EXPDP_DIR
DUMPFILE=HIS_BAL%U.dmp
logfile=imp_HIS_BAL.log
TABLE_EXISTS_ACTION=APPEND
remap_schema=bocnet:mh

附件4,impdp_HIS_BAL2.par:
PARALLEL=8
DIRECTORY=EXPDP_DIR
DUMPFILE=HIS_BAL2%U.dmp
logfile=imp_HIS_BAL2.log
TABLE_EXISTS_ACTION=APPEND
remap_schema=bocnet:mh


附件5,create_table_ghb.sql:
CREATE TABLE HIS_BAL
( UPDDAT DATE not null,
  ...
)
NOLOGGING
PARTITION BY RANGE(UPDDAT)
( partition p200912 values less than (to_date('20100101','YYYYMMDD')),
  partition p201001 values less than (to_date('20100201','YYYYMMDD')),
  partition p201002 values less than (to_date('20100301','YYYYMMDD')),
  partition p201003 values less than (to_date('20100401','YYYYMMDD')),
  partition p201004 values less than (to_date('20100501','YYYYMMDD')),
  partition p201005 values less than (to_date('20100601','YYYYMMDD')),
  partition p201006 values less than (to_date('20100701','YYYYMMDD')),
  partition p201007 values less than (to_date('20100801','YYYYMMDD')),
  partition p201008 values less than (to_date('20100901','YYYYMMDD')),
  partition p201009 values less than (to_date('20101001','YYYYMMDD')),
  partition p201010 values less than (to_date('20101101','YYYYMMDD')),
  partition p201011 values less than (to_date('20101201','YYYYMMDD')),
  partition p201012 values less than (to_date('20110101','YYYYMMDD')),
  partition p201101 values less than (to_date('20110201','YYYYMMDD')),
  partition p201102 values less than (to_date('20110301','YYYYMMDD')),
  partition p201103 values less than (to_date('20110401','YYYYMMDD')),
  partition p201104 values less than (to_date('20110501','YYYYMMDD')),
  partition p201105 values less than (to_date('20110601','YYYYMMDD')),
  partition p201106 values less than (to_date('20110701','YYYYMMDD')),
  partition p201107 values less than (to_date('20110801','YYYYMMDD')),
  partition p201108 values less than (to_date('20110901','YYYYMMDD')),
  partition p201109 values less than (to_date('20111001','YYYYMMDD')),
  partition p201110 values less than (to_date('20111101','YYYYMMDD')),
  partition p201111 values less than (to_date('20111201','YYYYMMDD')),
  partition p201112 values less than (to_date('20120101','YYYYMMDD')),
  partition p201201 values less than (to_date('20120201','YYYYMMDD')),
  partition p201202 values less than (to_date('20120301','YYYYMMDD')),
  partition p201203 values less than (to_date('20120401','YYYYMMDD')),
  partition p201204 values less than (to_date('20120501','YYYYMMDD')),
  partition p201205 values less than (to_date('20120601','YYYYMMDD')),
  partition p201206 values less than (to_date('20120701','YYYYMMDD')),
  partition p201207 values less than (to_date('20120801','YYYYMMDD')),
  partition p201208 values less than (to_date('20120901','YYYYMMDD')),
  partition p201209 values less than (to_date('20121001','YYYYMMDD')),
  partition p201210 values less than (to_date('20121101','YYYYMMDD')),
  partition p201211 values less than (to_date('20121201','YYYYMMDD')),
  partition p201212 values less than (to_date('20130101','YYYYMMDD')),
  partition pmax values less than (maxvalue)
)
;

附件6,create_index_ghb.sql:
prompt 1,更改日志属性
alter table HIS_BAL logging;

prompt 2,analyze table:
begin
  dbms_stats.gather_table_stats(ownname => user,tabname => 'HIS_BAL',degree => 8);
end;
/

prompt 3,create index

CREATE UNIQUE INDEX PK_HIS_BAL ON HIS_BAL(...)
  LOCAL
  PARALLEL 8
  NOLOGGING;

ALTER INDEX PK_HIS_BAL logging noparallel;

ALTER TABLE HIS_BAL ADD CONSTRAINT PK_HIS_BAL PRIMARY KEY(...)
USING INDEX
LOCAL;

create index IDX_HIS_BAL_UPDDAT on HIS_BAL(UPDDAT)
local
parallel 8
nologging;

ALTER INDEX IDX_HIS_BAL_UPDDAT logging noparallel;

 

目录
相关文章
|
1月前
|
自然语言处理 Java Scala
Flink CDC产品常见问题之大文件整库同步如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
|
1月前
|
数据库 OceanBase 索引
OceanBase迁移服务(OMS)支持不同大小和复杂度的表的迁移
【2月更文挑战第25天】OceanBase迁移服务(OMS)支持不同大小和复杂度的表的迁移
15 3
|
2月前
|
NoSQL 关系型数据库 Redis
DMS问题之归档后数据量和大小没变化如何解决
DMS(Data Management Service)是阿里云提供的一站式数据管理服务,支持数据开发、维护、治理等多种功能;本合集着重于介绍DMS的功能特点、操作流程和最佳实践,帮助用户高效进行数据管理和维护。
50 6
|
1月前
|
数据库
阿里云DTS数据迁移和数据同步的差异性分析
阿里云DTS作为一款常用的数据库表迁移工具,提供了功能非常类似的两个功能:数据迁移、数据同步。阿里云DTS产品官网对这两个功能模块进行了简单的区分: 场景1:存量数据批量迁移,建议使用数据迁移功能。 场景2:增量数据实时同步,建议使用数据同步功能。 实际上,无论是数据迁移还是数据同步,都可以做 “结构初始化”+“全量数据迁移”+“增量迁移”,因此两者功能差异并不明显。笔者在多个项目实践DTS数据迁移,在简单需求场景下,将DTS的数据迁移、数据同步进行对比和总结。
|
7月前
|
SQL 数据采集 数据可视化
需求:公司需要做数据迁移同步,以下是几种常见的ETL工具选型对比
需求:公司需要做数据迁移同步,以下是几种常见的ETL工具选型对比
|
1月前
|
自然语言处理 Java Scala
Flink CDC产品常见问题之大文件整库同步怎么解决
Flink CDC产品常见问题之大文件整库同步怎么解决
|
8月前
|
数据采集 Cloud Native 关系型数据库
实现业务零停机!NineData的PostgreSQL数据迁移能力解析
NineData推出了PostgreSQL业务不停服数据迁移能力。NineData实现了完全自动化的结构迁移和全量数据迁移,并提供了变更数据的迁移能力。这种能力可以实时监听源PostgreSQL中的变更数据,在完成全量迁移后将变更数据实时复制到目标PostgreSQL,实现源/目标PostgreSQL的动态复制。在PostgreSQL数据迁移过程中,业务可以正常提供服务,无需停服。最终,业务可以根据需求选择对应的时间点切换到目标PostgreSQL。
550 1
|
4月前
|
存储 关系型数据库 MySQL
存储成本最高降至原来的5%,PolarDB分布式冷数据归档的业务实践
国内某家兼具投资理财、文化旅游、票务为一体的大型综合型集团公司,2015年成立至今,由于业务高速发展,业务数据增长非常快,数据库系统屡次不堪重负。该公司数据库运维总监介绍,他们目前业务压力比较大的是票务和订单系统,他们的平台每天新增几千万的订单数据,订单的数据来自于各个终端,近几年每个月以300G的数据规模在高速增长,由于数据不断增加,数据库系统迄今为止迭代过了3次。
|
运维 安全 数据库
使用NineData构建任意时间点(PITR)数据恢复能力
使用 NineData (www.ninedata.cloud/backup),快速简单的实现任意时间点数据恢复的能力。另外,NineData 推出的备份数据查询(全量、按时间点)和 数据变更轨迹查询 功能,也能很好的解决数据误删恢复的问题,有效保护企业的核心数据,为企业在数据安全上构筑起最后一道防线。
237 0
使用NineData构建任意时间点(PITR)数据恢复能力
|
存储 XML JSON
如何选择离线数据集成方案-全量&增量
如何选择数据离线集成方式,哪些表适合全量集成,哪些表适合增量集成
619 0
如何选择离线数据集成方案-全量&增量