• ベストアンサー

ログを見ても無応答の原因がつかめません

Windows 2000 Server SP4 で Oracle 8.1.7 を使用しているのですが、 今年に入って、たびたびOracleが応答しなくなる現象が発生しています。 普段は問題ないのですが、休日明けなどアクセスが集中すると発生します。 現在はOS自体を再起動しています。再起動後は問題なく動きますが、 またアクセスが集中すると反応が無くなります。 サーバ内の ALRT.logを見てみると、サーバの反応が無くなった時刻に以下の記述が見られました。 ---------------------------------------------------------------------------------- Fri Jan 18 15:32:08 2006 skgpspawn failed:category = 27143, depinfo = 9261, op = spdcr, loc = skgpspawn failed to start multi-threaded server 'S001', oer=27143 (※中略 上記と同じものが数十個続く) skgpspawn failed:category = 27143, depinfo = 9261, op = spdcr, loc = skgpspawn failed to start multi-threaded server 'S001', oer=27143 Dump file C:\~ (※ALRT.LOGのパス) Fri Jan 18 15:38:06 2006 ORACLE V8.1.7.3.0 - Production vsnsta=0 vsnsql=f vsnxtr=3 Windows 2000 Version 5.0 Service Pack 4, CPU type 586 Starting up ORACLE RDBMS Version: 8.1.7.3.0. System parameters with non-default values: (※以下略 起動処理の記述) ---------------------------------------------------------------------------------- 起動処理は、サーバを再起動させた際に書かれたものと思われます。 ORA-XXXXXなどのエラーは記述されておらず、これがどのようなエラーであるのかわかりません。 似たような経験ある方や対処法方をご存知の方はいらっしゃいますでしょうか?

  • Oracle
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • MZ-80B
  • ベストアンサー率56% (46/81)
回答No.3

MTS の新しい共有サーバのスレッド生成の Oracle API が失敗しています。 サーバのスペック不足か初期パラメータの再調整が必要です。 それに起因してか何故かディスパッチャごと逝ってしまっているのではないか思われます。 DISPATCHERS=2 にしてみる。 SHARED_SEVERS=2 にしてみる (起動時にエラーが出る可能性あり) MAX_SHARED_SERVERS=1 に制限するなどチューニングしてください。 試行錯誤するか OTN の掲示板の方が聞いたほうがよいでしょう

参考URL:
http://otn.oracle.co.jp/forum/index.html
kyoujirouY
質問者

お礼

