Oracledb.sh script does not check for other Oracle Instances

Solution Unverified - Updated -

Issue

  • This script contains following function
exit_idle()
{
        declare -i n=0
        while ps ax | grep $ORACLE_HOME | grep -q -v grep; do
                if [ $n -ge 90 ]; then
                        force_cleanup
                        return 0
                fi
                sleep 1
                ((n++))
        done
        return 0
}

This function does not check for ORACLE_SID. So if there are other other ORACLE instances running from the same ORACLE_HOME script stops here for 90 seconds.

Fortunately force_cleanup() function has required check so it won't actually kill these other processes:

pids=`ps ax | grep $ORACLE_HOME | grep "ora_.*_${ORACLE_SID}" | grep -v grep | awk '{print $1}'`

This causes unnecessary delays to instance failovers.

Environment

  • Red Hat Enterprise Linux Server 6.3 (with the High Availability Add on)

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content