CDC

·          PostgreSQL数据库需要开启WAL日志归档后,才能使用源CDC组件。开启WAL日志归档的具体操作步骤请参见实时同步常见问题解答中的“PostgreSQL数据库开启WAL日志归档”。

·          MySQLMySQL8数据库需要开启Binlog日志归档后,才能使用源CDC组件。开启Binlog日志归档的具体操作步骤请参见实时同步常见问题解答中的“MySQLMySQL8DRDS数据库开启Binlog”。

·          Oracle数据库使用源CDC组件时需要开启归档日志,启用LogMiner。启用的具体操作步骤请参见实时同步常见问题解答中的“Oracle数据库启动CDC”。

·          达梦数据库使用源CDC组件时需要开启CDCCDC启用的具体操作步骤参见实时同步常见问题解答中的“达梦数据库开启CDC”。

·          Kingbase数据库使用源CDC组件时需要修改Kingbase.conf中的参数,wal_level=logicalmax_replication_slot=10。这两个参数默认被注释,解除注释后,修改wal_levellogical,允许WAL记录逻辑解码所需的信息。max_replication_slots设置支持的复制槽的最大数量,默认为10,可根据需要运行在该数据库上的CDC作业数量修改该值,修改的值要大于作业数。Kingbase数据库如果使用的是普通用户来进行CDC抽取,则需要为普通用户赋予replication权限,赋权命令如下:create user <用户名> password <密码>; alter user <用户名> replication;

·          SQL SERVER数据库使用源CDC组件时,所有要抽取的表都需要开启CDC,且SQLSERVERAGENT服务需要启动。CDC启用的具体操作步骤请参见实时同步常见问题解答中的“SQL SERVER数据库开启CDC”,SQLSERVERAGENT服务的启动方式根据系统环境由用户自行选择合适方式进行开启。

·          当源端数据库所在服务器磁盘空间不足时,会出现源端停止捕获的现象,需要清理磁盘空间后,在源端数据库执行EXEC sys.sp_cdc_start_job命令,源端即可恢复数据捕获。

·          PostgreSQL数据库默认配置10个复制槽,如果同时运行10个以上任务操作PostgreSQL数据库,由于复制槽不足,可能会导致部分任务运行失败。槽位不足的解决方法包含4种,可根据实际情况选择。(1)如果需要同时运行10个以上任务抽取同一PostgreSQL数据库时,可在运行作业前根据需求适当调整PostgreSQL数据库postgresql.conf配置文件中max_replication_slots属性的大小(需重启数据库)。(2)删除已有的源端CDC PostgreSQL作业可释放复制槽。(3)在PostgreSQL数据库客户端执行select pg_drop_replication_slot('作业code')命令手动释放复制槽。

 

CDC组件捕获源数据库所配置的表的数据,将该数据解析传输到目的端进行入库操作。

注意事项

同步DDL注意事项:

参数说明

1.      基本配置

2.      高级配置页签