web-dev-qa-db-ja.com

RMANを使用したデータベースのバックアップ

RMANを使用してデータベースをバックアップする予定ですが、私はDB管理の初心者なので、これについてはあまり知識がありません。

しかし、私はいくつかの質問をしました。
現在、Oracle11gデータベースをnoarchivelogモードで使用しています。私の知る限り、データベースをアーカイブログモードで実行すると、バックアップは短い間隔で実行されますが、これは好ましくありません。データベースをシャットダウンせずに、1日に1回だけバックアップを作成する必要があります。それは可能ですか?

データベースをアーカイブモードで実行するか、アーカイブなしモードで実行するか、どちらが良いオプションですか?また、アーカイブなしモードを使用する場合、バックアップを手動で削除する必要がありますか、それとも自動的に削除されますか?

1
SHS

現在、Oracle11gデータベースをnoarchivelogモードで使用しています。私の知る限り、データベースをアーカイブログモードで実行すると、バックアップは短い間隔で実行されますが、これは好ましくありません。データベースをシャットダウンせずに、1日に1回だけバックアップを作成する必要があります。それは可能ですか。

まず第一に、データベースをシャットダウンせずにそれを言いたいと思います。 RMANを介してバックアップを取ることが可能です。

RMANとは何ですか?

Recovery Manager(RMAN)は、データベースでバックアップおよびリカバリタスクを実行し、バックアップ戦略の管理を自動化するOracleデータベースクライアントです。これにより、データベースファイルのバックアップ、復元、および回復が大幅に簡素化されます。

RMAN環境に必要なコンポーネントの数は?

RMAN環境は、データのバックアップで役割を果たすユーティリティとデータベースで構成されています。少なくとも、RMANの環境には次のコンポーネントが含まれている必要があります。

  1. A target database

  2. The RMAN client

  3. A flash recovery area

  4. A media manager

  5. A recovery catalog

データベースをシャットダウンせずにRMANを介してデータベースを取得する場合、そのプロセスは「ホットバックアップ」と呼ばれます。

ユーザーがデータベースにアクセスしているときでもホットバックアップを実行できますが、バックアップ中にデータが変更されると、一貫性が失われる可能性があります。ホットバックアップはコンピューティングリソースを使用するため、データベースのパフォーマンスにも影響を与える可能性があります。ホットバックアップサーバーは通常、運用サーバーから継続的な更新を受信し、フェイルオーバーイベントによって運用サーバーが停止するとすぐに引き継ぐ準備ができています。

ウォームバックアップでは、サーバーの電源はオンになっていますが、作業は実行されていません。または、バックアップ対象のサーバーから更新を取得するために時々オンになっています。ウォームバックアップは通常、ミラーリングまたはレプリケーションに使用されます。

また、RMANを介してデータベースをシャットダウンしてデータベースのバックアップを作成する場合、そのプロセスは「コールドバックアップ」と呼ばれます。

コールドバックアップは、オフラインバックアップとも呼ばれ、データベースがオフラインであり、更新にアクセスできないデータベースバックアップです。これは、更新中のデータをコピーするリスクを回避するため、最も安全なバックアップ方法です。ただし、コールドバックアップでは、バックアップ中にユーザーがデータベースにアクセスできないため、ダウンタイムが発生します。

コールドバックアップは一貫性のあるバックアップを保証しますが、24時間年中無休の継続的な運用を必要とするシステムに使用せざるを得ません。バックアップ中にファイルが変更されないようにするために、ユーザーがログインしたり、アクティビティを実行したりしないでください。データをオフサイト施設にバックアップする場合、データのコピーからコールドバックアップを実行できます。コールドバックアッププロセス中にデータファイルが変更されないため、データベースが通常の操作に戻ったときに一貫した状態になります。

データベースをアーカイブモードで実行するか、アーカイブなしモードで実行するか、どちらが良いオプションですか?

ARCHIVELOGモードであるOracle Suggested Backup Strategyを使用するための準備。

ARCHIVELOGデータベースのバックアップ

データベースをARCHIVELOGモードで実行している場合、アーカイバはオンラインREDOログファイルのグループをアーカイブします。したがって、アーカイブREDOログとオンラインREDOログおよびデータファイルのバックアップを組み合わせることで、データベースをディスク障害から保護し、ディスク障害から障害が発生した瞬間(または目的の非現在時刻)まで完全に回復できます。

