标题: ORA:1578 ORA-26040 On Active Data Guard [打印本页] 作者: 郑全 时间: 2017-3-2 14:58 标题: ORA:1578 ORA-26040 On Active Data Guard
ORA:1578 ORA-26040 On Active Data Guard (文档 ID 1320878.1)
In this Document
Symptoms
Cause
Solution
References
Applies to:
Oracle Server - Enterprise Edition - Version: 11.1.0.7 and later [Release: 11.1 and later ]
Information in this document applies to any platform.
Symptoms
FULL TABLE SCAN fails complaining about a block on ADG due to a NOLOGGING
operation on the primary.
Flashback has been on for both databases
A table TAB_A is created in NOLOGGING. Data is loaded into the table on primary.
Blocks are marked as NOLOGGING in the STANDBY . This is the expected
behaviour
The table TAB_A is dropped.
A new object is created, TAB_B, the new table is using LOGGING option
Data is loaded into the newly table.
While selecting from the new table TAB_B on ADG, the process can fail with
ORA:1578:ORA-26040
The error doesn't reproduce on STANDBY after converting it to PRIMARY
DATABASE is not set in FORCE LOGGING. A table is set with LOGGING
Cause
Bug 9646443 - ORA:1578:ORA-26040 ON ADG
However it was marked as 'not feasible to fix'
It is not possible to distinguish whether the nologging block belongs to this object, or belongs to the previous object that used the data block on ADG.
Note that ADG query does not get accurate space layer information so it has to scan more blocks just to find out if these blocks belong to the object being queried.
However, for the case of nologging block, there is no object information inside the block.
Solution
Use FORCE LOGGING at database level on primary database to avoid the issue with NOLOGGING blocks
References
BUG:9646443 - ORA:1578:ORA-26040 ON ADG