回答ありがとうございます。 >MTS の新しい共有サーバのスレッド生成の Oracle API が失敗しています。 >サーバのスペック不足か初期パラメータの再調整が必要です。 >それに起因してか何故かディスパッチャごと逝ってしまっているのではないか思われます なるほど、チューニングが必要なのですね。 私としては、負荷の原因を突き止めて、負荷をかけないようにしたいところですが、それで解決するのも良いですね。 >試行錯誤するか OTN の掲示板の方が聞いたほうがよいでしょう 紹介ありがとうございます。 先輩に伝えたところ、そちらにこの質問を丸投げされました(苦笑 以降はそちらで相談させていただくこととして、この質問は締め切らせていただきます。 ありがとうございました。

その他の回答 (2)

回答No.2

>セッション数が許容範囲を超えると、ログにこのような内容が >出力されるようになるのでしょうか? 知りません。 私は、パラメータで指定した制限数を超えた経験がありません。 共有接続は、実際の端末台数分のセッションがはれるように構成するのが一般的です。 専用接続に比べパフォーマンスを犠牲にする代わりに大量のセッションを 収容するための構成ですので、十分な余裕を持つべきでは、ないでしょうか。 ところで、 もしかして、listener.logにエラーが載ってませんか? ora-27143に関係するエラーじゃないかと思うんですよね。

kyoujirouY
質問者

お礼

>共有接続は、実際の端末台数分のセッションがはれるように構成するのが一般的です。 >専用接続に比べパフォーマンスを犠牲にする代わりに大量のセッションを >収容するための構成ですので、十分な余裕を持つべきでは、ないでしょうか。 確かにその通りですね。 私はプログラミングはしますが、ハードの構成には関わらないので、その方面は疎いのですよね。 その方面も勉強しないといけないんだろうか……。 >もしかして、listener.logにエラーが載ってませんか? >ora-27143に関係するエラーじゃないかと思うんですよね。 oer=27143ってORA-27143と同じだったのでしょうか。 確認してみます。ありがとうございました。

回答No.1

ログの記述から、共有サーバ接続の環境かと思いますが、 アクセスが集中するときのセッション数は、許容範囲内なのですか?

kyoujirouY
質問者

お礼

回答ありがとうございます。 >ログの記述から、共有サーバ接続の環境かと思いますが、 >アクセスが集中するときのセッション数は、許容範囲内なのですか? 私自身は管理者と言うわけではないため、Oracleの設定までは把握できていません。 #ログファイルだけ渡されました(苦笑 月曜日に確認してみます。 ちなみに、セッション数が許容範囲を超えると、ログにこのような内容が出力されるようになるのでしょうか?

関連するQ&A

  • listener.logが肥大化

    Oracle11gでlistener.logが肥大化し、4GBまでいってしまい、 停止しました。 ログをスイッチし、Oracleは動作したのですが、 アプリケーションサーバからアプリケーションが動作しません。 例えば、SQLPLUSでSQLを発行すると正常ですが、 dllからは動作しません。 なんとなくですが、with句を用いたものが失敗しているようです。 やっぱりアプリケーションサーバを再起動でしょうか? 日曜日まで再起動ができないため、何か方法があればご教示ください。

  • REDOログファイルを移動したいのですが?

    Oracle8.1.6です。 増設アレイディスクの導入に伴い、オンラインREDOログファイルを、本体のディスクから増設アレイディスクに移動したいのですが(ドライブEとか)、どのようにしたらいいでしょうか? SQL Serverだと、デタッチ・アタッチとかで、トランザクションログファイルの 移動が出来るようですが、Oracleはどのようにしたらいいですか? よろしくお願いします。

  • DBDエラー

    いつも、参考にしております。 Oracleの接続で困ってます。 環境: Windows 2003 Sever DB     :Oracle 10g トライアル版 ActivePerl : V5.8.9 Webサーバ :IISv6.0 CGIのDBIを使って、接続しようとすると 構文チェックで、下記のエラーが発生しております。 Perl lib version (v5.8.3) doesn't match executable version (v5.8.9) at C:\oracle\product\10.2.0\db_1\perl\5.8.3\lib/MSWi n32-x86-multi-thread/Config.pm line 32. Compilation failed in require at C:\oracle\product\10.2.0\db_1\perl\5.8.3\lib/MSWin32-x86-multi-thread/DynaLoader.pm lin e 25. BEGIN failed--compilation aborted at C:\oracle\product\10.2.0\db_1\perl\5.8.3\lib/MSWin32-x86-multi-thread/DynaLoader.pm line 25. Compilation failed in require at C:\oracle\product\10.2.0\db_1\perl\site\5.8.3\lib/MSWin32-x86-multi-thread/DBI.pm line 156. BEGIN failed--compilation aborted at C:\oracle\product\10.2.0\db_1\perl\site\5.8.3\lib/MSWin32-x86-multi-thread/DBI.pm l ine 156. Compilation failed in require at CmFunc.pm line 13. BEGIN failed--compilation aborted at CmFunc.pm line 13. 以上です。ご教授お願い致します。

  • リスナーが起動しません

    こんばんは、オラクル初心者です。 Oracle10gR1を削除後にR2をインストールするとリスナーが起動しない不具合が起こります。 発生手順については以下になります。 (1)Oracle10g-Release1(トライアル版)をインストール (2)Oracle10g-Release1(トライアル版)をアンインストール  1. DBCAで作成したデータベースを削除  2.Oracle Universal Installerで「製品の削除」  3.フォルダの削除(C:\oracle, C:\Program Files\Oracle)  4.レジストリの削除(HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE)  5.再起動 (3)Oracle10g-Release2(トライアル版)をインストール  インストール後にコマンドプロンプトで lsnrctl  start でリスナーを起動すると Failed to start service, error 3. TNS-12560: TNS: プロトコル・アダプタ・エラー TNS-00530: プロトコル・アダプタ・エラーです。 というメッセージが表示されます。 同環境ですが初めてOracleをインストールしたPCでは正常に動作しました。 前バージョンのアンインストール手順に不備があったのでしょうか? 説明不足のところがあるとは思いますが、どなたか答えていただけると助かります。 よろしくお願い致します。

  • CGI でDBI->connectするとエラー発生

    お世話になります。 CGIでORACLEに接続しようとしたところ、Internal Server Errorが発生し 困っております。 環境: ORACLE:10.2.0 DBI:1.48 DBD:DBD-Oracle1.16 PERL:5.8.0 APACHE:2.2.0 OS:RED HAT LINUX ES 3.0 プログラム上落ちる場所: DBI->connectのところ エラーの発生する傾向: APACHEでCGIを実行した時だけ コマンドライン上で実行するとエラーは発生しない また、CGIでもDBI->connectを外すとエラーは起きない APACHEのエラーログ: install_driver(Oracle) failed: Can't load '/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread- multi/auto/DBD/Oracle/Oracle.so' for module DBD:: Oracle: libnnz10.so: cannot open shared object file: No such file or directory at /usr/lib/perl5/5.8.0/i386-linux-thread- multi/DynaLoader.pm line 229 今までに試した事: ・環境変数の定義確認(LD_LIBRARY_PATH等、cgiに記述) ・環境変数の取得確認(cgi実行時に画面に表示) ・/etc/ld.so.confに$ORACLE_HOME/libを追記&ldconfig実行 ・httpd.confに環境変数のセットを記述(SetEnv) ・libclntsh.so.10.0が$ORACLE_HOME/lib以下にある事を確認 ・DBDをSTATICオプションをつけてインストール ・/usr/libや/libにOracle.soをコピー ・環境変数LD_RUN_PATH(Oracle.soのパス)を追加 一体どこが悪くて動かないのか、途方にくれております。 原因として何が考えられるか、その場合どう対処すれば良いか、 ご教示いただければ幸いです。 他にも必要な情報や、試すべき事がありましたら遠慮なくどうぞ。 よろしくお願い致します。

    • ベストアンサー
    • CGI
  • オラクルに詳しい方、教えてください

    Windows2000サーバにOracle8iをインストールしています。 クライアントからサーバに対して オラクルのインスタンスとリスナーが起動していることを確認したい場合、 oracle.exe と listener.exe が起動していることを確認できれば 「OK」と言えますか? 「データベースに接続できる状態」と言えるでしょうか? 毎日の定例作業として行う予定です。 あまりオラクルに詳しくないので、 知識のある方、ぜひ教えてください。

  • ログの中にこんなメッセージが・・・

    毎度、お世話になります。 Linuxサーバー内の/var/log/messagesを覗いたら、以下の様なメッセージが出てました。 Apache(httpd)関係の起動トラブルだと思うのですが、一体どのような意味なのでしょうか? また、このエラーの対処法をご教授ください。 おねがいします。 /var/log/messages httpd: Ouch! ap_mm_create(1048576, "/var/run/httpd.mm.31254") failed httpd: Error: MM: mm:core: failed to open semaphore file (Permission denied): OS: No such file or directory 使用OS:Redhat Linux7.1J

  • Oracle10gのデータベースの移行について

    Oracle10gのデータベースの移行について質問です。 Oracle10g が稼動しているサーバ機があります。 老朽化の為、新しいハードウェアへ入れ替える事になりました。 OSは、入れ替え前も入れ替え後もWindows Server 2003です。  DB: Oracle10g → Oracle10g  OS: Windows Server 2003 → Windows Server 2003 現行のサーバ上では4つのインスタンスが稼動しています。 新しいサーバ上に、同じ構成でそのまま移行する方法を検討していますが、下記のような方法で大丈夫なものでしょうか? (1)新しいサーバ上にOracle10gを初期データベースなしでインストールする (2)新しいサーバ上で新規のOracleインスタンスを4つ作成する (ORADIMツールを使用) (3)現行のサーバ上の各インスタンス・Oracle関連サービスを停止し、オフラインでデータベース関連のファイルのバックアップを取得する (4)現行のサーバから、新しいサーバへ、オフラインで取得したバックアップファイルを転送する (5)新しいサーバ上の各インスタンス・Oracle関連サービスを停止する (6)新しいサーバ上から、(3)で取得したファイルと同じファイルを削除する (7)新しいサーバ上で、バックアップしたファイルを現行のサーバと同じ位置に配置する (8)新しいサーバ上のOracle関連サービスと各インスタンスを起動し、動作を確認する どなたか、回答宜しくお願い致します。

  • oracle11g listener.logの削除

    Oracle11gのlistener.logについて教えてください。 #少し急いでおります、至急回答いただけると幸いです。 Windows2003Server + Oracle11gの環境でシステム稼働中なのですが、 tnslsnr\[ホスト名]\listener\trace\listener.logが 1.5GBになってしまっているので、これを削除したいです。 11gのリスナーロギングの仕組みとして、 \tnslsnr\[ホスト名]\listener\alert\log.xml にログ出力すると同時に、 tnslsnr\[ホスト名]\listener\trace\listener.log にも出力されるということを聞きました。 log.xmlは触らず、listener.logだけ削除してしまっても 問題ないでしょうか? log.xmlとlistener.logが互いに関連を持っていて、 同期が取れていないと、リスナーサービスに何か問題がでるのでは? と懸念しています。 調べたところ、 10g以前ではいったんリスナーサービスを停止し、 listener.logのローテートをする記事は見たのですが、 11gから仕組みが変わっているらしく、 同じやり方で良いのか気になり質問させて頂きました。 初歩的な質問かもしれませんが、 よろしくお願いします。

  • またでました!オラクルエラー

    windows2000SERVER で ORACLE8.1.6を使っています。 機種は富士通のけっこう古いタイプです。CPUが133でメモリーが97MBあります。 インストール後は順調に動いていたのですが、再起動や何回か立ち上げているうちにエラーコード1034がまたまたでまして、オラクルの存在がありませんといわれました。 オラクルを起動してくださいとでます。 前にも質問したのですが解決策がなく、なかなか動いてくれなくて困っています。まだ日が浅いものなので簡単な言い回しでお願いします。 よろしくお願いします。