データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

増分更新されたイメージを使用した弾丸速度の回復

ダウンタイムを最小限に抑え、データベースの可用性を高めることは、すべてのビジネスが達成しようとしている重要な目的です。データベース管理者(DBA)は、データファイルまたは完全なデータベース破損の障害が発生した場合に、より高速なリカバリソリューションを提供する新しい方法を常に模索しています。バージョン10g以降、Oracle®Recovery Manager(RMAN)は、IncrementalMerge Backups(IMB)と呼ばれる機能を提供します。これは、特に非常に大規模なデータベース(VLDB)の場合、リカバリ時間を最小限に抑えるソリューションを提供します。

はじめに

適切なオプションで構成されている場合、IMB機能はデータベースのリカバリ時間を大幅に短縮できます。広く使用されていませんが、この機能はVLDBの理想的なバックアップ方法です。データファイルのイメージコピーが作成され、インクリメンタルバックアップが適用されます。これにより、各バックアップ操作の後にイメージコピーがロールフォワードされます。

この投稿では、IMBを使用する際の考慮事項に焦点を当て、プロセスを説明するサンプルコードを提供し、いくつかのリカバリシナリオを示します。

考慮事項

イメージコピーのバックアップ戦略を使用する前に、次の考慮事項に留意してください。

  • データベースでブロック変更追跡(BCT)を有効にする必要があります。

  • データベースのイメージコピーを保存するには、データベースデータファイルが実際に使用しているのと同じ量のディスク容量が必要です。

  • ポイントインタイムリカバリ(PITR)の場合、少なくとも1つの完全バックアップが必要であり、データベースのリカバリが完了するまでログをアーカイブする必要があります。

  • データベースのイメージコピーは、データベースコピーへの切り替え中にパフォーマンスが影響を受けないように、入出力(I / O)に関して同じタイプのストレージに配置する必要があります。

次の画像は、段階的に更新されるバックアップを示しています。

増分更新されたイメージを使用した弾丸速度の回復 サンプルコード

次のコードを実行して、毎日の画像コピーを取得し、段階的に更新します。

    run
    {
       allocate channel c1 device type disk format ‘/home/oracle/backup/%U’;
       recover copy of database with tag ‘IMG_COPY’;
       backup incremental level 1 for recover of copy with tag ‘IMG_COPY’ database;
       release channel c1;
    }

最初の実行時に、recover copy of database コマンドは何もしません。backup incremental コマンドは、新しいインクリメンタルlevel 0を作成します backuptagged IMG_COPY これは、このタグを使用して作成される最初のバックアップであるためです。

2回目の実行で、recover copy of database コマンドは、INC 1が見つかるまで何もしません。 バックアップ。 backup incremental コマンドはINC 1を作成します バックアップ。

3回目以降の実行では、recover command 最後に利用可能なINC 1を適用します 既存のイメージコピーにバックアップします。 backup command 次のINC 1を作成します バックアップ。

リカバリシナリオ

次の使用例は、インクリメンタルマージバックアップが無関心なリカバリ状況をどのように支援するかを説明しています。

ケース1:破損、削除、または上書きされたデータファイル

次のコードに示すように、テスト用のテーブルを作成し、前のスクリプトを使用して画像のコピーを作成します。

SQL> create table ImgCpyTab tablespace tbs2 as select * from dba_objects;
Table created.

FILE_NAME FILE_ID TABLESPACE_NAME
————————- ——————— ———————————————

/home/oracle/Sw/oradata/test/tbs02.dbf 5	TBS2

SQL> select count(1) from ImgCpyTab;
COUNT(1)
———-
72476

このシナリオをテストするには、次のコードに示すように、物理データファイルを意図的に移動し、select コマンドは予期されたエラーをスローします。

mv /home/oracle/Sw/oradata/test/tbs02.dbf /home/oracle/Sw/oradata/test/tbs02.dbf_BKP

select count(1) from scott.IMGCPYTAB
*
ERROR at line 1:
ORA-01116: error in opening database file 5
ORA-01110: data file 5: ‘/home/oracle/Sw/oradata/test/tbs02.dbf’
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3

