反馈已提交

网络繁忙

Oracle环境准备(物理备库-ADG配置)

  • 文档创建者:Wendy123456
  • 历史版本:7
  • 最近更新:Wendy123456 于 2025-12-17
  • 1. 概述

    1.1 版本

    FineDataLink 版本功能变动
    5.0.6.3&4.2.13.3
    实时任务、实时管道读取时,适配物理备库ADG模式

    1.2 应用场景

    Oracle 主库基本都用于支撑业务系统,实时对接 Oracle 主库解析日志取数会给 Oracle 主库带来额外的压力,降低 Oracle 主库的性能从而影响客户业务系统的使用。客户期望在使用实时管道/实时任务对接 Oracle 的同时能够降低对于主库的影响。

    1.3 功能简介

    实时任务、实时管道读取时,适配物理备库ADG模式。本文介绍物理备库ADG模式的数据库准备操作。

    Oracle 主库数据库环境准备请参见:Oracle环境准备(LogMiner)Oracle环境准备(XStream)Oracle环境准备(独立日志解析)

    1.4 使用限制

    1)只适合源表结构变化不频繁的场景。

    因为字典文件是从主库创建的,只记录了创建时的表结构信息,那么后续发生 DDL 以字典文件去解析肯定是错乱的。当发生 DDL 后采集器会因为解析到异常 SQL ,对应表采集异常,实时管道任务也会随之停止。

    用户如果需要按照新的表结构继续同步,只需要重新生成一份字典文件即可。

    2)支持的对接方式为 LogMiner 。

    3)必须要 DDL 归档了才能确保字典一定有新表,不然可能字典文件里会识别不到新加的表。

    2. 前提条件

    确认数据库版本:Oracle 11g 、Oracle 12 C及以上版本才支持 ADG 模式。

    数据库为物理备库 ADG 模式的判断方法:

    SELECT DBID, DB_UNIQUE_NAME, DATABASE_ROLE, OPEN_MODE, CONTROLFILE_TYPE, PROTECTION_MODE
    FROM V$DATABASE;

    返回结果:

    12.png

    • DATABASE_ROLE:代表数据库当前角色,PHYSICAL STANDBY 为物理备库。

    • OPEN_MODE:值为 READ ONLY WITH APPLY 代表 ADG 模式。

    3. 操作步骤

    对于 ADG 备库我们只能读取归档日志(Archived Log),无法读取在线日志(Online redo log)。Logminer 参数也无法使用 DBMS_LOGMNR.CONTINUOUS_MINE 参数,所以只能手动添加日志。

    3.1 创建字典文件

    3.1.1 Oracle 11g 

    需要在主库上创建字典文件,再将字典文件复制至ADG备库上。首次创建字典文件目录可能需要重启主库。

    1)创建字典文件目录

    ALTER SYSTEM SET UTL_FILE_DIR = '/u01/app/oracle/logmnr' SCOPE=SPFILE;

    2)生成字典文件

    DBMS_LOGMNR_D.BUILD(
            DICTIONARY_FILENAME  => 'dictionary.ora',
            DICTIONARY_LOCATION  => '/u01/app/oracle/logmnr',
            OPTIONS              => DBMS_LOGMNR_D.STORE_IN_FLAT_FILE);
    END;

    3.1.2 Oracle 12C 及之后版本

    1)创建字典文件目录

    // SQL指定目录
    CREATE OR REPLACE DIRECTORY LOGMNR_DIR AS '/u01/app/oracle/logmnr';// 在操作系统中创建目录
    # 创建目录(如果不存在)
    sudo mkdir -p /u01/app/oracle/logmnr
     
    # 设置权限
    sudo chown oracle:oinstall /u01/app/oracle/logmnr
    sudo chmod 775 /u01/app/oracle/logmnr

    2)生成字典文件

    BEGIN
        DBMS_LOGMNR_D.BUILD(
            DICTIONARY_FILENAME  => 'dictionary_rac.ora',
            DICTIONARY_LOCATION  => 'LOGMNR_DIR',  -- 使用目录对象名而非路径
            OPTIONS              => DBMS_LOGMNR_D.STORE_IN_FLAT_FILE
        );
    END;

    3.2 日志准备

    详情请参见:Oracle环境准备(LogMiner)

    3.3 用户权限配置

    普通用户权限设置:

    GRANT SELECT ANY TRANSACTION TO <普通用户名>;

    3.4 配置数据连接

    配置 Oracle 数据连接时,需要设置 LogMiner字典文件路 。如下图所示:

    10.png

    3.5 后续步骤

    部署Kafka配置传输队列后,可配置 实时管道任务




    附件列表


    主题: 数据管道
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持