9.2.0.4.0以前のOUI(Oracle Universal Installer)はトレースを取得することができないので、スレッドダンプを取得してみた。
$ ./runInstaller > oui.log 2>&1 & # OUI を起動する $ ps -ef | grep java # OUI の PID を調べる ... oracle 24958 1 ... $ kill -3 24958 # スレッドダンプを吐かせる。OUI は強制終了しない。引き続き使える。 $ less oui.log # スレッドダンプを見てみる ... "Reference Handler" daemon prio=10 tid=0x9f670 nid=0x3 waiting on monitor [0xfb67f000..0xfb67fc68] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:420) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:110) "main" prio=5 tid=0x28918 nid=0x1 waiting on monitor [0xffbfe000..0xffbfedec] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:420) at oracle.sysman.oii.oiif.oiifb.OiifbSyncObject.sync(OiifbSyncObject.java:38) at oracle.sysman.oii.oiic.OiicInstallActionsPhase.doOperation(OiicInstallActionsPhase.java:781) at oracle.sysman.oii.oiif.oiifb.OiifbLinearIterator.iterate(OiifbLinearIterator.java:116) at oracle.sysman.oii.oiic.OiicInstallSession$OiicSelCompsInstall.doOperation(OiicInstallSession.java:882) at oracle.sysman.oii.oiif.oiifb.OiifbCondIterator.iterate(OiifbCondIterator.java:140) at oracle.sysman.oii.oiic.OiicPullSession.doOperation(OiicPullSession.java:586) at oracle.sysman.oii.oiic.OiicSessionWrapper.doOperation(OiicSessionWrapper.java:177) at oracle.sysman.oii.oiif.oiifb.OiifbLinearIterator.iterate(OiifbLinearIterator.java:116) at oracle.sysman.oii.oiic.OiicInstaller.run(OiicInstaller.java:358) at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:637) "VM Thread" prio=5 tid=0x9ea10 nid=0x2 runnable "VM Periodic Task Thread" prio=10 tid=0xa5ae0 nid=0x5 waiting on monitor "Suspend Checker Thread" prio=10 tid=0xa63d0 nid=0x6 runnable
今回は、スレッドダンプからは特に有益な情報は得られなかった。。。
[参考]
http://yusuke.homeip.net/diary/2006/09/24/1159030365101.html
UNIXコマンド - kill
http://www.geocities.jp/geo_sunisland/signal_and_trap.html