私が対処している問題は、Redo Apply を使用してデータ ガードで管理されているデータベースがあり、REDO ログがターゲット データベースにコピーされ、適用されて同期が維持され、フェイルオーバーの準備が整うというものです。
ターゲット (DR) データベースはしばらくオフラインになっており、調査の結果、オフラインであることが判明し、制御ファイルが見つからないため起動できません。
元のデータベースは正確なコピーであるため、相対ファイル パスと名前はプライマリ データベースと一致します。
これを整理するためのアイデアがいくつかあるので、誰かが経験談を提供してくれるかどうか知りたいです。
1) 不足している制御ファイルをプライマリから DR サーバーにコピーし、起動してみます。時間の経過とともに、DR にはないファイルがプライマリに追加された可能性があります。現在回復可能なものが台無しになるのではないかとも心配です。
2) 現在のプライマリ制御ファイルをトレース > sql にエクスポートし、ターゲットデータベースに合わせて変更してから、sql を使用して制御ファイルを作成します。
3) もう一度やり直して、新しい DR ターゲットを作成します。最初の DR (データ ガード) セットアップを作成していないため、これがどれほど簡単かはよくわかりませんが、少なくとも機能することはわかっています。
アドバイスをお待ちしています。
答え1
それぞれの側に制御ファイルのコピーを複数用意する必要があります。主な使用の場合:
ALTER DATABASE CREATE STANDBY CONTROLFILE as '/path../control01.ctl';
これにより、特別なフラグが設定されている制御ファイルにコピーが作成されます。これにより、データベースは制御ファイルの SCN よりも新しい/古い redolog を適用できるようになります。