ITPub博客

首页 > 数据库 > Oracle > OGG进程异常导致rman归档删除异常RMAN-08137

OGG进程异常导致rman归档删除异常RMAN-08137

原创 Oracle 作者:梦夕林1992 时间:2025-03-03 18:46:35 0 删除 编辑
客户反馈数据库归档最近一个月都没有正常删除,且确认归档删除脚本没有修改
确认归档删除异常报错:
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process

提示很明显,表示归档日志未被删除,因为它仍然被备用数据库(Standby Database)或上游捕获进程(如 Oracle GoldenGate 或Streams)所需要。


恰巧客户环境这两个都有,我们逐一确认:
当前DG检查正常应用,使用最新归档
当前OGG检查点检查,进程需要恢复的检查点也是新的

第三方备份软件确认


近期客户做过ogg迁移升级,再次确认,发现ogg进程从原来的集成模式改为经典模式,故检查dba_capture视图做确认,发现老的进程的信息还在,并未清理掉,基本可以确认是由于老的ogg信息导致,数据库认为该ogg进程还需要这个归档,所以导致归档一直删除异常,如下:


确认该进程不需要后,清理进程信息,如下:
BEGIN
  DBMS_CAPTURE_ADM.DROP_CAPTURE(
    capture_name => 'OGG$CAP_进程名'
  );
END;

/


清理后,再次执行归档删除脚本,可以正常删除。


补充知识:

DBA_CAPTURE展示的信息同 ALL_CAPTURE 视图,用于显示当前用户可以访问的所有捕获进程信息。捕获进程是 Oracle Streams 或 Oracle GoldenGate 中用于捕获数据库变更的组件。

OGG 经典模式的捕获机制
OGG 经典模式通过直接读取数据库的**归档日志(Archive Logs)或在线重做日志(Online Redo Logs)**来捕获变更。 OGG 使用自己的进程(如 Extract 进程)来管理捕获和传输,这些进程与 Oracle Streams 的捕获进程无关。

OGG 集成模式的捕获机制

在集成模式下,OGG 的捕获进程(Extract 进程)与 Oracle 数据库的 LogMiner 组件深度集成。 OGG 通过调用 Oracle 的 Streams 捕获框架来捕获数据库的变更,因此会使用与 Oracle Streams 相同的捕获机制。


因此经典模式的进程信息不会反映在 Oracle 的数据字典视图(如 ALL_CAPTURE)中,集成模式的进程信息会记录在 Oracle 的数据字典视图中,包括 ALL_CAPTURE。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29956245/viewspace-3074668/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: OGG-01937 报错处理
请登录后发表评论 登录
全部评论

注册时间:2014-10-13

  • 博文量
    90
  • 访问量
    85402