この場合、物理ファイルを復元する必要はありません。代わりに、バックアップに切り替えてリカバリしてください。これは、データファイルやデータベースサイズがテラバイトの場合でも非常に高速です。

次のコードは、データファイルをオフラインモードにします。

SQL> alter database datafile 5 offline;
Database altered.

次に、データファイルをコピーとリカバリに切り替えます。

[oracle@localhost backup]$ rman target /
Recovery Manager: Release 11.2.0.2.0 – Production on Thu Jun 5 18:17:15 2014
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database: TEST (DBID=2122535405)

RMAN> switch datafile 5 to copy;
using target database control file instead of recovery catalog
datafile 5 switched to datafile copy “/home/oracle/backup/data_D-TEST_I-2122535405_TS-TBS2_FNO-5_6ppa3ev1”

RMAN> recover datafile 5;
Starting recover at 05-JUN-14
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=19 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=149 device type=DISK
starting media recovery
media recovery complete, elapsed time: 00:00:01
Finished recover at 05-JUN-14

RMAN> sql ‘alter database datafile 5 online’;
sql statement: alter database datafile 5 online

RMAN> exit

次のコードに示すように、日付ファイルが戻ってきて、テーブルにアクセスできます。

FILE_NAME FILE_ID TABLESPACE_NAME
————————- ——————— ———————————————

TBS2 /home/oracle/backup/data_D-TEST_I-2122535405_TS-TBS2_FNO-5_6ppa3ev1 AVAILABLE

SQL> select count(1) from scott.IMGCPYTAB;

COUNT(1)
———-
72476

注: file_nameが表示された場合 列から、データベースがイメージコピーファイルを使用していることがわかります。

ケース2:データベース全体の破損またはディスク障害

データベースが完全に破損しているか、ディスクに障害がある場合は、次の手順を使用してデータベースをコピーに切り替えることができます。

  1. データベースをシャットダウンします。
  2. 制御ファイルが見つからない場合は、復元します。
  3. 画像のコピーをカタログ化します。
  4. データベースをコピーに切り替えます。
  5. アーカイブが利用可能になるまで回復してから、データベースを開きます。
結論

この投稿では、RMANイメージコピーのバックアップとリカバリ機能の使用方法について説明しました。また、物理的な破損が発生した場合のデータファイルとデータベースの実装とリカバリのユースケースもいくつか提供しました。インクリメンタルマージバックアップ機能は、データベースのバックアップを簡素化し、高速で柔軟なデータリカバリを保証します。

[フィードバック]タブを使用して、コメントを書き込んだり、質問したりします。


  1. Verticaデータベースのバックアップと復元

    データの破損や偶発的な削除が発生した場合にデータを確実に回復できるようにするには、データベースのバックアップを定期的なメンテナンス作業にします。この投稿では、Vertica®データベースのバックアップと復元について説明します。 はじめに 分析データベース管理システムであるVerticaは、大量のデータを処理するように設計された列型ストレージプラットフォームであり、従来のリソースを大量に消費するシナリオで高速なクエリパフォーマンスを実現します。 Verticaには次の利点があります。 従来のデータベースリレーショナルデータベース管理システムよりもクエリパフォーマンスが向上します。 高可用性

  2. 増分バックアップを使用してフィジカル・スタンバイ・データベースをリカバリーします

    スタンバイデータベースは、基本的に本番データベースの一貫したコピーであり、本番災害、データ損失、または破損に役立ちます。 はじめに 次の理由により、プライマリサイトとスタンバイサイトの間の遅延が発生する可能性があります。 プライマリデータベースとスタンバイデータベース間のネットワーク帯域幅の問題。 スタンバイデータベースが利用できない。 プライマリデータベースのアーカイブREDOデータが誤って削除された。 プライマリサイトからアーカイブログをコピーして適用することで、プライマリ環境とスタンバイ環境を同期できますが、このプロセスには非常に時間がかかります。 もう1つのオプションは、プラ