Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> tuning shared pool
--0-760313750-974911488=:8612
Content-Type: text/plain; charset=us-ascii
On oracle's "resolving ora-4031" paper (note # 61623.1) they state the following - "All large packages that are shipped should be 'kept' if the customer uses PL/SQL. This includes 'STANDARD', 'DBMS_STANDARD', and 'DIUTIL'. With 7.3, the only package left in this list is 'STANDARD'." What about in 8i? Are there other packages that should be kept?
Another question. I have a package that is called on average every 5 seconds and is already pinned in memory. The package is about 100 lines long and according to v$db_object_cache is about 8k in size. However one very simple query in that package is showing up in v$db_object_cache with a size of over 400k. Why would a simple query against one table consume so much sharable memory? Here's the query:
SELECT p.person_org_id
INTO vrep_person_id
FROM mc.person p
WHERE p.user_id = Lower(pUser_id)
and active_user_id_ind = 'Y';
It translates into this in the shared pool...
SELECT P.PERSON_ORG_ID FROM MC.PERSON P WHERE P.USER_ID = LOWER(:b1) AND ACTIVE_USER_ID_IND = 'Y'
Last question. Is there anything in 8i that can be done to duplicate the functionality of the old SHARED_POOL_RESERVED_SIZE and SHARED_POOL_RESERVED_MIN_ALLOC parameters. I miss these sorely on every 8i instance. In most cases I've needed to dramatically increase the size of my shared pool because these parameters no longer exist.
<P align=left>On oracle's "resolving ora-4031" paper (note # 61623.1) they state the following - "All large packages that are shipped should be 'kept' if the customer uses PL/SQL. This includes 'STANDARD', 'DBMS_STANDARD', and 'DIUTIL'. With 7.3, the only package left in this list is 'STANDARD'." What about in 8i? Are there other packages that should be kept?</P>
<P align=left>Another question. I have a package that is called on average every 5 seconds and is already pinned in memory. The package is about 100 lines long and according to v$db_object_cache is about 8k in size. However one very simple query in that package is showing up in v$db_object_cache with a size of over 400k. Why would a simple query against one table consume so much sharable memory? Here's the query:</P><FONT color=#0000f0 size=2>
<P>SELECT</FONT><FONT color=#000000 size=2> p</FONT><FONT color=#0000f0 size=2>.</FONT><FONT color=#000000 size=2>person_org_id<BR></FONT><FONT color=#0000f0 size=2>INTO</FONT><FONT color=#000000 size=2> vrep_person_id<BR></FONT><FONT color=#0000f0 size=2>FROM</FONT><FONT color=#000000 size=2> mc</FONT><FONT color=#0000f0 size=2>.</FONT><FONT color=#000000 size=2>person p<BR></FONT><FONT color=#0000f0 size=2>WHERE</FONT><FONT color=#000000 size=2> p</FONT><FONT color=#0000f0 size=2>.</FONT><FONT color=#000000 size=2>user_id </FONT><FONT color=#0000f0 size=2>=</FONT><FONT color=#000000 size=2> Lower</FONT><FONT color=#0000f0 size=2>(</FONT><FONT color=#000000 size=2>pUser_id</FONT><FONT color=#0000f0 size=2>)</FONT><FONT color=#0000f0 size=2><BR>and</FONT><FONT color=#000000 size=2> active_user_id_ind </FONT><FONT color=#0000f0 size=2>=</FONT><FONT color=#000000 size=2> </FONT><FONT color=#ff0000 size=2>'Y'</FONT><FONT color=#0000f0 size=2>;</FONT></P>
<P><FONT size=2><FONT color=black>It translates into this in the shared pool...</FONT></P></FONT>
<P align=left>SELECT P.PERSON_ORG_ID FROM MC.PERSON P WHERE P.USER_ID = LOWER(:b1) AND ACTIVE_USER_ID_IND = 'Y'</P>
<P align=left>Last question. Is there anything in 8i that can be done to duplicate the functionality of the old SHARED_POOL_RESERVED_SIZE and SHARED_POOL_RESERVED_MIN_ALLOC parameters. I miss these sorely on every 8i instance. In most cases I've needed to dramatically increase the size of my shared pool because these parameters no longer exist.<BR></P><p><br><hr size=1><b>Do You Yahoo!?</b><br>
<a href="http://shopping.yahoo.com/">Yahoo! Shopping</a> -
Thousands of Stores. Millions of Products.
Received on Wed Nov 22 2000 - 10:44:48 CST