由于有Sqoop,可以先抽取在hdfs,然后在export,为了保持格式完全一致,采用ogg进行初始化,相对初始化时间会边长
启动抽取进程后再启动初始化进程
源: 初始提取配置
EDIT PARAMS INEXT
SOURCEISTABLE
sourcedb dsn001,userid ogg password ogg1234
RMTHOST 10.10.185.153,mgrport 7839
RMTFILE ./dirdat/ex,maxfiles 500,megabytes 1024,purge
TABLE dbo. xxx;
-- maxfiles 500,megabytes 1024,purge
-- megabytes 1024 由于队列文件最大为2G,不指定分割大表回传送失败,同时配置大小不要超过2G,本利配置1G大小
目标: 初始加载配置
EDIT PARAMS INLOAD
SPECIALRUN
END RUNTIME
userid c##ogg@BIGDATAPDB,password ogg
EXTFILE ./dirdat/ex
SOURCEDEFS ./dirdef/t001.def
map dbo.*,target xx.*;
如果表数据量偏大,可以开启多进程抽取
源: 提取数据到目标文件夹
extract paramfile dirprm/inext.prm reportfile dirrpt/inext.rpt
目标: 加载数据到表
replicat paramfile dirprm/inload.prm
报错
OGG-02188 Oracle GoldenGate Capture, MCJUE_3.prm: Unexpected LOB record or record fragment in
主要是lob字段会出现分布在不同trial文件中,导致该问题
通过logdump检查事务点,将进程加入检查点后,跳过报错事务,嫌麻烦可以尝试sqoop
logdump
open [trial]
pos []
ghdr on
ggstoken detail
detail on
detail data
usertoken on
sfet 跳到事务最后一条
n 查看rba pos
-- 跳过事务
alter replicat rep_mi01,extseqno 12,extrba 49635641
sqoop 抽取需删除特殊字符,加入 -hive-drop-import-delims
初始化过程中Oracle 归档事务日志满,造成进程等待
先手动删除归档日志
rman target /
delete archivelog all -- 清空,可以选择删除失效日志
调整参数

image.png
进入Oracle客户端
create pfile='/tmp/a.pfile' from spfile
-- sga_target sga_max pga_target 10g 10g 2g
alter system set xx =10g scope=spfile
shutdown immediate
startup