Aix

AIX 和 oracle:aioserver 程序不會死

  • November 14, 2015

關閉 oracle 伺服器時,我在退出時看到此錯誤消息

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

lsof並且fuser只報告

ps aux|grep oracle

報告這個

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`

我試圖殺戮,kill -15kill -9他們還活著

使用pstree我看到這個

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

問題是,如何殺死那些用於解除安裝 oracle 的程序?

如果可以幫助,這裡是關閉腳本

#!/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

aioserver 不會讓你的文件系統保持忙碌,aioserver 是一個與非同步 IO 相關的 aix 程序。

可能有另一個文件系統安裝在 /oracle 上,這導致了這個問題:

mount | grep oracle

另請閱讀此頁面以了解有關 Oracle 和 AIO 使用的更多資訊。

引用自:https://unix.stackexchange.com/questions/237194