In one example, the process vxdbd_51 is consuming from 4.2% up to 13% of one cpu.
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
25674 root 10M 10M run 60 0 2:02:07 4.2% vxdbd_510/12
Analysis shows vxdbd daemon looping in vxdbd_handle_connection() doing read/write to sockets that are in an IDLE state. Restarting vxdbd removes the looping threads but they return and gradually grow in number over time. There is a inconsistency of return value from read_n() function and how the return value is checked in the parent function while loop pointed in this incident. Normally read_n() should wait until something is available in socket(). In this case read failed with -1, and code does not handle this correctly.
A work-around is to stop and restart the vxdbd daemon. See TECH124587 (see the link below) for details on how to perform this action.
Fix available in SFHA 5.1SP1RP2 for both SPARC and x86 architectures.
Oracle database instance using vxdbd process
Solaris 10 SPARC