0

デプロイ テストを実行できるように、本番環境を複製するために VM をセットアップしています。VM は、 Oracle 10gでWindows Server 2003を実行しているVMWare Serverです。tnsnames 接続識別子を介して oracle に接続しています。

一度起動して実行し、VM ファイルをコピーしたところ、すべてがうまくいっていると思いました。しかし、作成したバックアップでオラクルを実行しようとすると、いくつかの問題が発生します。そうは言っても、これまたは動作中の VM に気付かなかった、または忘れていた変更を加えた可能性は十分にあるため、これは必ずしも仮想化の問題ではないと思います。

私はオラクルの専門家ではありません。また、データベース管理者もあまりいないので、ここではクリークのようなものです。これが私の問題です:

  • マシンを起動すると、lsnrctl サービスを実行でき、アプリケーション データベースを収容するサービスで 1 つのインスタンスが実行されていることがわかります。sqlplus を介して接続しようとすると、ORA-01033: Oracle の初期化またはシャットダウンが進行中です。
  • しばらく待つと、サービスが lsnrctl サービス リストから消えていることがわかります。明らかに sqlplus に接続できません (ORA-12514)
  • Windows サービス管理 mmc コンソールに移動すると、その Oracle インスタンスを格納する必要がある Windows サービスがまだ実行中であることがわかります。
  • Windows サービスを再起動できます。この時点で、lsnrctl サービスの下にもう一度表示できますが、sqlplus を介して接続しようとすると、ORA-01033 が発生します。しばらくすると、シャットダウンして消えます。
  • 任意の時点で sqlplus "/ as sysdba" を試行すると、ORA-12560: TNS: プロトコル アダプタ エラーが発生する
  • Windows イベント ログには何も書き込まれません。

何がこれを引き起こす可能性があるかについてのアイデアはありますか? 次に試すことができるヒントはありますか?

更新: stackoverflowの精神で、誰かが後でアドバイスを探しに来た場合に備えて、これを開いたままにしておきますが、私の場合、オラクルの完全なアンインストール/インストールとデータベースの再インポートが最も適切な解決策でした.

4

3 に答える 3

1

制御ファイルを作成した後、「alter database open」を実行しましたか?

http://www.dba-oracle.com/t_ora_01033_initialization_shutdown_progress.htmを参照してください。

それとも、破損したファイルがありますか?

http://basmv.blogspot.com/2007/10/oracle-ora-01033-error.htmlを参照してください。

人々があなたと同じように取り組んできた問題がたくさんあるようです。「ORA-01033」をググってください。

于 2009-03-10T18:15:16.123 に答える
1

私も、VM (私の場合は Virtual PC) の下で Windows Server 2003 R2 で Oracle 10g (10.2 だと思います) を実行すると、奇妙な問題が発生しました。なんらかの理由で、ローカルの Oracle 管理ツールの 1 つを開くまで、Oracle はデータベースの起動を完了しませんでした。それは Database Configuration Assistant だったと思います。

既存のデータベースの構成オプションを選択した場合、DB は正常に開始されます。その時点から、イメージをシャットダウンするのではなく、VM に保存して終了するように指示します。

そもそも何が問題を引き起こしたのかわかりませんでした...

于 2009-03-10T18:41:20.430 に答える
1

Windows 上の Oracle は少し奇妙です。

oracle_home を適切に設定/選択する必要があるだけでなく、oracle のバージョンが同じであり、ウィンドウのレジストリ内の oracle エントリが有効である必要があります。それらがすべて正しくない場合、sqlplus "/ as sysdba" を使用してデータベースに接続することはできません。

それとは別に、データベースの alert.log が保存されている場所に移動します。アラート・ログ・ファイルを調べて、データベースが起動プロセスのどこにあるか、完全に起動したかどうかを確認します。完全に開いていない場合は、開く必要があります。

データベースにsysdbaとしてログインできないため、これは困難です。sysdba ログインの問題を解決して、sysdba としてローカルでインスタンスにログインできるようにし、データベースをオンラインにする問題を解決できるようにします。最善の方法は、元のサーバーと同じバージョンの oracle を新しい vm にインストールし、vm で prod サーバーと同じ oracle サービスを作成し、prod サーバーを完全にシャットダウンし、prod からすべてのデータベース ファイルをコピーすることです。サーバーを vm に、それらが存在していた正確な場所に移動します。spfile を忘れないでください。それぞれのマシンでサービスを開始し、動作するかどうかを確認します。Prod は影響を受けないはずなので、正常に再起動するはずです。仮想マシンでエラーのアラート ログを確認し、修正します。

他のすべてが失敗した場合は、Rman を使用して prod を vm に複製すると、うまくいくはずです。

于 2009-03-11T16:18:47.237 に答える