アプリ版:「スタンプのみでお礼する」機能のリリースについて

SolarisでOracleを動かしていたのですが、端末エミュレーターで
SVRMGR>shutdown
と打っても
SVRMGR>shutdown

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

A 回答 (2件)

Oracleは、Oracleに接続しているプロセスがいると、shutdownでは落とせません。


キレイに落とすには、shutdownを行う前に クライアントアプリケーションからの接続をすべて切っておく必要があります。
今回の場合、そのプログラムが閉じることができないということですので、Oracleを強制的に落としてしまうか、若しくはそのセッションを強制的に切ってやってその後にshutdownですね。
前者の場合、
まず、shutdownで とまっているのを Control + C で元に戻し、

SVRMGR> shutdown immediate

で落としてみてください。 これは、クライアントが何も作業をしていない状態であれば、接続を自動で切ってくれます。
これで無理であれば、

SVRMGR> shutdown abort

としてください。
これは、強制的にshutdownします。
このあと、startupを行うと、Oracleは自動でデータベースをリカバリしてくれます。

後者については、
Alter system kill session というコマンドを使うのですが、これについては、もう少し作業が複雑になりますので、マニュアルをみて調べるかしてみてください。ここで説明するとながくなってしまうので。。。
    • good
    • 2
この回答へのお礼

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

お礼日時:2002/06/02 18:09

初めまして、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が実運用環境であるなら、
くれぐれも慎重に判断されるようお願いします。

ご参考までに。
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/06/02 18:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す