General Info
If you get this on a Solaris 9 and 10 box
"Outofmemory!
Callback called exit.
END failed--call queue aborted."
The solution may be as simple as not having you "ORACLE_HOME" Defined in the environment.
It seems that having it defined will prevent the error.
Setting library load path for instant client libraries
Usually you set LD_LIBRARY_PATH to point to the location of your Oracle Instant Client (you need to do this when building DBD::Oracle). However, afterwards it can be a pain to keep ensuring this is set and changing LD_LIBRARY_PATH in your Perl script does not work (needs to be done beforehand) as the dynamic linker caches its value.
An alternative under newer versions of Solaris is:
root> crle -u -l /youroracledir/lib/instantclient_11_2
however, make sure you check the crle options as you may need to set the architecture etc as well.