• ベストアンサー

Oracleがシャットダウンできません

SolarisでOracleを動かしていたのですが、端末エミュレーターで SVRMGR>shutdown と打っても SVRMGR>shutdown ■ ↑ここにプロンプトが点滅し続けるのみで一向に落ちません。裏で他にサーバーマネージャーを起動してもないです。javaとSQLを使っていて、反応しなくなって閉じることのできないプログラムが2つ残ってます。どうすればshutdownできるのでしょうか?反応しなくなったプログラムがやはりマズイのでしょうか?プログラムはjavaで書いた、SQLを使った簡単なものです。 他に必要な情報がありましたら追記しますので、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nomanoma
  • ベストアンサー率60% (3/5)
回答No.1

Oracleは、Oracleに接続しているプロセスがいると、shutdownでは落とせません。 キレイに落とすには、shutdownを行う前に クライアントアプリケーションからの接続をすべて切っておく必要があります。 今回の場合、そのプログラムが閉じることができないということですので、Oracleを強制的に落としてしまうか、若しくはそのセッションを強制的に切ってやってその後にshutdownですね。 前者の場合、 まず、shutdownで とまっているのを Control + C で元に戻し、 SVRMGR> shutdown immediate で落としてみてください。 これは、クライアントが何も作業をしていない状態であれば、接続を自動で切ってくれます。 これで無理であれば、 SVRMGR> shutdown abort としてください。 これは、強制的にshutdownします。 このあと、startupを行うと、Oracleは自動でデータベースをリカバリしてくれます。 後者については、 Alter system kill session というコマンドを使うのですが、これについては、もう少し作業が複雑になりますので、マニュアルをみて調べるかしてみてください。ここで説明するとながくなってしまうので。。。

415
質問者

お礼

ありがとうございます。無事に落とすことができました。 すばやい回答していただいたのにお礼が遅くなってすいませんでした。 これからはshutdown immediateを使いこなします。助かりました。

その他の回答 (1)

  • k_yuki
  • ベストアンサー率41% (23/55)
回答No.2

初めまして、415さん。 415さんの操作されている環境、DBが ・oracle db環境が試験、開発用である事。 ・oracle VER 7.2.3 又は ver 8である事。 ・415さんの手元にORACLEマニュアルがある事。 を前提にさせてください。 ======== マニュアルより抜粋 =========== SVRMGR>shutdown のshutdownコマンドは以下のようになります。 shutdown 【オプション】 【オプション】 (1) normal   全ユーザのセッション終了まで待機。(デフォルト) (2) immediate ユーザセッションを待たずに停止。 (3) abort   ユーザセッションの終了を待たずに停止し、         DBクローズ、ディスマウントは行わないでインスタンスを停止。 415さんが実行されたのは(1)に相当するはずです。 >プログラムはjavaで書いた、SQLを使った簡単なもの がバックグラウンドで起動しているからshutdownコマンドが待っている状態と推測できます。 方法として、 (A) データベース管理者権限にてバックグラウンドで動作中のセンションを切断。 待機中のshutdownコマンドが先へ進むはずです。 (B) 上記の(2)で停止させ、動作中のjavaが起動しているならkillする。    但し、SVRMGR>startup でDBが正常に起動されることを確認した方がいいと思われます。 (A)または(B)でshutdownできるはずです。 また、 415さんが操作されているoracle dbが実運用環境であるなら、 くれぐれも慎重に判断されるようお願いします。 ご参考までに。

415
質問者

お礼

詳しい説明ありがとうございます。お礼が遅くなってすいません。 マニュアルが手元に置いておかないとと反省しました。