Oracleの復元ポイントを使用してクリーンなデータベースに迅速に復元する方法

Summary: 当社の信念は、データベース ソリューション、カスタム開発、ダイナミック データセンター、柔軟なコンピューティングを提供することによりITを簡素化するソリューションを提供することです。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

適用先: 

Oracleデータベース - 11gR2


問題: 


ベンチマーク テストを実行する際に、クリーンなデータベースをロードしてから新しい実行を開始する必要がある場合がよくあります。クリーンなデータベースを確保する1つの方法は各テストの実行前にデータベース全体を作成しなおすことですが、データベースのサイズによってはこの方法だと非常に時間がかかり、効率が悪い場合があります。


解決方法: 


この記事では、Oracleのフラッシュバック機能を使用して、作業を実行する直前の状態にデータベースを迅速に復元する方法について説明します。具体的には、「保証された復元ポイント」を使用する方法について説明します。


復元ポイント: 

復元ポイントは、データベースのタイムスタンプやSCNに関連付けられている名前にすぎません。通常の復元ポイントと保証された復元ポイントのいずれかを作成することができます。この2つの違いは、DB_FLASHBACK_RETENTION_TARGET初期化パラメーターとは無関係に復元ポイントが保証されていること、すなわちいつでも復元ポイントを使用できることです(フラッシュ リカバリー領域に十分なスペースがあることが前提)。

 
SLN310475_en_US__1icon メモ: この記事では、フラッシュバック ロギングがオンになっていません。

保証された復元ポイント:

前提条件:保証された復元ポイントを作成するには、次の前提条件が必要です。
  • ユーザーがSYSDBAシステム権限を持っている必要がある
  • フラッシュ リカバリー領域が作成されている
  • データベースはARCHIVELOGモードである必要がある

保証された復元ポイントの作成:

新しいデータベースを作成または移行した後最初に行うことは、保証された復元ポイントを作成することです。これにより、新しいワークロードを開始する前に毎回フラッシュバックすることができます。手順は次のとおりです。
  1. $> su – oracle
  2. $> sqlplus / as sysdba;
  3. ARCHIVELOGが有効になっているか確認します。
    SQL> select log_mode from v$database;
    手順3でARCHIVELOGが有効になっていないことが分かった場合は、次の手順8に進みます。
  4. SQL> shutdown immediate;
  5. SQL> startup mount;
  6. SQL> alter database archivelog;
  7. SQL> alter database open;
  8. SQL> create restore point CLEAN_DB guarantee flashback database;
    ここで、CLEAN_DBは、保証された復元ポイントに指定された名前です。
保証された復元ポイントの表示
SQL> select * from v$restore_point;

新しく作成された復元ポイントに関する情報を確認します。また、参照用のSCN番号を書き留めます。これを「参照SCN番号」と呼びます。


保証された復元ポイントへのフラッシュバック

次に、データベースを保証された復元ポイントへ復元するには、次の手順に従います。
  1. $> su – oracle
  2. $> sqlplus / as sysdba;
  3. SQL> select current_scn from v$database;
  4. SQL> shutdown immediate;
  5. SQL> startup mount;
  6. SQL> select * from v$restore_point;
  7. SQL> flashback database to restore point CLEAN_DB;
  8. SQL> alter database open resetlogs;
  9. SQL> select current_scn from v$database;
上記のステップ9で書き留めたSCN番号を参照SCN番号と比較します。

 
SLN310475_en_US__1icon メモ: 上記の手順9で書き留めたSCN番号は必ずしも参照SCN番号と一致するとは限りませんが、十分近い数値になります。

リファレンス: 


Article Properties
Article Number: 000146492
Article Type: Solution
Last Modified: 21 Feb 2021
Version:  3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.