AIX e oracle: processo aioserver não morrerá

1

Ao desligar um servidor oracle, vejo esta mensagem de erro na saída

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

lsof e fuser não reportam nada mas

ps aux|grep oracle

relate isso

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'

Eu tento matar com kill -15 e também kill -9 , mas eles ainda estão vivos

Usando pstree , vejo isso

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

A questão é, como matar esses processos para umount oracle?

Se puder ajudar, aqui está o script de desligamento

#!/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
    
por elbarna 19.10.2015 / 19:27

1 resposta

1

o aioserver não está mantendo o seu sistema de arquivos ocupado, o aioserver é um processo aix relacionado ao IO assincrono.

Provavelmente existe outro sistema de arquivos montado sobre / oracle que está causando este problema:

mount | grep oracle

Leia também esta página para saber mais sobre a Oracle e o uso da AIO.

    
por 19.10.2015 / 23:29

Tags