项目中需要使用Oracle的增量同步功能,需要打开Oracle的CDC开关,同时涉及到了相应日志的优化工作。
1. 打开归档日志开关(启动LogMiner)
a. 使用有DBA权限的用户登录Oracle
b. 检查数据库日志模式
SQL> select log_mode from v$database;
如果结果是ARCHIVELOG,可以转至步骤2。
如果结果是NOARCHIVELOG,执行下面SQL命令
SQL> shutdown immediate; # Shut down the database
SQL> startup mount; # Start up and mount the database
SQL> alter database archivelog; # enable archiving
SQL> alter database open; # open the database
查看存储路径
select dest_id,name from v$archived_log;
2. 启用 Supplemental Logging
为了从日志里获取数据,LogMiner需要启用数据库或表的supplemental logging。Supplemental logging又分为identification key logging和full supplemental logging。Identification key logging只包含主键和发生改变的字段数据,而full supplemental logging包含了所有字段的数据,这两种根据需求选择一种即可。
启用Identification key logging
可以指定一张表启用
ALTER D