问题:oracle 到kafka,需要开启全字段附加或者主键附加
现象:有可能客户没开但是反馈说开了
解决方案
库级:
开启最小补充日志:
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
在数据库级别开启所有列的补充日志:
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
在数据库级别开启主键的补充日志:
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
在数据库级别开启唯一索引的补充日志:
 ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;
在数据库级别开启外键的补充日志:
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS;
 
关闭补充日志: ALTER DATABASE DROP SUPPLEMENTAL LOG DATA (ALL) COLUMNS; ALTER DATABASE DROP SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;
ALTER DATABASE DROP SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
ALTER DATABASE DROP SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS;
ALTER DATABASE DROP SUPPLEMENTAL LOG DATA;
 
查询是否库级附加日志
SELECT force_logging, supplemental_log_data_min ,supplemental_log_data_pk ,supplemental_log_data_ui ,supplemental_log_data_fk ,supplemental_log_data_all FROM v$database;
supplemental_log_data_min 最小附加日志
supplemental_log_data_pk 记录所有变化记录主键
supplemental_log_data_ui 记录所有变化记录唯一索引
supplemental_log_data_fk 记录所有变化记录全部列
 
 
 
表级:
单表级别开启配置
开启表级补充日志前,先开启数据库级最小补充日志:
 
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
对单个表的所有列开启补充日志:
 
ALTER TABLE hr.employees ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
对单个表的主键开启补充日志:
 
ALTER TABLE hr.employees ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
对单个表的唯一索引开启补充日志:
 
ALTER TABLE hr.employees ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;
 
注释:hr.employees
HR是OWNER,用户名,库名
employees 是表名
 
单表级别关闭配置
ALTER TABLE hr.employees DROP SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS; ALTER TABLE hr.employees DROP SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS; ALTER TABLE hr.employees DROP SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
 
 
查询是否库级附加日志
select * from dba_log_groups;
select * from ALL_LOG_GROUPS;
 
这两个表都可以