• ベストアンサー

サービスの起動順序とタイミング

Oracle9.2iをWindouws2000Serverで使ってます. たまに起動後、Oracle MTS サービスの起動に失敗しました。と出るのですが、手動で起動するとなんのことなく動き出します。 どうやら、起動された時点で、先に動いていてるべきサービスが起動できていない(間に合っていない)らしいのです。 サービスの起動の順序や、タイミング(5秒待ってから起動とか)を設定する方法はあるのでしょうか?

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

  • ベストアンサー
  • deadline
  • ベストアンサー率63% (1239/1943)
回答No.1

サービスの依存関係の設定ですね。 "abc"というサービスが起動した後で、"def"というサービスを起動する場合を例にしますと、 [スタート]⇒[ファイル名を指定して実行]の入力欄に regedt32.exe と入力し[OK]をクリックします。『レジストリエディタ』が起動します。 (注意:通常良く使う"regedit.exe"で起動する『レジストリエディタ』の方ではありません。"regedit.exe"では、"REG_MULTI_SZ"型(複数行文字列型)の値の新規設定が出来ないので、"regedt32.exe"の方を使います。) 『ローカルコンピュータ上のHKEY_LOCAL_MACHINE』というシートを選択し、 +HKEY_LOCAL_MACHINE  +SYSTEM   +CurrentControlSet    +Services     +abc と辿り、"abc"のアイコンをクリックします。右側のウィンドウに DisplayName : REG_SZ : abc と設定されている項目が表示されると思います。この"DisplayName"に設定されている値(この場合"abc")を覚えておいてください。("DisplayName"に設定されている値は、必ずしもサービス名と同じとは限りません。) 同様に、 +HKEY_LOCAL_MACHINE  +SYSTEM   +CurrentControlSet    +Services     +def と辿り、"def"のアイコンをクリックします。 [編集]⇒[値の追加]をクリックすると、 値の名前 [    ] データ型 [REG_SZ]▼ というダイアログが表示されます。値の名前の入力欄に、 DependOnService と入力し、データ型の選択肢から、 REG_MULTI_SZ を選択し[OK]をクリックします。『複数行文字列エディタ』という入力欄が表示されますから、"abc"の"DisplayName"に設定されている abc を入力し[OK]をクリックします。 『管理ツール』⇒『サービス』で "abc"を右クリック⇒[プロパティ]⇒[依存関係]タブの下側のウィンドウ『"abc"に依存しているサービス』の所に +def と表示され、"def"を右クリック⇒[プロパティ]⇒[依存関係]タブの上側のウィンドウ『"def"が依存しているサービス』の所に +abc と表示されれば、設定終了です。

ykkw_2001
質問者

お礼

具体的に教えていただきありがとうございました 「依存関係」を利用するのは、こういうことか・・・ と目から鱗でした。

その他の回答 (1)

  • deadline
  • ベストアンサー率63% (1239/1943)
回答No.2

ANo.#1の訂正&参考URL。 ("DisplayName"に設定されている値は、必ずしもサービス名と同じとは限りません。) ↑を↓のように訂正します。 ("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\abc"の"abc"は、必ずしも『管理ツール』⇒『サービス』で表示されるサービス名と同じとは限りません。"DisplayName"に設定されている"abc"が『サービス』に表示されます。) 『MONYO-COM: たかはしもとのぶの個人ページ  Windows起動時に読み込むサービスの順序を制御したい』 http://www.monyo.com/technical/windows/33.html

参考URL:
http://www.monyo.com/technical/windows/33.html
ykkw_2001
質問者

お礼

重ねて、ありがとうございます。 大変助かりました。

