文档首页/ 数据治理中心 DataArts Studio/ 常见问题/ 数据集成(实时作业)/ 在实时集成作业中,当Oracle作为源端时,若使用SYS/SYSTEM等管理员用户对普通数据表执行DDL变更,作业日志中未查找到该DDL操作,且DDL也未同步至目标端,应如何处理?
更新时间:2026-06-25 GMT+08:00
在实时集成作业中,当Oracle作为源端时,若使用SYS/SYSTEM等管理员用户对普通数据表执行DDL变更,作业日志中未查找到该DDL操作,且DDL也未同步至目标端,应如何处理?
问题描述
在实时集成作业中,当Oracle作为源端时,若使用SYS/SYSTEM等管理员用户对普通数据表执行DDL变更,作业日志中未查找到该DDL操作,且DDL也未同步至目标端。
原因分析
Migration在读取Oracle源端DDL日志时会过滤掉系统用户(SYS/SYSTEM)的日志信息,因为SYS/SYSTEM用户通常会执行一些敏感操作(如修改密码)。出于安全考虑,Migration不会读取SYS/SYSTEM的操作日志。
解决方案
SYS用户一般仅用于数据库的管理操作,不建议用于业务库数据的操作。业务数据的操作应使用普通用户进行处理,这样更符合Oracle官方文档关于数据库管理与业务数据操作权限管控及分离的概念。
Oracle官方警告:当以SYS用户连接数据库时,SYS用户对数据库中的数据字典(包括数据库表、视图、索引、函数、触发器等内容)拥有无限权限,请勿修改任何数据字典。
一般情况下,普通表属于业务数据,通常使用普通用户对业务表进行DDL/DML操作。因此,建议在源端对Oracle普通数据表进行DDL操作时使用普通用户。
父主题: 数据集成(实时作业)