Ø How many times did you execute that child cursor?
Ah, that’s the point. Only after the 3rd execution the cursor gets cached by
the session. After that it doesn’t get evicted from the shared pool that
easily. Consequently, I’ll try to extend the life expectancy in the shared pool
by increasing session_cached_cursors. On a low-activity test database the SQL
doesn’t get evicted for the long time even when the cursor isn’t cached by a
session.
By the way, this list is attended by many smart people, and it trumps any payed
support by far. Whenever I ask a (at least, for me) non-trivial question not
only do I quickly get a solution, but I also learn a bunch of new stuff. I’m so
grateful for all the advice I’ve received so far.
Best regards,
Nenad
https://nenadnoveljic.com/blog/
From: Tanel Poder <tanel@xxxxxxxxxxxxxx>
Sent: Dienstag, 3. März 2020 22:24
To: Noveljic Nenad <nenad.noveljic@xxxxxxxxxxxx>
Cc: jonathan@xxxxxxxxxxxxxxxxxx; ORACLE-L (oracle-l@xxxxxxxxxxxxx)
<oracle-l@xxxxxxxxxxxxx>
Subject: Re: shared pool evictions
How many times did you execute that child cursor?
If you execute it only once (pinned only twice), the cursor's recreatable chunk
will stay in the transient part of the LRU list. If you execute it more times,
but a new child gets created after the last exec, then the new child would have
been executed only once and can age out quicker than previous multi-executed
cursors.
I don't know of any X$ or dumps that would tell you whether a chunk is in
transient or recurrent part of the LRU list, but you can see the current totals
from X$KGHLU:
SQL> @kghlu
SUB SSUB FLUSHED LRU LIST RECURRENT TRANSIENT FREE UNPIN
LAST FRUNP RESERVED RESERVED RESERVED RESERVED
POOL POOL CHUNKS OPERATIONS CHUNKS CHUNKS UNSUCCESS
UNSUCC SIZE SCANS MISSES MISS SIZE MISS MAX SZ
---------- ---------- ---------- ---------- ---------- ---------- ----------
----------- ---------- ---------- ---------- -----------
1 0 4966364 15091924 14034 14898 0
0 8694 0 0 0
That's why when I do live demos that require the cursor to be around for a bit
longer, I run my demo queries 2-3 times (executions 2 should be enough though).
Also, if your shared pool is split into multiple subpools, what happens to get
aged out depends on whatever subpool some other shared pool allocator defaults
to using.
--
Tanel Poder
https://tanelpoder.com/conference
____________________________________________________
Please consider the environment before printing this e-mail.
Bitte denken Sie an die Umwelt, bevor Sie dieses E-Mail drucken.
<html xmlns="http://www.w3.org/1999/xhtml";>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">p { font-family: Arial;font-size:9pt }</style>
</head>
<body>
<p>
<br>Important Notice</br>
<br />
This message is intended only for the individual named. It may contain
confidential or privileged information. If you are not the named addressee you
should in particular not disseminate, distribute, modify or copy this e-mail.
Please notify the sender immediately by e-mail, if you have received this
message by mistake and delete it from your system.<br />
Without prejudice to any contractual agreements between you and us which shall
prevail in any case, we take it as your authorization to correspond with you by
e-mail if you send us messages by e-mail. However, we reserve the right not to
execute orders and instructions transmitted by e-mail at any time and without
further explanation.<br />
E-mail transmission may not be secure or error-free as information could be
intercepted, corrupted, lost, destroyed, arrive late or incomplete. Also
processing of incoming e-mails cannot be guaranteed. All liability of Vontobel
Holding Ltd. and any of its affiliates (hereinafter collectively referred to as
"Vontobel Group") for any damages resulting from e-mail use is excluded. You
are advised that urgent and time sensitive messages should not be sent by
e-mail and if verification is required please request a printed version.</br>
Please note that all e-mail communications to and from the Vontobel Group are
subject to electronic storage and review by Vontobel Group. Unless stated to
the contrary and without prejudice to any contractual agreements between you
and Vontobel Group which shall prevail in any case, e-mail-communication is for
informational purposes only and is not intended as an offer or solicitation for
the purchase or sale of any financial instrument or as an official confirmation
of any transaction.<br />
The legal basis for the processing of your personal data is the legitimate
interest to develop a commercial relationship with you, as well as your consent
to forward you commercial communications. You can exercise, at any time and
under the terms established under current regulation, your rights. If you
prefer not to receive any further communications, please contact your client
relationship manager if you are a client of Vontobel Group or notify the sender.
Please note for an exact reference to the affected group entity the corporate
e-mail signature.
For further information about data privacy at Vontobel Group please consult <a
href="https://www.vontobel.com";>www.vontobel.com</a>.<br />
</p>
</body>
</html>