Dodgy causes of ORA-12549

etloracleoracle-11g-r2

I am dealing with a rather massive ETL processing which keeps throwing me the ORA-12549 error.

Have been looking for problems in the database so far and nothing. The DBA says the database is "fine" – has resources, hasn't reached maximum files to open or processes and have space on all tablespaces.

I start to wonder if this error could have been thrown by client. However it is a Java application using JDBC to connect and the heap size is of 16gb, also not nearly filled up according to the GC logs.

The process itself is rather simple: make a massive select into Oracle, apply some logic over the data and commit is periodically to another table. I have used commits from 5million lines to mere 100k (divided in 100 batches of 1k lines). The error is always about the same point.

Can someone give me some insight on what is happening? Where should I look for clues?

Client-side, ulimit is 1024 (on Oracle's server is is 65k), could it be related?

Best Answer

This is a resource issue.

The DB server cannot satisfy your queries due to the client host being configured incorrectly as-per the pre-requisites for an Oracle database client installation.

Ask your system administrators to verify that they have set the required number of open files, semaphores, shmax etc etc. Link to the Oracle documentation - I assume Linux, but Solaris docs are a link away from that.