HiveBrain v1.2.0
Get Started
← Back to all entries
patternMinor

sqlplus consuming 99% CPU

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
cpusqlplusconsuming

Problem

Oracle's installed on one server, I'm running sqlplus on a different (application) server. I've recently encountered a problem getting sqlplus to do anything; it simply spins, consuming 99% CPU even if asked to print its own help or version information.

sqlplus has run fine on the same box via cronjob every day for the last a couple of years. I've also run it directly off the command-line on an ad-hoc basis when needed. The box sqlplus runs on only contains the oracle client files, it's never had a full DB install.

Last week, the cron jobs stopped working and ps output showed several instances of sqlplus still running, but there was no DB activity. I tried running sqlplus off the command-line, and it hung. I killed all old sqlplus instances and tried sqlplus again, and it still seems to hang. No error message, no output. It won't even complain if I give it completely made-up parameters, TNS entries or anything.

These are command I've tried, for which sqlplus simply hangs and does not emit an error, failure code or any visible sign of life:

user@server:~ $ sqlplus
user@server:~ $ sqlplus -V
user@server:~ $ sqlplus -H
user@server:~ $ sqlplus /NOLOG
user@server:~ $ sqlplus -invalidoption
user@server:~ $ sqlplus -invalidoption /NOLOG


And, of course:

user@server:~ $ sqlplus -s dbuser/dbpassword@tnsid /some/script.sql


As you can see from the following, the oracle files haven't changed for a long time...

```
user@server:~ $ ls -ld $(which -a sqlplus)
-rwxr-xr-x 1 oracle oracle 12896 Apr 15 2008 /usr/oracle/product/10gClient/bin/sqlplus
user@server:~ $ sqlplus -H

user@server:~ $ env | grep ORACLE
ORACLE_BASE=/usr/oracle
ORACLE_HOME=/usr/oracle/product/10gClient
user@server:~ $ ls -ld $ORACLE_HOME/network/admin/*
drwxr-xr-x 2 oracle oracle 4096 Apr 15 2008 /usr/oracle/product/10gClient/network/admin/samples
-rwxr-xr-x 1 oracle oracle 172 Dec 26 2003 /usr/oracle/product/10gClient/network/admin/shrept.lst
-rwxr-xr

Solution

The Oracle client version, strace output and system uptime details combined indicate this could be Oracle bug 4612267 for which a patch is available. The problem is supposed to be resolvable by either rebooting or applying the patch.

user@server:~ $ uptime
  9:54am  up 254 days  0:26,  5 users,  load average: 1.39, 1.56, 1.75
user@server:~ $ genezi -v
Client Shared Library 32-bit - 10.02.00.01.00


I had requested the patch be applied to our server to confirm if the patch fixed the issue. Unfortunately someone randomly rebooted the server before the patch could be applied - end result is that sqlplus is functioning again, which is good for me, but means I can't confirm if the patch would have fixed the issue without a reboot.

Code Snippets

user@server:~ $ uptime
  9:54am  up 254 days  0:26,  5 users,  load average: 1.39, 1.56, 1.75
user@server:~ $ genezi -v
Client Shared Library 32-bit - 10.02.00.01.00

Context

StackExchange Database Administrators Q#45222, answer score: 4

Revisions (0)

No revisions yet.