sql >> データベース >  >> RDS >> Oracle

ホットバックアップをとるときにOracleが従うメカニズム

    ホットバックアップとは、システムが稼働中であり、更新が通常どおり行われていることを意味します

    ここでは、ホットバックアップを作成する際のOracleによるメカニズムのフォローについて説明します

    手動ホットバックアップ

    表領域に対して以下のコマンドで手動ホットバックアップを開始

    表領域の変更USERSがバックアップを開始します;

    その時点ではほとんど何も起こりません
    1)DBWnはテーブルスペースをチェックポイントします(特定のSCNの時点ですべてのダーティブロックを書き出します)

    2)CKPTは、データファイルヘッダーのチェックポイントSCNフィールドの更新を停止し、代わりにホットバックアップチェックポイントSCNフィールドの更新を開始します
    ファイルがホットバックアップモードの場合、最後に完了したチェックポイントのSCNを含むデータファイルヘッダーは更新されません。 。これにより、リカバリプロセスは、このファイルを完全にリカバリするために必要なアーカイブREDOログファイルを理解できます。

    3)LGWRは、DBWnによって書き込まれた後、ブロックが最初に変更されたときに、変更されたブロックの完全なイメージのログ記録を開始します。
    ホットバックアップモードのデータファイルでブロックが最初に変更されたとき、ブロック全体がに書き込まれます。変更されたバイトだけでなく、ログファイルをやり直します。通常、変更されたバイト(REDOベクトル)のみが書き込まれます。ホットバックアップモードでは、ブロック全体が最初にログに記録されます。これは、データファイルとDBWRをコピーするプロセスが同じブロックで同時に動作している状況に陥る可能性があるためです。
    それらが同じであり、OSブロッキング読み取り係数が2Kであるとしましょう。バックアッププログラムは、8kのOracleブロックを読み取ります。 OSはそれに4kを与えます。一方、DBWRはこのブロックの書き換えを要求しました。 OSは、DBWR書き込みが今すぐ発生するようにスケジュールします。 8kブロック全体が書き換えられます。バックアッププログラムは再び実行を開始し(ここではマルチタスクOS)、ブロックの最後の4kを読み取ります。バックアッププログラムは現在、ブロックが壊れています。ヘッドとテールは2つの時点からのものです。
    Oracleはリカバリ中にこれに対処できません。したがって、ブロックイメージ全体をログに記録して、リカバリ中にこのブロックがRE​​DOから完全に書き換えられ、少なくともそれ自体と一致するようにします。そこから回復できます。

    ホットバックアップの重要なポイント

    1)この追加のログの影響を制限するには、バックアップモードで一度に1つの表スペースのみを配置し、バックアップしたらすぐに表スペースをバックアップモードから解除する必要があります。これにより、ログに記録する必要のあるブロックの数を可能な限り最小限に抑えることができます。

    2)表領域がホットバックアップモードであり、データベースが中止された場合。次に、開始しようとすると、そのテーブルスペースのデータファイルSCNが古くなるため、リカバリについて文句を言います。次に、データベースを開始するには、最初にそのテーブルスペースのバックアップを終了する必要があります。チェックポイントSCNをホットバックアップチェックポイントSCNで更新するだけです
    リカバリマネージャのバックアップ
    ホットバックモードを使用してバックアップを作成するためにテーブルスペースをホットバックアップモードにする必要はありません
    RMANはOracleツールであるため、フラクチャされたブロックケースの処理方法を知っているため、ブロックフラグメントや部分的なブロックをバックアップに書き込み、完全な整合性のあるブロックイメージをバックアップメディアに書き込みます。したがって、リカバリマネージャはブロック全体をREDOログファイルに記録する必要はありません。つまり、手動のホットバックアップの場合からREDOログを大幅に節約できます

    また、rmanはデータファイルヘッダーをフリーズせず、通常どおりチェックポイントを継続しますが、テーブルスペースへのチェックポイントを実行します。

    RMANバックアップは、バックアップの開始時に開始SCN、絶対ファジーSCN(最初のSCNの開始と同じ)を書き留めます。ブロックはデータファイルにバックアップされるため、ブロックのSCNが開始よりも高い場合は、ブロックがチェックされます。 SCN、AbsoluteFuzzySCNはその番号で更新されます。すべてのブロックについても同じことが言えます。データファイル全体がバックアップの場合、これらの番号は両方ともバックアップヘッダーに保存されます。

    したがって、RMANがこれらのバックアップを復元するときはいつでも、SCNの開始からSCNの終了までを知っているので、データファイルを確実に回復する必要があります

    したがって、基本的に、RMANホットバックアップでのロギングの増加のようなオーバーヘッドはありません。

    RMANを使用したイメージバックアップについても同じことが言えます


    1. MySQLで数値を含まない値を検索する

    2. SP_WhoIsActiveまたはFogLightを介してSQLデータベースを監視する| SQLServerのパフォーマンスのトラブルシューティング-1

    3. 外部キーを介したテーブル内のレコードへの参照のカウント

    4. バックエンドパフォーマンスの改善パート2/3:データベースインデックスの使用