ORA-600[KGL-heap-size-exceeded] And Concurrency Issues After Failure To Compile An Invalid AFTER ALTER ON DATABASE Trigger With Query Rewrite Enabled And Materialized Views
(Doc ID 2385185.1)
Last updated on AUGUST 04, 2018
Applies to:Oracle Database - Enterprise Edition - Version 220.127.116.11 and later
Information in this document applies to any platform.
In a database that has an AFTER ALTER ON DATABASE trigger enabled, if this trigger becomes invalid and cannot be recompiled, and the database has materialized views (mviews) with queries that rewrite to them, then a number of symptoms can occur:
- Queries will not rewrite to the mviews if query_rewrite_integrity is set to its default value (enforced), since the data in the mviews becomes stale but they cannot be recompiled
- Continuous attempts to compile the mview result in many ORA-04045: errors during recompilation/revalidation errors concerning the trigger recompilation
- Once the trigger is corrected or disabled, ORA-600[KGL-heap-size-exceeded] errors begin occurring when loading mviews into the library cache, and high concurrency is observed in the database
Call stack for ORA-600[KGL-heap-size-exceeded]
<- kqlCallback <- kqllod <- kglobld <- kglobpn <- kglpim <- kglpin <- kglgob <- qsmqgso
<- kkqsLoadKglSummary <- kkqsGetSum <- kkqslsum <- kkqspsum <- kkqsedrv <- kkqsrqb
<- kkqsRewriteCurrentQB <- kkqscqb <- kkqsptq <- kkqsptqur <- kkqsrdrv <- kkqdrv <- opiSem
<- opiDeferredSem <- opitca <- kksFullTypeCheck <- rpiswu2 <- kksSetBindType <- kksfbc
<- opiexe <- opipls <- opiodr <- rpidrus <- skgmstack <- rpidru <- rpiswu2 <- rpidrv
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!