- ベストアンサー
Oracleの起動時に、マウントしたりしなかったりで困っています。
初めまして。Oracleの知識が薄く困っております。 よろしくお願い致します。 さて、現象ですがPC起動と同時にOracleが起動するように設定しているのですが、 マウントまで行ったり行かなかったりで困っております。 (起動する度に現象が異なります) Ver:ORACLE V10.1.0.2.0 OS :WindosXP SP2 アラートログを確認しますと、 XXXX started with pid=Y(XXXX=SMONだったりRECOだったり・・・) の直後に、 alter database mount exclusive のコマンドが続く場合は、うまく立ち上がるようです。 しかし、 XXXX started with pid=Y の後に何もない時はマウントできていないようです。 また、 (1) > sqlplus /nolog (2) SQL> connect sys/aaaa@bbbb as sysdba (3) SQL> select status from v$instance; とすると、「STARTED」状態であり、 SQL> alter database mount; SQL> alter database open; とすると、正常に動作するようになります。 oradim.logを確認すると、 ORA-01012: not logged on ORA-24324: service handle not initialized が出ていますが、どこから調査をすればいいのか暗闇の中です。 お助言頂きますようお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
なんとなく、ORACLE_SIDの環境変数の設定あたりが怪しそうな 気がしますが・・・ 障害に対する情報ではないのですが、参考として。 Windowsプラットフォームの場合、データベースの起動は バッチ処理で起動するようにします。 サービス起動時にDBインスタンスも起動する設定をしないようにし (1)ORACLE_SID環境変数の設定 (2)サービスの起動(net startコマンド) (3)sqlplusでstartupの実行 (4)listenerの起動(lsnrctlコマンド) を実行するバッチをグループポリシーのスタートアップスクリプト などに登録します。 バッチの結果をリダイレクトしておけば、エラーになったときも 確認取れますし。 終了もサービスに頼らずにシャットダウンするバッチを作成し グループポリシーのシャットダウンスクリプトに登録します。
その他の回答 (1)
- ishi7474
- ベストアンサー率32% (71/216)
状況がよく分かっていないのですが、UNIX系OSではOracleの自動起動と 自動停止の設定手順が酷似しておりますので、自動起動を設定している 人は忘れずに自動停止も設定しています。 ところがWindowsは自動起動の設定手順と自動停止の設定手順が大きく 異なっているので、自動起動の設定だけで自動停止も設定したと思い 込む人が結構います。自動停止を正しく設定したか、確認されては いかがでしょうか。
お礼
ご助言ありがとうございました。 自動停止の件、失念しております。 (というか、しなければいけないと考えておりませんでした) 起動/停止をバッチから試してみようと思います。 停止も重要な点、非常に参考になりました。
お礼
ご助言ありがとうございます。 バッチ起動の方がいいんでしょうか。 一度実験してみます。 また、シャットダウンもバッチからという点も参考になりました。