LOGSTDBY status: ORA-16227: DDL skipped due to missing object

zhang41082發表於2019-05-02
一個邏輯standby的庫,當在主庫上建立索引的時候,standby的庫就會報一個LOGSTDBY status: ORA-16227: DDL skipped due to missing object錯誤出來,按照錯誤的提示,仔細核對了主庫和standby庫上的表,發現這個表明明存在的,怎麼會報missing object的錯誤呢??看看dba_logstdby_skip檢視,也沒有過濾掉這個建索引的語句啊,它怎麼就會莫名奇妙的被skip了呢?google了半天,沒有結果,看來還是metalink吧,結果找到了答案,一個bug,前幾天整天看見大家叫,說10Gbug滿天飛,唉,我也碰上了一大堆,不過還好,沒有碰上很棘手的!下面來看看metalink上是怎麼說的吧。[@more@]

上面說如果在主庫上使用online關鍵字來建立索引,就會導致邏輯standby上導致這個bug發生,暈,生產庫要建立索引,才有幾個是不需要online的啊?oracle這個bug也有點搞了。

Bug 3023540 "Create index ... online" does not create index on logical standby

Affects:
Product (Component) Oracle Server (Rdbms)
Range of versions believed to be affected Versions < 11
Versions confirmed as being affected
10.2.0.2
10.2.0.3

Platforms affected Generic (all / most platforms affected)

Fixed:
This issue is fixed in 10.2.0.4 (Server Patch Set)
11.1.0.6 (Base Release)

Description
Create Index Online statements may be skipped by a Logical Standby.

An error appears in the DBA_LOGSTDBY_EVENTS table:

ORA-16227: DDL skipped due to missing object

Workaround:
Execute the Create Index statement without the ONLINE clause on the
primary, or execute the Create Index Online statement directly on the
Logical Standby.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25016/viewspace-1000844/,如需轉載,請註明出處,否則將追究法律責任。

相關文章