関連するQ&A

  • Windowsサービスを別のサービスに依存させるには?

    OracleにアクセスするWindowsサービスプログラムを作ったのですが、Windowsの起動時にOracleインスタンスが起動する前に自作サービスが起動してDB接続エラーとなってしまします。 次の条件の元で、これを解決するにはどうしたらよいでしょうか。(Oracleに限った話ではないと思います) 1.自作サービスを書き換えたくない 2.管理ツールの「サービス」画面で、自作サービスの起動を「自動」にしたい。 3.環境はWindows Server 2003, Oracle Database 9i, 10g

  • OracleDBConsoleorclのサービスが起動しません。

    いつもお世話になっております。 下記、ご教示願います。 Oracle Master SQL基礎Iを受験しようと、Oracle DataBaseトライアル版をインストールしました。 最初はいろいろできたのですが、いつのまにかOracle Enterprise ManagerやiSQL*Plusへのログインができなくなりました。 OracleDBConsoleorclが起動していないことが原因とわかりましたが、 起動しません。 コントロールパネル>管理ツール>サービスにて起動を試みていますが、 「ローカルコンピュータでOracleDBConsoleorclを開始できません。詳細についてはイベントログを確認してください。これがMicrosoft以外のサービスである場合は、サービスの製造元に問い合わせて参照してください。」 というエラーメッセージが出ます。 いろいろサイトを検索してみましたが、わかりません。 何卒よろしくお願いします。

  • WindowsNT サービスの起動順序

    WindowsNTが起動する時に、サービスが自動で起動しますが、その起動する順番って決まりごとあるのでしょうか? 私が調べたことは、 1.他のサービスに依存関係があるものは先に依存している方が起動する。 2.依存関係にない物から先に起動する。 3.windowsNT SP4で仕様が変更された? 2.の依存関係にない物から先に起動する。とありましたが、その中での優先順位には法則があるのでしょうか? ある噂ではアルファベット順とか聞いたことがありますが・・・。 サーバー起動時に障害発生してまして、当方困っております。。。 (EventLogサービス起動まではログに出てるのですがそれ以降ハングしてる様子です) よろしくお願いいたします。

  • Oracleが起動しません(ORA-01034)

    環境 ・Windows2000 ・Oracle8i Oracleが突然起動しなくなりました。 SQLPlusで接続しようとすると 「ERROR ORA-01034: Oracle not available」 というメッセージが表示されます。 サービスを見ると OracleServiceORCLが「開始中」のままいつまでたっても開始しません。何度再起動しても状況は同じです。 Oracle初心者ですのでまずはエラーメッセージが出たときの調べ方をご教授願えませんでしょうか。 よろしくお願いします。

  • TNSListenerサービスについて

    windows2000Proにoracle8.1.6をいれています。 TNSListenerサービスを手動や自動で開始しても すぐに停止に自動的にもどります。 原因がわかりません。 ユーザーはアドミンではいってます。 一旦は開始するのですがほんの数秒で停止にもどります。 インストールして初めての開始です。 サーバ名やIPアドレスは変えていません。 宜しくお願いします。

  • データベースの起動について

    現在、サーバーAの1台が起動しoracleのデータベースを 運用しています  そこに、サーバーBを起動し、oracleのデータベースの 試験運用を実施したいです 質問(1)  各サーバーが下記設定の場合、 サーバーBを起動することにより、サーバーAにて起動して いる本来のデータベースに問題が発生するでしょうか? 質問(2)  発生する場合、どのように回避すればいいので しょうか? ご存知の方、ご教示の程宜しくお願いします サーバーA(本運用)  OS:windowsNT4.0  Oracle:Oracle8i(8.1.7)  グローバルデータベース名:seisandb  SID:seisandb  接続文字列:seisandb  コンピュータ名:test01  IPaddress:192.168.1.10 サーバーB(試験運用)  OS:windowsNT4.0  Oracle:Oracle8i(8.1.7)  グローバルデータベース名:seisandb  SID:seisandb  接続文字列:seisandb  コンピュータ名:test02       ←Aとの違い  IPaddress:192.168.1.11    ←Aとの違い

  • Windows2000でのサービスの起動と、スタートアップ

    Windows2000サーバにOracleをインストールしています。 同サーバにVB6でDBをアクセスするプログラムを作成しています。 サーバを自動ログインするように設定して、スタートアップにVBで作成したプログラムを起動する様に競ってしました。 実際に起動した場合、エラーが発生して起動できません (Oracleのサービスが起動し終わるまでにVBのプログラムが起動している模様) WindowsNTの時はこのようなことがなかったのですが Windows2000にサーバを替えたら発生しました。 何か、エラーが発生せず、自動ログインをして、プログラムが自動に起動するできる方法を教えてください。 (サービス起動後、ログインする方法や、サービス起動後、プログラムを起動する方法等) よろしくお願いいたします。

  • oracleが起動しない

    windows2003serverでoracleを起動していました。OEMよりアクセスし、oracleを停止しました。起動しようとOEMでアクセスしようとしたら【見つかりません】等のえらーが出たので、コマンドプロンプトでemctlコマンドを実行し、agentとmanagement serviceを実行しました。しかし、【Environment variable ORACLE_SID not defined. Please define it.】というエラーが出て起動できないじょうたいになっています。 なにが悪いのでしょうか? ご存知の方よろしくお願いします。

  • exchangeのサービスをバッチで起動したい

    exchangeサーバに関してです。 通常は、サーバを起動する時に、Exchangeも自動起動されるようになっておりますが、サービスを手動に設定し、これを指定された時間に起動されるような、バッチを作成したいのですが可能でしょうか? 可能な場合、Exchangeサービスを起動対象のexeの調べ方を教えてください。

  • Oracle8iでのサーバネーム変更時の注意点について

    Oracle8iを使用しています。 セットアップ後、サーバネームを変更したら、 サービスの「OracleOraHome81Agent」が起動しなくなりました。 起動していない状態でも、Oracleは問題なく使用できているのですが、 サーバネームを変更した時に、一緒に変更しなければいけない設定ファイルがあるのでしょうか?