Get the latest tech news
Oracle Shared Pool Internals: Allocated Chunk Status Indicators in Heap Dumps
Over time, Oracle has been adding more contextual information into each allocated heap memory chunk, to make it easier to see what for your heap memory is used. This instrumentation is used for private (PGA,UGA,etc) heaps too, but this article focuses only on shared pool heaps. A few examples from past are: Library cache object hash values added to allocated shared pool chunk names (2010) The above technique is used for some other allocation types too, like KKSSP^NNN allocations that are used for “session pages” that hold various tiny memory structures like library cache lock (and pin in older DB versions) that a session must allocate when accessing library cache objects. - Linux, Oracle, SQL performance tuning and troubleshooting - consulting & training.
Newer Oracle versions print out even more info about chunk status indicators in heap dumps, for example: Thus, you’ll see a lot of freeable chunks if your cursor (or PL/SQL object) requires more than 4kB of memory for its heaps: The heap manager frees entire subheaps when it finds its leading recreatable chunk to be unpinned - there’s no point in freeing only the leading 4kB of a 100kB SQL Area heap and leaving the rest of it in some partially allocated unusable state.
Or read this on Hacker News