《Oracle数据迁移梧桐数据库技术解决方案》
1、概述
某某公司考核数仓和应用数仓由Oracle数据库承载。按照总公司数据库国产化要求,计划将Oracle数据库将迁移至梧桐云原生分析型数据库,如何高效快速地将数据迁移至梧桐云原生分析型数据库成为数据库迁移成败关键因素。
2、数据迁移方案
Oracle数据迁移到梧桐云原生分析型数据库采用MapReduce分片抽取加载梧桐云原生分析型数据库方案。具体功能架构如下图所示:

2.1 数据切片
为了提高抽取oracle效率,将oracle表进行均匀切片,多个抽取进程分别负责响应的切片数据,oracle均匀切片实现方式具体如下:
第一、查找抽取数据的区间
select *
from dba_extents
where owner = ‘XXXXXX’
and segment_name = ‘TB_TEST1’
and partition_name=‘DATA_20240101’;

第二、按进程数进行数据切片
根据dbms_rowid.rowid_create计算出每个进程负责抽取的ROWID范围

2.2 数据写入到HDFS
第一、提交MR job,分配每个map负责抽取的范围

第二、Mapper task写入HDFS 
2.3 创建梧桐云原生分析型数据库外部表
1、登录梧梧桐云原生分析型数据库
psql -h -p -U <用户名称> -d
2、创建外部表
psql> create readable external table ext_tb_test1
( STATIS_DATE date,
…
fee1 number(12)
)
LOCATION ( ‘hdfs:///???:???/path/filename.txt’ )
FORMAT ‘TEXT’ ( DELIMITER ‘∈’ );
2.4 数据加载到正式表
insert into xxxxx.tb_test1 select * from ext_tb_test1;
3、业务验证日志
Oracle数据迁移梧桐云原生分析型数据库验证日志如下图所示:



被折叠的 条评论
为什么被折叠?