ARCHIVELOGモードで動作するデータベースの一般的なバックアップ戦略

  1. データベースを作成したら、データベース全体をバックアップします。この最初のデータベース全体のバックアップは、すべてのデータファイルと関連するデータベースの制御ファイルのバックアップを提供するため、バックアップの基盤となります。

    注:この最初のデータベース全体のバックアップを実行するときは、最初にデータベースがARCHIVELOGモードになっていることを確認してください。それ以外の場合、バックアップ制御ファイルにはNOARCHIVELOGモード設定が含まれます。

  2. データベースが開いているときまたは閉じているときにテーブルスペースのバックアップを作成して、データベースのバックアップを最新の状態に保ちます。バックアップを回復するために必要なアーカイブログがある限り、バックアップを作成するためにデータベースをシャットダウンする必要はありません。

  3. 特に、データベースのリカバリ時間を短縮するために、頻繁に使用されるテーブルスペースのデータファイルを頻繁にバックアップします。最近のデータファイルバックアップで破損したデータファイルが復元される場合は、復元されたデータファイルに適用するREDO(または増分バックアップ)を少なくして、障害発生時にロールフォワードする必要があります。

  4. データベースが開いていて、テーブルスペースがオンラインのときに取得したデータファイルのコピーを使用して、データファイルを復元することもできます。これらの復元されたデータファイルに適切なREDOログファイルを適用して、データの一貫性を保ち、指定された時点に転送する必要があります。

  5. データベースの構造を変更するたびに、制御ファイルをバックアップします。 ARCHIVELOGモードで実行していてデータベースが開いている場合は、RMANまたはSQLステートメントALTER DATABASE BACKUPCONTROLFILEを使用してください。アーカイブされたログを頻繁にバックアップします。アーカイブログのコピーを少なくとも2つ保持することを強くお勧めします。1つはディスクに、もう1つはオフラインストレージ(テープ、光ディスクなど)に保存します。ログはできるだけ長くディスクに保存しますが、できるだけ早くバックアップします。

NOARCHIVELOGデータベースのバックアップ

データベースをNOARCHIVELOGモードで実行している場合、OracleはオンラインREDOログファイルのいっぱいになったグループをアーカイブしません。したがって、ディスク障害に対する唯一の保護は、データベースの最新のバックアップ全体です。

以下は、NOARCHIVELOGモードで動作するデータベースの一般的なバックアップ戦略です。

  1. 失う可能性のある作業量に応じて、データベース全体のバックアップを定期的に作成します。たとえば、1週間で達成された作業量を失う余裕がある場合は、データベース全体の一貫したバックアップを週に1回作成します。 1日の作業だけを失う余裕がある場合は、データベース全体の一貫したバックアップを毎日作成してください。アクティビティ量の多い大規模なデータベースの場合、通常、作業を失うわけにはいきません。この場合、データベースをARCHIVELOGモードで操作する必要があります。

  2. NOARCHIVELOGモードで動作しているデータベースの物理構造を変更するときはいつでも、データベース全体の一貫したバックアップをすぐに作成してください。データベース全体のバックアップは、データベースの新しい構造を完全に反映しています。

また、アーカイブなしモードを使用する場合、バックアップを手動で削除する必要がありますか、それとも自動的に削除されますか?

まず、RMANバックアップの保持ポリシーを確認してください。

保持ポリシーをどのように確認しますか?

このRMANコマンドで保持ポリシーを確認できます

show all;

たとえば、非常に多くのオプションがそのようになります

RMAN configuration parameters for database with db_unique_name PROD1 are:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F'; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 2 BACKUP TYPE TO COMPRESSED BACKUPSET;
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'ENV=(OB_DEVICE=tape1)';
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/disk1/Oracle/dbs/snapcf_ev.f'; # default

または、「表示」コマンドを使用して上記のオプションのいずれかを表示することもできます。

rMANコマンドを使用してデータベースの保持ポリシーを確認したい場合は、次のように入力します。

SHOW RETENTION POLICY;

そのようなデータベースの保持ポリシーが表示されます

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;

上記のように、リカバリウィンドウに対する保持ポリシーは3日です。したがって、ここでのバックアップは最大3日間しか残りません。 RMANコマンドを使用して、保持日の値を3日以上増やすこともできます。

保持ポリシーとは何ですか?

メディアリカバリのためにバックアップとアーカイブログを保持する必要がある期間を決定するためのユーザー定義のポリシー。バックアップの冗長性またはリカバリウィンドウの観点から保持ポリシーを定義できます。 RMANは、現在の保持ポリシーを満たすために必要なデータファイルバックアップと、それらのデータファイルバックアップの完全なリカバリに必要なアーカイブREDOログを保持します。

さらに参考にするために: RMAN入門RMAN環境の構成ここ

0

私の知る限り、データベースをアーカイブログモードで実行すると、バックアップは短い間隔で実行されますが、これは好ましくありません。

いいえ、アーカイブログモードとバックアップ頻度は互いに関係ありません。バックアップ間隔を定義するのはあなたです。

データベースをシャットダウンせずに、1日に1回だけバックアップを作成する必要があります。それは可能ですか?

いいえ、noarchivelogモードでホットバックアップを作成することはできません。

データベースが閉じられ、一貫性のある状態にある場合にのみ、NOARCHIVELOGモードでデータベースをバックアップできます。

-Oracleドキュメント。

データベースをアーカイブモードで実行するか、アーカイブなしモードで実行するか、どちらが良いオプションですか?

データベースをアーカイブログモードにすることをお勧めします。メディアまたはディスクに障害が発生した場合、データが失われる可能性があります。

また、アーカイブなしモードを使用する場合、バックアップを手動で削除する必要がありますか、それとも自動的に削除されますか?

アーカイブログモードで操作している場合でも、アーカイブログモードで操作していない場合でも、注意する必要があります。ただし、 バックアップ保持ポリシー を定義できます。

ドキュメント:

  • RMAN環境の構成
  • 3
    JSapkota