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: John Darrah <darrah.john_at_gmail.com>
Date: Wed, 11 Apr 2007 08:41:22 -0600
Message-ID: <ec40ac060704110741n4f36e18dgf3c70a846e689034@mail.gmail.com>


There is a bug in 10.2.0.2 that presents as 4031 errors when rebuilding indexes with the compute statistics clause. It causes state objects to be created in the shared pool that are never destroyed. Flushing will not help, only a bounce will clean these objects up. Perhaps by increasing your PGA Oracle reallocated some memory from the shared pool and caused you to hit this error during your gather stats job when you previously had enough head room to get through. I believe 10.2.0.3 has a fix for this problem. I would verify with Oracle support that this is what you hit since the only thing I am basing this theory on is that you got the same error that the bug produces.

On 4/11/07, Don Seiler <don_at_seiler.us> wrote:
>
> 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
>
>
>

--
http://www.freelists.org/webpage/oracle-l
Received on Wed Apr 11 2007 - 09:41:22 CDT

Original text of this message

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