Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> RE: gather_stats_job died due to AUTO SGA error

RE: gather_stats_job died due to AUTO SGA error

From: Kerber, Andrew W. <Andrew.Kerber_at_umb.com>
Date: Wed, 11 Apr 2007 07:52:27 -0500
Message-ID: <D40740337A3B524FA81DB598D2D7EBB306F0EF79@x6009a.umb.corp.umb.com>


Usually that error is caused by fragmented shared pool. You can try adding space to the shared pool, or you can try flushing it. 'alter system flush shared pool;'. If the shared pool is really way too small, flushing it will not do you much good. You might try using connection pooling, at the very least it will move the problem into the large pool.

-----Original Message-----
From: oracle-l-bounce_at_freelists.org
[mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Don Seiler Sent: Wednesday, April 11, 2007 3:16 AM
To: oracle_l
Subject: gather_stats_job died due to AUTO SGA error

Guess the fun never ends. I'm (still) on Oracle 10.2.0.2 on RHEL3, 32-bit. I have sga_max_size and sga_target set to 1456M. Nothing SGA related has been adjusted in a few months. One memory-related note is that I did bump pga_aggregate_target from 24M to 512M this past Sunday. The advice table indicates that 1024M would still be a better value. `free` indicates that I have plenty (over 29G) of memory available on the linux box.

My system freaked out around 2:30 AM. Things appear to be fine now that the stats gathering job is dead. Alert log first reports this:

AUTO SGA: Disabling background sga tuning due to err 604 AUTO SGA: Dumping call and error stack to file /u00/app/oracle/admin/xcede/bdump/xcede_mmon_3409.trc

Google gives me nothing on that quoted first line. It went downhill from there. I'll post the rest of the alert log errors at the end. There's a lot of mention of not being able to find the DBMS_UTILITY package, but I can call dbms_utility.compile_schema() just fine at the moment.

Google does tell me that these parameters might be factors in an ORA-04031, so I'm presenting my values:

shared_pool_reserved_size            big integer 31876710
shared_pool_size                     big integer 0

large_pool_size and java_pool_size are also 0, which was done when I switched to ASMM and set sga_target. The first trace file mentioned in the errors below lists this query as being involved:

SELECT java_pool_size_for_estimate s,
  java_pool_size_factor *100 f,
  estd_lc_load_time l,
  0
FROM v$java_pool_advice;

I can run this query fine just now, perhaps the query itself isn't the problem. Obviously I'd rather not have the gather_stats_job die every night and page me at 2:30 AM. I can't raise the SGA too much more on this 32-bit box, and we've been on these ASMM settings for a couple of months now without problem. Any ideas?

Also, is the sga auto tuning still disabled? Where can one check?

Here is the rest of the errors from the alert log:

Wed Apr 11 02:28:42 2007
Errors in file /u00/app/oracle/admin/xcede/bdump/xcede_mmon_3409.trc: ORA-00604: error occurred at recursive SQL level 1 ORA-04031: unable to allocate 16 bytes of shared memory ("shared pool","select j

                     ava_pool_size_for_es...","sql area","tmp")
Wed Apr 11 02:28:58 2007
Errors in file /u00/app/oracle/admin/xcede/bdump/xcede_cjq0_3407.trc: ORA-00604: error occurred at recursive SQL level 1 ORA-04031: unable to allocate 16 bytes of shared memory ("shared pool","select c
                     ount(*) from sys.job...","sql area","tmp")
Wed Apr 11 02:29:45 2007
Errors in file /u00/app/oracle/admin/xcede/bdump/xcede_j001_26571.trc: ORA-12012: error on auto execute of job 182486 ORA-04031: unable to allocate ORA-04031: unable to allocate 16 bytes of shared m
                 emory ("shared pool","select
obj#,type#,ctime,mtim...","sql area","tmp") ORA-06508: PL/SQL: could not find program unit being called:
"SYS.DBMS_UTILITY"
ORA-06512: at "SYS.DBMS_STATS_INTERNAL", line 124
ORA-06512: at "SYS.DBMS_STATS", line 1461
ORA-06512: at "SYS.DBMS_STATS", line 19059
ORA-00604: error occurred at recursive SQL level 2
ORA-04031: unable to allocate 16 bytes of shared memory ("shared
pool","select o
                     bj#,type#,ctime,mtim...","sql area","tmp")
ORA-06508: PL/SQL: could not find program unit being called:
"SYS.DBMS_UTILITY"

ORA-00604: error occurred at recursive SQL level 2 ORA-04031: unable to allocate 16 bytes of shared memory ("shared pool","select o
                     bj#,type#,ctime,mtim...","sql area","tmp")
ORA-06508: PL/SQL: could not find program unit being called:
"SYS.DBMS_UTILITY"

ORA-06512: at "SYS.DBMS_STATS_INTERNAL", line 124 ORA-06512: at "SYS.DBMS_STATS_INTERNAL", line 141 Wed Apr 11 02:29:45 2007
Errors in file /u00/app/oracle/admin/xcede/bdump/xcede_j001_26571.trc: ORA-00604: error occurred at recursive SQL level 2 ORA-04031: unable to allocate 16 bytes of shared memory ("shared pool","select o
                     bj#,type#,ctime,mtim...","sql area","tmp")
ORA-12012: error on auto execute of job 182486 ORA-04031: unable to allocate ORA-04031: unable to allocate 16 bytes of shared m
                 emory ("shared pool","select
obj#,type#,ctime,mtim...","sql area","tmp") ORA-06508: PL/SQL: could not find program unit being called:
"SYS.DBMS_UTILITY"
ORA-06512: at "SYS.DBMS_STATS_INTERNAL", line 124
ORA-06512: at "SYS.DBMS_STATS", line 1461
ORA-06512: at "SYS.DBMS_STATS", line 19059
ORA-00604: error occurred at recursive SQL level 2
ORA-04031: unable to allocate 16 bytes of shared memory ("shared
pool","select o
                     bj#,type#,ctime,mtim...","sql area","tmp")
ORA-06508: PL/SQL: could not find program unit being called:
"SYS.DBMS_UTILITY"

ORA-00604: error occurred at recursive SQL level 2 ORA-04031: unable to allocate 16 bytes of shared memory ("shared pool","select o
                     bj#,type#,ctime,mtim...","sql area","tmp")
ORA-0
Wed Apr 11 02:30:38 2007
Errors in file /u00/app/oracle/admin/xcede/bdump/xcede_cjq0_3407.trc: ORA-00604: error occurred at recursive SQL level 1 ORA-04031: unable to allocate 16 bytes of shared memory ("shared pool","select c
                     ount(*) from sys.job...","sql area","tmp")


-- 
Don Seiler
http://seilerwerks.blogspot.com
--
http://www.freelists.org/webpage/oracle-l



------------------------------------------------------------------------------
NOTICE:  This electronic mail message and any attached files are confidential.  The information is exclusively for the use of the individual or entity intended as the recipient.  If you are not the intended recipient, any use, copying, printing, reviewing, retention, disclosure, distribution or forwarding of the message or any attached file is not authorized and is strictly prohibited.  If you have received this electronic mail message in error, please advise the sender by reply electronic mail immediately and permanently delete the original transmission, any attachments and any copies of this message from your computer system. Thank you.

==============================================================================

--
http://www.freelists.org/webpage/oracle-l
Received on Wed Apr 11 2007 - 07:52:27 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US