cdc oracle 增量读取,需要哪些权限呢,oracle 线上实例开启补充日志后,会多出1.5

cdc oracle 增量读取,需要哪些权限呢,oracle 线上实例开启补充日志后,会多出1.5T 的日志?

展开
收起
雪哥哥 2022-10-31 18:53:17 484 分享 版权
阿里云 AI 助理回答

为了实现Oracle数据库的CDC(Change Data Capture)增量读取,确保数据同步或迁移任务能够捕获到数据库的变更信息,您需要进行一系列配置并为执行此任务的数据库账号授予特定权限。同时,关于开启补充日志后日志量增加的问题,这里也一并说明。

必要权限与配置

  1. 开启补充日志

    • 库级别补充日志:通过执行SQL命令检查和设置,如已开启则无需重复操作。
      SELECT supplemental_log_data_min, supplemental_log_data_pk,supplemental_log_data_ui FROM v$database;
      exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD', 'PRIMARY KEY');
      exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD', 'UNIQUE');
      
    • 表级别补充日志:根据需求选择性开启,以节约磁盘空间或提高稳定性。
      exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD', 'ALL');
      
  2. 数据库账号权限

    • 对于增量任务,如果不能授予DBA角色,需精细化授权,包括但不限于查询系统视图、执行DML操作以及访问归档和在线重做日志相关的权限。
      grant select on V_$LOGMNR_LOGS to oms_user;
      grant select on all_objects to oms_user;
      grant select any table to oms_user;
      grant select any transaction to oms_user;
      ...
      
  3. 其他必要权限

    • 用于读取数据库时间、字符集、RAC信息等,以支持CDC功能正常运行。
      GRANT SELECT on DBA_MVIEW_LOGS to oms_user;
      GRANT SELECT on DUAL to oms_user;
      GRANT SELECT on GV_$INSTANCE to oms_user;
      GRANT SELECT on NLS_DATABASE_PARAMETERS to oms_user;
      

关于日志大小增加问题

开启补充日志确实可能增加日志生成量,尤其是当大量数据发生变化时。1.5T的日志增长表明补充日志记录了大量事务细节,这直接关系到数据库活动的频繁程度和数据变更量。为了管理日志大小,可以考虑以下几点:

  • 表级别补充日志:相比库级别,更精确地控制哪些表开启补充日志,减少不必要的日志生成。
  • 归档策略:确保有效的归档机制,定期清理不再需要的归档日志,以释放存储空间。
  • 监控与调整:持续监控日志生成速率,并根据实际情况调整补充日志策略,平衡数据捕获的完整性与存储成本。

综上所述,实施Oracle CDC增量读取不仅需要正确配置补充日志,还需要为执行任务的账号赋予恰当的权限。同时,合理管理日志生成与归档是控制存储成本的关键。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

收录在圈子:
实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
还有其他疑问?
咨询AI助理