Windows 環境ではパフォーマンスとトレンドの理由からスレッドモデルで実装されていると書かれている。
サービスという環境下(プロセス空間?)でスレッドモデルのインスタンス*1が
実行されるということらしい。
そのため、サービスが起動していなければアイドルインスタンスの接続環境が存在せず、
SQLPlus 経由での接続およびインスタンスの起動もできない。
サービスが停止状態の場合には、以下の Windows 専用コマンドでサービスとインスタンスの同時に起動することが可能(起動時の詳細メッセージは表示されない、詳細はアラートログを見る必要がある。)
NET START servicename
または、 ORADIM -STARTUP -SID oracle_sid -STARTTYPE SRVC,INST
デフォルト・インストールでは、サービス起動時にインスタンス起動も同時に行われる設定になっている。
このためサービス=インスタンスと認識されている事が多い。サービス⊇インスタンス、サーバープロセス(Windows だとスレッド:MTS は含まれるかどうか未確認)、ワークエリア(スレッド間の共有メモリ+etc)
依存関係は、インスタンスの起動にはサービスの起動が不可欠、インスタンスの停止はサービスの停止を伴わない、ということになる。
この設定は、Administration Assistant for Windows ツール、データベースツリー(起動オプション)にて行うことが可能。
(oradim コマンドでも可能)
サービスとインスタンスの停止
シャットダウン例(詳細はプラットフォーム・ガイド for Windows を参照)
NET STOP servicename または
ORADIM -SHUTDOWN -SID oracle_sid -SHUTTYPE INST,SRVC -SHUTMODE NORMAL ...