
# 在实时集成作业中，当Oracle作为源端时，若使用SYS/SYSTEM等管理员用户对普通数据表执行DDL变更，作业日志中未查找到该DDL操作，且DDL也未同步至目标端，应如何处理？
#### 问题描述
在实时集成作业中，当Oracle作为源端时，若使用SYS/SYSTEM等管理员用户对普通数据表执行DDL变更，作业日志中未查找到该DDL操作，且DDL也未同步至目标端。
#### 原因分析
Migration在读取Oracle源端DDL日志时会过滤掉系统用户（SYS/SYSTEM）的日志信息，因为SYS/SYSTEM用户通常会执行一些敏感操作（如修改密码）。出于安全考虑，Migration不会读取SYS/SYSTEM的操作日志。
#### 解决方案
SYS用户一般仅用于数据库的管理操作，不建议用于业务库数据的操作。业务数据的操作应使用普通用户进行处理，这样更符合[Oracle官方文档](https://docs.oracle.com/cd/B28359_01/server.111/b28301/users_secure.htm#ADMQS12003)关于数据库管理与业务数据操作权限管控及分离的概念。
Oracle官方警告：当以SYS用户连接数据库时，SYS用户对数据库中的数据字典（包括数据库表、视图、索引、函数、触发器等内容）拥有无限权限，请勿修改任何数据字典。
一般情况下，普通表属于业务数据，通常使用普通用户对业务表进行DDL/DML操作。因此，建议在源端对Oracle普通数据表进行DDL操作时使用普通用户。
