Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.tools -> Re: ORA 4031: How to examine?
The 4096 is your block size, not how much memory it needs. Increase the
SHARED_POOL_SIZE again
"Knut Talman" <knut.talman_at_mytoys.de> wrote in message
news:3B456662.3F89A038_at_mytoys.de...
> Hi,
>
> I have a database (Oracle 8.1.7) on a Linux box (SuSE 7.1) with
> 1 GB RAM. At first there were only 512M, I got an ORA 4031, so
> we installed 1G and adjusted the settings in init.ora to
>
> shared_pool_size = 57160800
>
> But we still get the same error when we try to insert a record
> with
>
> INSERT INTO foo VALUES (90826, TO_DATE('5-07-2001 00:00:00',
> 'DD-MM-YYYY HH24:MI:SS'),938);
>
> There is an AFTER INSERT trigger connected with foo which inserts
> some data into fooval.
>
> The error message is:
>
> MSG :ORA-04031: unable to allocate 4096 bytes of shared memory
> ("shared pool","STANDARD","PL/SQL MPCODE","BAMIMA: Bam Buffer")
> ORA-06508: PL/SQL: could not find program unit being called
> ORA-06512: in "SCOTT.fooval"
>
> My question:
>
> After adding memory and adjusting shared pool size we still get
> the same error (4096 bytes). This error does not always come up,
> we can not say when it will exactly happen. Does anyone have an
> idea what we can do to examine this error? And what we can do
> to prevent it (I know we can use dbms_shared_pool to pin large
> packages but this trigger is fairly small)?
>
> Thanks,
>
> Knut
Received on Mon Jul 09 2001 - 21:03:37 CDT
![]() |
![]() |