I have a C++ application that connecting to a Oracle9i RAC (two nodes) system running on Linux IA64 platform, the version of DB is 9.2.0.5.0. Each time the application gets a request from client, it opens a connection to the DB and insert/update/delete data and then close this connection. This application gets many requests each day. In the log files of this application, we found the following Oracle errors:

ORA-12539: TNS:buffer or under-flow
ORA-12630: Native service operation not supported

It happens several times per day, it happens exactly before the application tries to connect the DB.

I checked the server side trace files under udump directory; listener.log file, nothing is special there at the time this problem happened; then I turn on the client side tracing by adding the following entries to sqlnet.ora of the client machine:

It seems that Net8 get 530 bytes from transport but the NS buffer is only 520 bytes, it this the reason why? In another case I found Net8 get 544 bytes from transport but the NS buffer is only 534 bytes.

04-14-2005, 04:08 PM

zxmgh

The rmem_default value of both servers has been set to 65535 and rmem_max set to 131071, but in the "RAC on Linux Best Practices" (Metalink Note: 240575.1) article, Oracle strongly recommend to adjust the send and receive buffer size to 256K.