1

When shutdown an oracle server I see this error message at exit

umount /oracle/
umount: error unmounting /dev/oracle: Device busy

lsof and fuser report nothing but

ps aux|grep oracle

report this

oracle    5964026  0,0  0,0  448  448      - A      apr 21  0:00 aioserver
oracle   10289224  0,0  0,0  448  448      - A    19:09:27  0:00 aioserver
oracle   11075692  0,0  0,0  448  448      - A    19:09:27  0:00 aioserver
oracle   11468902  0,0  0,0  448  448      - A    19:09:27  0:00 aioserver
oracle   13631648  0,0  0,0  448  448      - A    19:09:27  0:00 aioserver
oracle    3604680  0,0  0,0  448  448      - A    19:09:27  0:00 aioserver`

I try to kill with kill -15 and also kill -9 but they still alive

Using pstree I see this

 |--= 1966178 root aioPpool
 |--= 2228302 root aioLpool
 |--= 3604680 root aioserver
 |--= 5964026 root aioserver
 |--= 10289224 root aioserver
 |--= 11075692 root aioserver
 |--= 11468902 root aioserver
 \--= 13631648 root aioserver

Question is, how to kill those processes for umounting oracle?

If can help,here's the shutdown script

#!/usr/bin/bash
# description: Oracle auto start-stop script.
#
# Set ORACLE_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the 
# Oracle database in ORACLE_HOME.

export ORA_OWNER=oracle
export ORACLE_BASE=/oracle/app
export ORACLE_HOME=/oracle/app/oracle/product/12.2.0/dbhome_1
export ORACLE_SID=video
export ORACLE_HOME_LISTNER=$ORACLE_HOME
export TNS_ADMIN=/oracle/app/oracle/product/12.2.0/dbhome_1/network/admin
export PATH=$PATH:/opt/freeware/sbin:/opt/freeware/bin:/opt/IBM/xlc/13.1.0/bin:/oracle/app/oracle/product/12.2.0/dbhome_1/bin/

if [ ! -f $ORACLE_HOME/bin/dbstart ]
then
    echo "Oracle startup: cannot start"
    exit
fi

case "$1" in
    'start')
        # Start the Oracle databases:
        # The following command assumes that the oracle login 
        # will not prompt the user for any values
        # Remove "&" if you don't want startup as a background process.
        su $ORA_OWNER -c "$ORACLE_HOME/bin/lsnrctl start" &
        su $ORA_OWNER -c $ORACLE_HOME/bin/dbstart &
        ;;
    'stop')
        # Stop the Oracle databases:
        # The following command assumes that the oracle login 
        # will not prompt the user for any values
        su $ORA_OWNER -c $ORACLE_HOME/bin/dbshut
        su $ORA_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"
        ;;
     'restart')
        stop
        start
        ;;
*)
echo "usage $0 start|stop|restart"
esac
2

aioserver is not keeping your filesystem busy, aioserver is an aix processes related to asynchroneous IO.

Probably there is another filesystem mounted over /oracle which is causing this problem:

mount | grep oracle

Also read this page to find out more regarding Oracle and the AIO usage.

  • The only fs mounted is oracle ` /dev/oracle /oracle jfs2 Oct 19 20:41 rw,log=/dev/loglv00` – elbarna Oct 19 '15 at 21:31
  • do you maybe have nmon running? or some other performance gathering tool running? where you maybe still cd'ed in /oracle, or somebody else on the system? did you try lsof and fuser -cux with /oracle or with /oracle/ (note the last /) – Mike van Hoof Oct 19 '15 at 21:35
  • No nmon,lsof return nothing fuser return some process,kill them and...nothing happen,still give me device busy – elbarna Oct 20 '15 at 3:03
  • what processes did fuser give? did you check what it was? Are there any other users logged on to the system? – Mike van Hoof Oct 20 '15 at 9:24
  • No user logging,fuser return some dead sqlplus process,i kill it no problem,but the partition still can't umounted – elbarna Oct 20 '15 at 19:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.