• ベストアンサー

Windows2000でのOSシャットダウンによるインスタンスリカバリ

現在、Oracle9iをWindows2000にインストールして使用しているのですが、Windowsをシャットダウンすることにより、再起動時にインスタンスリカバリが発生しています。 Windowsのプラットフォームガイドを参考に、以下の値をレジストリに登録したのですが、やはりうまくいきません。(アラートログに「Beginning crash recovery of 1 threads」等と記録されているのでそのように判断しました。) ORA_SHUTDOWN:TRUE ORA_SHUTDOWN_TIMEOUT:60 ORA_SID_AUTOSTART:TRUE ORA_SID_SHUTDOWN:TRUE ORA_SID_SHUTDOWN_TIMEOUT:60 ORA_SID_SHUTDOWNTYPE:i ちなみに、管理ツールの「サービス」でOracleServiceSIDを手動で停止した後に再起動した場合は上記のログが出ないため、インスタンスが正しく終了されているようです。 Windowsの終了時にインスタンスを正しく終了させるにはどのようにすればよいのでしょうか? ご存知の方、宜しくお願い致します。

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

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.3

ログオフスクリプトだけでなく、 シャットダウンスクリプトもありますよ。 これでインスタンスを落としている顧客も実際にいました。 設定方法は、こちらを。 http://www.okweb.ne.jp/kotaeru.php3?q=476205

参考URL:
http://www.okweb.ne.jp/kotaeru.php3?q=476205
snoguthi
質問者

お礼

シャットダウンスクリプトというものがあるんですか。全然知りませんでした。 これを使用すれば、シャットダウンの際に何も意識せずにOracleインスタンスをとめる事ができそうですね。 早速試してみます。 有力な情報をありがとうございました。

その他の回答 (2)

  • msystem
  • ベストアンサー率42% (79/186)
回答No.2

>例えばシャットダウン時に自動的にoradim -shutdown のバッチファイルを実行する等)自動停止の仕組みにしたいのですが、やはり無理でしょうか? 私もいちどそのようなスクリプトを書こうとしてめんどくさくなってやめたことがあります。BATファイルで自動停止は勿論できるのですが、Windowsのログオフスクリプトでちゃんと動くかどうかを確認していません。(Windowsのシャットダウンで期待するとおりにログオフスクリプトが動くかどうかが不明) 後は、スクリプト内でWindowsを終了するコードを記述し、Windowsの終了を必ずそのスクリプトで行うという運用規則でするしかないかもしれません。そうなると、少なくともVBScriptですね。 いずれにしても、チャレンジしていないのでアドバイスできません。 私は結局、Oracleの稼動しているコンピュータの電源を切るときは、BATファイルを実行してからという運用規則で対応しています。 >マニュアルは結構調べたのですが、 私のほうでも調べたのですが、載ってないですね。もしかしたら、Oracleの講習で聞いたのかもしれません。あやふやで申し訳ありません。

snoguthi
質問者

お礼

やはり難しいということですね。 自動でシャットダウン時に停止する仕組みがないとすると、普通はシャットダウンの際には手動でOracleを停止するようにしているということですよね。(Oracle for Windows2000 を運用している所はたくさんあると思うのですが) 少々面倒ですが、当面の間はシャットダウン前に msystemさんのシャットダウンスクリプト方式で止めるようにしようと思います。 どうもありがとうございました。

  • msystem
  • ベストアンサー率42% (79/186)
回答No.1

はっきりとは覚えていないのですが、レジストリに設定したものは、サービスの停止のときにしか効かなかったように記憶しています。(8iでは)9iから変わっていたらすいません。 そのため、Windows終了時はabortで終了してしまうため、インスタンスリカバリが発生します。OracleのDBがあるコンピュータをシャットダウンしたいときは、必ず、インスタンスを正常に止めてからWindowsのシャットダウンすることが必要だと思います。 たしか、マニュアルのどこかに書いてあったように思います。

snoguthi
質問者

補足

回答ありがとうございます。 マニュアルは結構調べたのですが、シャットダウン前にインスタンスを停止しなければならない、といった記述は見つけられませんでした。 別の手段でもいいので(例えばシャットダウン時に自動的にoradim -shutdown のバッチファイルを実行する等)自動停止の仕組みにしたいのですが、やはり無理でしょうか?

