ホームページ >データベース >mysql チュートリアル >データベース回復テクノロジーとは何ですか?
データベース回復テクノロジには次のものが含まれます。 1. データ ダンプ、つまり、DBA がデータベース全体を定期的にテープまたは別のディスクにコピーして保存するプロセス。 2. ログ ファイルの登録 ログ ファイルは、データベース上のトランザクションの更新操作を記録するファイルです。ログ ファイルを設定すると、トランザクション障害の回復、システム障害の回復、およびメディア障害回復時のバックアップ コピーの支援が可能になります。
このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。
データベース管理システムには、データベースをエラー状態から既知の正しい状態に回復する機能が必要です。これがデータベース回復です。回復サブシステムはデータベース管理システムの重要な部分であり、非常に大きく、システム コード全体の 10% 以上を占めることもあります。データベースシステムで使用されているリカバリ技術が有効であるかどうかは、システムの信頼性を左右するだけでなく、システムの運用効率にも大きな影響を及ぼし、システムの性能を測る重要な指標となります。 。
システム障害はソフト障害と呼ばれ、メディア障害はハード障害と呼ばれます。ハード障害とは、ディスクの損傷、ヘッドの衝突、瞬間的な強い磁界の干渉など、外部ストレージの障害を指します。このタイプの障害はデータベースまたはデータベースの一部を破壊し、データのこの部分にアクセスしているすべてのトランザクションに影響を与えます。 さまざまな種類の障害をまとめると、データベースへの影響には 2 つの可能性があります。 1 つは、データベース自体が破損していることです。 2つ目は、データベースは破損していないが、トランザクションが異常終了したためにデータが正しくない可能性があります。 リカバリ メカニズムには 2 つの重要な問題があります: 1. 冗長データを確立する方法; 2これらの冗長データを使用してデータベースのリカバリを実装する方法。 冗長データを作成するための最も一般的な手法は、データ ダンプとログ ファイルです。通常、データベース システムでは、これら 2 つの方法が併用されます。 #データ ダンプ データ ダンプ方法は、動的増分ダンプ、動的マス ダンプ、静的インクリメンタル ダンプ、および静的マス ダンプの 4 つのカテゴリに分類できます。 #ログ ファイルの登録 ログ ファイルは次の目的で使用されます。データベースへのトランザクション更新を記録するファイル。ログ ファイルには、レコード内のログ ファイルとデータ ブロック内のログ ファイルの 2 つの主な形式があります。 レコード単位のログファイルの場合、登録が必要な内容は、 1. 各トランザクションの開始マーク 3. 各トランザクション すべての更新操作 1. トランザクションの識別 (どのトランザクションであるかを示します) 3. 操作オブジェクト (内部識別を記録) ログ ファイルは、データ回復において非常に重要な役割を果たします。トランザクション障害の回復やシステム障害の回復に使用でき、メディア障害の回復におけるバックアップ コピーを支援します。 具体的な機能は次のとおりです: 1. トランザクション障害の回復とシステム障害の回復にはログ ファイルを使用する必要があります。 2. ダイナミック ダンプ モードでは、ログ ファイルは次のとおりです。作成されたバックアップ コピーとログ ファイルが結合されて、データベースが効果的に復元されます。 3. 静的ダンプ モードでは、ログ ファイルも作成できます。 データベースが確実に回復可能であるようにするには、ログ ファイルを登録するときに次の 2 つの原則に従う必要があります。 トランザクション障害の回復 トランザクション障害の回復は、次によって自動的に実行されます。システムは完成しており、ユーザーには透過的です。システム回復手順は次のとおりです: 1. ログ ファイルを逆方向にスキャン (つまり、ログ ファイルを最後から順にスキャン) して、トランザクションの更新操作を見つけます。 2. トランザクションの更新操作の逆の操作を実行します。つまり、ログレコードの「更新前の値」がデータベースに書き込まれます。このように、レコードが挿入操作の場合は削除操作と同等、レコードが削除操作の場合は挿入操作が実行され、変更操作の場合は代わりに前の値を変更することと同等になります。変更された値の。 3. 引き続きログ ファイルを逆方向にスキャンし、トランザクションの他の更新操作を見つけて、同じ処理を実行します。 4. このトランザクションの開始マークが読み取られ、トランザクション障害の回復が完了するまで、このように処理を続けます。 システム障害からの回復 トランザクション障害からの回復はシステムによって自動的に完了し、ユーザーには意識されません。システムの回復手順は次のとおりです: 1. ログ ファイルを順方向にスキャンして、障害が発生する前に送信されたトランザクションを見つけ、そのトランザクション ID を再実行キューに記録します。同時に、障害が発生したときに完了していなかったトランザクションを見つけて、それらのトランザクション表現をアンドゥ キューにカウントします。 2. アンドゥ (UNDO) キュー内の各トランザクションを元に戻します。 UNDO 処理の方法は、ログ ファイルを逆スキャンし、各 UNDO トランザクションの更新操作で逆の操作を実行することです。つまり、ログ レコードの「更新前の値」をデータベースに書き込みます。 。 3. REDO キュー内のトランザクションごとに REDO 処理をやり直す REDO 処理の方法は、ログ ファイルをフォワード スキャンし、REDO トランザクション操作ごとにログ ファイルを再登録します。つまり、ログ レコードの「更新された値」がデータベースに書き込まれます。 障害から回復する方法は、データベースを再インストールし、完了したトランザクションをやり直すことです。 1. 最新のデータベース バックアップ コピーをロードすると、データベースが最新のダンプの一貫性のある状態に復元されます。 2. ログ ファイルの対応するコピーをロードし、完了したトランザクションをやり直します。つまり、最初にログ ファイルをスキャンして、障害が発生したときにコミットされたトランザクションの ID を見つけ、それを再実行キューにカウントします。次に、ログ ファイルを順方向にスキャンし、REDO キュー内のすべてのトランザクションをやり直します。つまり、ログ レコードの「更新された値」がデータベースに書き込まれます。 メディア障害からの回復には DBA の介入が必要です。ただし、DBA は、最近ダンプされたデータベース コピーと関連するログ ファイルのコピーを再インストールし、システムが提供するリカバリ コマンドを注文するだけでよく、特定のリカバリ操作は DBMS によって完了されます。 ディスク容量が大容量化するにつれて、価格もどんどん安くなっていきますが、ディスクメディアの障害によるデータベースの可用性への影響を避けるために、多くのデータベース管理システム データベース回復のためのデータ分散機能を提供します。 DBA の要求に従って、データベース全体またはデータベース内の主要なデータが別のディスクに自動的にコピーされます。 データベース ミラーリングはデータのコピーによって実現されるため、データを頻繁にコピーすると当然システムの運用効率が低下するため、アプリケーションでは、データベース全体をミラーリングするのではなく、重要なデータとログ ファイルのみをミラーリングすることを選択することがよくあります。鏡。 (推奨チュートリアル: mysql ビデオ チュートリアル ) 以上がデータベース回復テクノロジーとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。コンピュータ ウイルス
リカバリ実装テクノロジ
ダンプは、大規模ダンプと増分ダンプの 2 つの方法に分類できます。一括ダンプとは、データベース全体を毎回ダンプすることを指します。増分ダンプとは、前回のダンプ以降に更新されたデータのみをダンプすることを指します。リカバリの観点から見ると、一般に、リカバリには大量ダンプから取得したバックアップ コピーを使用する方が便利です。
各ログ レコードの内容は次のとおりです:
4. 更新前のデータの古い値
5. 更新後のデータの新しい値
1. 登録の順序は、同時トランザクション実行の時間順序に厳密に従っている必要があります。
2.最初にログ ファイルを書き込み、次にデータベースを書き込む必要があります。 回復戦略
メディア障害からの回復
データベースミラーリング