ITPub博客

首页 > 数据库 > 数据库开发技术 > 目标端迁移OGG目录未停源端投递进程重建OGG同步过程记录

目标端迁移OGG目录未停源端投递进程重建OGG同步过程记录

原创 数据库开发技术 作者:oracle_jacky 时间:2024-05-10 08:08:00 0 删除 编辑

问题描述:

因 Oracle 19C 目标端ASM 空间紧张,计划将目标端通过mount挂载的/ogg目录移动到 根目录下,并创建同样/ogg目录。

在操作前,首先在目标端将ogg mgr及应用进程都停了。然后对/ogg目录打tar包。并解压到/ogg_bak目录下,修改了属组和权限,并将目标端OGG  MGR进程及应用进程都重新启动。

然而目标端应用进程启动没多久,查看源端进程当前状态,发现源端投递进程APPEND了,通过其报错日志显示如下:

导致源端和目标端无法正常同步,再次手工重启源端投递进程依然报次错误。


问题原因:

导致ogg无法同步的原因就在于在目标端将MGR进程和应用进程都停了后,源端投递进程依然在往源端写,而此时目标端打的tar包未将源端写的信息同时拷贝过去,导致源端和目标端无法接应上,最终无法同步。


处理过程:

首先根据查询到的资料,进行了如下处理:

在源端执行如下操作:

alter extract EXA etrollover
alter extract EXA, tranlog, begin 2021-12-13 11:00
alter extract exa,extseqno 0,extrba 0

并将源端和目标端 dirdat目录下的相关内容都删除,然后按照之前曾在源端ogg心跳表里查询到的 scn号,在目标端执行start rta,aftercsn 695866867417

发现源端和目标端未建立同步。

后来又尝试将源端投递进程删除,再手工执行  ADD EXTRACT 操作依然未能成功。


后来就听从潘工建议将源端投递进程及抽取进程都delete,目标端应用进程也delete,并且将两端dirdat目录下的文件都删除。

在源端执行如下操作:

ADD EXTRACT exa,TRANLOG,BEGIN 2021-12-13 10:30,THREADS 3     --此时间参照源端OGG心跳表查询到的SCN 对应时间,并将时间往前退役了一段

ADD EXTTRAIL ./dirdat/ea, EXTRACT exa MEGABYTES 500 

ADD EXTRACT dpa EXTTRAILSOURCE ./dirdat/ea

ADD RMTTRAIL /ogg/dirdat/ra, EXTRACT dpa


然后分别启动源端抽取进程及投递进程


目标端执行

ADD EXTRACT dpa EXTTRAILSOURCE ./dirdat/ea

ADD RMTTRAIL /ogg/dirdat/ra, EXTRACT dpa

然后在目标端执行 start rta,aftercsn 695866867417                       --此SCN号来源于源端OGG心跳表查询到SCN信息


观察源端和目标端OGG日志,未再有报错,同步正常。



总结:

如迁移目标端/ogg目录,停止目标端MGR进程和应用进程前,一定要先将源端投递进程停止,避免往目标端写入,导致最后两段信息无法接应上。


原文作者:尚雷的驿站;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
现供职于某上市互联网公司担任DBA,荣获 PG ACE称号,拥有 Oracle OCM、AWS等及国产数据库等产品认证。喜欢技术分享,热爱交友,也热爱健身。

注册时间:2024-01-01

  • 博文量
    68
  • 访问量
    45430