我之前在LOGSTDBY status: ORA-01418,Logical standby問題可真多文中提到有可能是DB自动增加Index,导致Logical standby无法Apply的问题.今天无意间发现了原因,是AP人员在增加UNIQUE Constraints没有指定名称,Oracle自动指派了一个,而此SQL在standby apply时,指定了另一个名称.测试如下:
CREATE TABLE KEVINSUN
(
ID NUMBER,
ENAME VARCHAR2(20 BYTE),
CNAME VARCHAR2(20 BYTE)
)
;
ALTER TABLE KEVINSUN ADD (
UNIQUE (ID)
USING INDEX
;
主库上生成了一个名为SYS_C0013150的index,而备库上生成了一个名称为SYS_C0014150的Index.