関連するQ&A

  • インスタンスについて

    Server:Solaris DB:Oracle8.1.7 オラクルについての質問です。 夜間バッチ処理後にシェルを起動してshutdown,startupを 行っているのですが、今朝はstartupできていませんでした。 Alertログには、shutdownは正常に行われていましたが startupが下記のように止まっていました。 --------------------------------------       ・       ・ Tue Jul 2 07:53:10 2002 Starting ORACLE instance (normal)  ←ここで止まっていました。 ------------------------------------- よって、インスタンスは上がらず、中途半端なままでした。 その対応は、shutdown abortで落として、startupしようとしました。 しかし、今度は「ORA-03113: end-of-file on communication channel」が 発生したので、確認したところリスナーが停止していました。 その後、リスナーを起動し直したらstartupできました。 ここで、いろいろ疑問があります。  ・startupできなかったのは、制御ファイルがおかしいのか?  (しかし、その場合はエラーが出るはずですよね。)  ・何かの容量がオーバーしたのか? (maxdatafileなど)  ・なぜ、リスナーを起動しないとstartupできなかったのか?   また、リスナーはなぜ停止していたのか?  ・監査を使用して原因解明できるか? お分かりの方がいらっしゃれば、ご教授ください。 お願いします。

  • ORACLE XEでインスタンスが自動起動しない

    【環境】 ・WindowsServer2012 R2 Standard ・Oracle Database 11g R2 Express Edition お世話になります。 上記環境にて、OracleXEのインストールを行ったのですが、 Windows起動時にインスタンスが自動起動してくれずに困っています。 XEとリスナーのサービスはどちらもスタートアップの種類を"自動"としており、 実際に、Windowsが起動するとサービス自体は問題なく開始状態になっています。 ただ、その状態でsqlplusなどでOracleに接続する際、 SYSDBA権限を持ったユーザであれば接続可能なのですが、 ※「アイドル・インスタンスに接続しました」というメッセージが表示されます。 一般ユーザで接続しようとすると ORA-01034:Oracle not available ORA-27101:shard memory realm dose not exist となり、接続できません。 インスタンスが起動していないからということはわかりましたが、 自動でインスタンスを起動させるにはどのようなことを行えばよいのでしょうか。 ※手動であればSYSDBAユーザでstartupをかければいいということはわかっております。 自動起動させるようなバッチファイルを作成する方法や、 最悪レジストリをイジったりといった手段もアレコレ探してみましたが これといった情報は得られませんでした。 何かお分かりになる方いらっしゃいましたらご教示の程宜しくお願い致します。

  • オラクルでインスタンスが作成できない

    Oracle 8.1.7をインストールしたのですが、インスタンスを作成しようと思いDBASSISTを起動しました。そして、必要な項目(下記)を選択後、完了ボタンを押したのですが、途中で[ORA-01012--Oracle Not logged on]のオラクルエラーが出てそれ以上進みません。NLS_LANGもjapanese_japan.ja16eucで設定しています。また、最後に「入力されたパスワードは間違っています」というメッセージが表示され終了してしまいます。できる限りのことはやってみたのですが、どうしてもわかりません。 何か良い回避方法を知っている方がいらっしゃれば、ご教授いただけると幸いです。 よろしくお願いします。

  • windows7が通常起動しない

    今日、PCを使っている最中に突然画面が真っ黒になり動かなくなりました 仕方がないので、電源を手動できり再起動させたところwindowsを起動していますの画面の次にブルースクリーンが出てしまいました セーフモードではなんとか起動できるのですが通常起動させようとするとまたブルースクリーン→windowsを起動しています→セーフモード画面のループが続きます OSはwindows7 Home Premiumです エラーコードは0X0000116でした *** STOP:0X0000116(0X8B710510.0X936DF0A4.0X00000000.0X00000002) ***nvlddmkm.sys-Address 936DF0A4 base at 9981D000.Datestamp 4c4e6761 collecting data for crash dump... Initializing disk for crash dump... Beginning dump of physical memory. Dumping physical memory to disk:100 最近、地震の為の停電で2,3回切れたのが原因なのでしょうか?

  • ORA-01092 ORACLEインスタンスが終了しました。強制的に切断されます

    ORACLE 8.1.7 OS(クライアント):windows2000pro OS(server):windowsNT4.0 上記の環境でDB(oracle)を DB1, DB2, DB3 の3種類(完全に別物)構築していた のですが、そのうちの1つ DB1 のみが 現在、SQLplusを起動し、ユーザー名、パスワード、ホスト文字列 を入力し、接続しようとすると、下記エラーが発生しできま せん ORA-01092 ORACLEインスタンスが終了しました。強制的に切断されます DB1 を復旧する方法を教えてください DB1 のデータはバックアップされています よろしくお願いいたします

  • WindowsUpdate後、Windows XPがシャットダウンができなくなった

    症状: Windowsをシャットさせようと、「スタート」→「終了オプション」→「電源を切る」の操作を実行しましたが、1時間以上経過しても「Windowsをシャットダウンしています」というメッセージが出てこず、電源を切れなくなりました。 待っている間もファイルの操作はできるのでフリーズはしていません。 関連があるかは分かりませんが、この症状が表れたのは、WindowsUpdate「816093 : セキュリティ問題の修正プログラム - Microsoft virtual machine (Microsoft VM) 」のパッチをあてた3月23日からです。 PCのスペック(不足している情報があれば補足します): 【製品名】 E10/2KLDEW     【OS】  Windows XP Professional SP2 【CPU】  Pentium M725 1.6GHz 【メモリ(標準/最大)】 2GB 【HDD(容量/空き領域)】 80/70GB 対応: ・スキャンディスク(完全) ・システムの復元 ・USB機器を外す ・http://support.microsoft.com/default.aspx?scid=kb;ja;882365 と過去ログを読み、色々試していますが解決に至っていません。 原因を特定するためには、何をすべきでしょうか? 「P-ShutDown」(PCを終了させるソフト)ではシャットダウンできすのですが、起動して実行するのに時間がかかるため、スタートメニューから行いたいのです。 どなたかアドバイスいただけたら助かります。よろしくお願いいたします。

  • IBM T41 リカバリー後、Rescue and Recoveryのワーク画面が表示する。

    IBM T42 リカバリーCDで説明通り終了しましたが、再起動するとRescue and Recoveryの画面が表示して、Windowsの画面にならないので、困っています。後の方法を教えて下さい。  以上

  • ORACLE9iのリカバリ方法

    ORACLE9iのリカバリ方法を教えてください。 Windows server 2003 R2、Oracle9iを使用しています。 Cドライブにoracleをインストール、Dドライブにoracleのデータを格納しています。 Cドライブのハードディスクが駄目になったので、Cドライブのハードディスクを交換して Windows server 2003 R2をインストールして Windowsの標準機能のバックアップ(バックアップデータには、system stateも含んでいます。)からバックアップしておいたデータを復元させました。 ファイル単位のデータや、オラクルのサービスは復旧したのですが、オラクルのテーブルなどが開きません。 SI ObjectBrowserでオラクルを開こうとしたとき、 「ORA-01219:データベースがオープンしていません。固定の表/ビューに対する問合せのみ可能です。」 というメッセージが表示されます。サービスの再起動をしましたが、同じようなエラーがでます。 SQLPLUSで、alter database openのコマンドを入れてデータベースをオープンさせようとしたところ、 次のようなエラーが出てきました。 ORA-01122:データベース・ファイル8の照合検査でエラーが発生しました。 ORA-01110:データ・ファイル8:'D:ORACLE^ORADATA\SFRES\USER01.DBF' ORA-01207:ファイルが制御ファイルより新しくなっています。-古い制御ファイルです。 どなたか、解決方法をご存知の方、ご教授ください。

  • メモリ不足について

    はじめまして パスワードファイルを作成後、CREATE DATABASEを実行するべく 以下のようにnomountで起動しようとしたところエラーが発生しました。 OS:HP-UX 11.23 64bit Oracle10gR2 SQL> connect SYS/dbamgr as SYSDBA アイドル・インスタンスに接続しました。 SQL> startup nomount pfile="○○.ora"; ORA-00604: error occurred at recursive SQL level 1 ORA-04030: out of process memory when trying to allocate 312 bytes (PCursor,kglob) SQL> shutdown immediate; ORA-00604: error occurred at recursive SQL level 1 ORA-04030: out of process memory when trying to allocate 312 bytes (PCursor,kglob) SQL> startup nomount pfile="○○.ora"; ORA-01081: cannot start already-running ORACLE - shut it down first SQL> shutdown abort; ORACLEインスタンスがシャットダウンされました。 SQL> ORA-04030がプロセスのメモリ不足だというのは調べてわかったのですが、 どう対応してよいのかわかりません。 ちなみに、 ulimit -a 実行結果(oracleユーザ) time(seconds) unlimited file(blocks) unlimited data(kbytes) 1048576 stack(kbytes) 131072 memory(kbytes) unlimited coredump(blocks) 4194303 nofiles(descriptors) 2048 初期化パラメータ pga_aggregate_target=34952192 sort_area_size=11184128 java_pool_size=21504 large_pool_size=8388608 shared_pool_size=11184128 sga_max_size=89478144 sga_target=89478144 となっています。 初期化パラメータについては、以前Oracle9iで稼動させていたパラメータ値を そのまま流用しています。 (sga_targetは新規で追加していますが) よろしくお願いします。

  • 更新してシャットダウン

    Windows10 4GB dynabook T452/33HB PCを閉じる時、通常上段よりサインアウト(I)  スリープ(S) シャットダウン(U) 再起動(R)の表示です。それが上段よりサインアウト(I) スリープ(S) 更新してシャットダウン(U) 更新して再起動(R)  更新してシャットダウン(U) 更新して再起動(R) と「更新して」の言葉が、入り 終了する。何でこのようになったのか解りません。PC故障等、困惑しています。通常通りの言葉に戻したくご指導方法をおねがいします。