Windowsサービスからオラクルが起動しない場合の対処方法です。
現象
DBサーバ起動後にsqlplusでオラクルに接続しようとすると以下のようなエラーが出る
- SQL*Plus
- ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist
原因
これは、サービス起動時にオラクルインスタンスを起動するように設定されていないためです。
対処方法
以下の手順で、サービス起動時にオラクルインスタンスを起動するように設定します。
①Oracleがインストールされたマシンで、Windowsスタート⇒Oracle→Administration Assistant for Windowsを起動する
詳細な場所は環境に合わせて読み替えてください。
②Administration Assistant for Windows画面で、「OracleManagedObjects」→「Computers」→ 「コンピュータ名」→「データベース」→「SID名」まで辿り、右クリック→「起動/停止オプション(O)」を選択する
③起動/停止構成画面で「Oracleインスタンス」タブを選択し、以下図のようにチェックを入れてOKボタンをクリックする
- サービス開始時にインスタンスを起動
- サービス停止時にインスタンスを停止
(停止モード⇒通常停止)
これでWindowsサービスからOracleを起動/停止できるようになります。
解説
- DBサーバを起動した時に同時にオラクルを起動させたい場合は、オラクルのサービスの起動を「自動」に設定しておく必要があります。