Hi,
Could anyone give any opinion abot the following error?
OCI-04030: out of process memory when trying to allocate 32768 bytes (Alloc statemen,ttcfopr(): alloc pref buffer)
Is this something related to database shared pool or Heap memory?
Please help. Your reply is appreciated.
Thanks in advance.
OCI-04030: out of process memory
Moderators: chulett, rschirm, roy
-
- Participant
- Posts: 18
- Joined: Wed Aug 05, 2009 12:32 am
- Location: kolkata
OCI-04030: out of process memory
Jayeeta Dutta
-
- Participant
- Posts: 18
- Joined: Wed Aug 05, 2009 12:32 am
- Location: kolkata
The job is fetching data from oracle table through OCI and in Transformer stage look up is being done from 10 hash files and data enter into a sequential file.chulett wrote:It's an operating system process memory issue from the OCI (client) software rather than the database itself. What exactly are you doing in this job? Giant array sizes? CLOB fields? Details, pl ...
Jayeeta Dutta
-
- Participant
- Posts: 18
- Joined: Wed Aug 05, 2009 12:32 am
- Location: kolkata
Inside OCI...the details are:chulett wrote:More details. The error is specific to the OCI stage, what exactly is going on in there? Settings, number / sizes of fields, etc etc etc. ...
Array size - 20000
Prefetch Memory setting - 0
columns are Varchar (size ranges from 3 - 600), timestam(38), decimal(3,2) .
"Disable array fetch" option is not checked.
It is fetching data from a view..
Jayeeta Dutta
-
- Participant
- Posts: 18
- Joined: Wed Aug 05, 2009 12:32 am
- Location: kolkata
Thanks Creig....But you know, this error doesnot appear regularly. It occurs, say, 1 or 2 days a week. Is it becoz on those days heap memory gets stuck with lot of loads from orther applications?chulett wrote:20000? Yikes. Drop it down to 1 to make sure that's the issue and then raise it in logical increments until performance is acceptable and it no more blow up. ...
Jayeeta Dutta
Could be, hard to say without active monitoring running at that exact moment. Doesn't change the fact at 20,000 is a crazy large number. Take the average internal sizes of your fields, add them up and multiply that number by 20000, that's the number of bytes you're asking the client software to push across the network at one time.
-craig
"You can never have too many knives" -- Logan Nine Fingers
"You can never have too many knives" -- Logan Nine Fingers