助けが必要!
Database Backup and Recoveryユーザーズガイド11gを読みましたが、tspitrを実行するために補助インスタンスが必要な理由がわかりません。同じインスタンス内でテーブルスペースの完全なリカバリを実行できますが、tspitrではなぜ不可能なのですか?
ここ Hemant K Chitaleのコメント: "データベースの他の部分よりも低いSCNに表領域をリカバリすることはできません。 "。誰かが私が理由を理解するのを手伝ってくれる?
このメッセージでは テーブルスペースをオフラインにすると、しばらくするとそのSCNが他のテーブルスペースのSCNよりも低くなり、オンラインにすると " REDOを適用しないと、現在のSCN "が採用されます。
では、データファイルがSCNを現在に採用するまで、データベースを開いて回復できないのはなぜですか?それは、OracleDBの技術的側面によるものですか、それとも別の理由がありますか?
TL; DR現在の取り消し全体を上書きせずにデータ+取り消しを復元できるようにします。
RMANオンラインバックアップを実行すると、一部のトランザクションは処理の途中で、何かを変更しましたが、まだCOMMITを実行していません。作業のトランザクションモデル(「アトミック性」)では、リカバリ時にこれらのトランザクションをロールバック(完全に元に戻す)する必要があります。 Oracleエンジンはこれを自動的に行います。 Oracle Engineは、これが実行できない場合、一貫性のない可能性のあるデータがユーザーに表示されないように、テーブルスペースのオンライン化を許可しません。では、トランザクションは、変更する前に「一貫性のある」データを何らかの方法で保存しますか?はい、UNDO表領域(または「ロールバックセグメント」)にあります。これが、表領域をリカバリするときに、元に戻したものを「忘れる」ことができない理由です。同じ時点(同じSCN)から元に戻すをリカバリする必要があります。
要約すると、Oracleエンジンには元に戻すデータが必要です と同期 メインデータと同じ時点から。
元に戻すは、通常、多くの異なるデータテーブルスペースからの「一貫性のある」情報が混在しているにもかかわらず、単一のテーブルスペースに配置されます。これが、補助インスタンスにTSPITRを実行する理由です。これにより、現在の取り消し全体を上書きせずに、データと取り消しを復元できます。
補助がオンラインになると、補助のデータの整合性が保たれ、補助の元に戻す必要がなくなります。