文档解释
ORA-31428: no publication contains all the specified columns
Cause: One or more of the specifed columns cannot be found in a single publication.
Action: Change the subscription request to select only columns that are in the same publication. Consult the USER_PUBLISHED_COLUMNS view to see current publications.
ORA-31428 错误指的是某个publication中不存在指定的列(columns),也就是特定的表或视图中没有被publication所指定,无法更新变更信息。
官方解释
ORA-31428 signals that the requested column(s) have not been published by the specified publication. To resolve this error, add the required columns to the relevant publication or review the publication to ensure that the column(s) is (are) available.
常见案例
ORA-31428 常见于下列任务中:在translation job中引用某个publication,但是此publication中的某些被引用的列却不存在,在这种情况下就会产生ORA-31428,有可能是SQL脚本中引用的publication与已存在的publication不匹配,或者这些columns不包含在该publication中。
一般处理方法及步骤
1、检查已发布的columns是否与SQL脚本中指定的publication相符;
2、如果不符,则检查SQL脚本中引用的publication是否与已经存在的publication相符;
3、如果publication和columns相符,就解决此错误,否则就将需要更新的columns添加到该publication中去;
4、重新发布publication,最后再重新审查publication中更新的columns,以确保没有漏掉任何columns。