Oracle中心にIT全般の技術情報を気が向くままに書いています。他にLinux、仮想化技術(VMWare)やトラブルに役立つ情報などがあります。

スポンサーサイトフラッシュバック・データベースで保証付きリストアポイントを使用する


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
【関連リンク】
フラッシュバック・データベースを使用する
フラッシュバック・データベースでリストアポイントを使用する

保証付きリストアポイントという機能があります。
「保証付き」の場合、「通常」の場合と異なり、必要なフラッシュバック・ログが取得され続け削除されないため、フラッシュバック領域の容量に注意を払う必要があります。
また、Oracle Flashback Databaseが有効で無くても実行できるという特徴があり、データメンテナンス等の作業前のバックアップとしての利用も場合によっては有効かもしれません。

【実行した環境】
DB: Oracle 11.1.0.6.0
OS: Oracle Enterprise Linux V5

【実施手順】
1.フラッシュバック・データベースの設定と有効化
2.保証付きリストアポイントの作成
3.フラッシュバック・データベースの実行
4.保証付きリストアポイントの削除

【詳細手順】

1.フラッシュバック・データベースの設定と有効化

以前の記事「フラッシュバック・データベースを使用する」を参照

上記記事の「alter database flashback on」は、保証付きリストアポイントを使用する場合は必ずしも実行しなくても良いです。
必要な確認を以下で行います。

COMPATIBLEが10.2以上であることを確認します。
SQL> show parameter COMPATIBLE

NAME       TYPE   VALUE
---------- ------ ---------- 
compatible string 11.1.0.6.0

アーカイブ・モードであることを確認します。
SQL> archive log list;
データベース・ログ・モード     アーカイブ・モード
自動アーカイブ                 有効
アーカイブ先                    /u01/app/oracle/admin/orcl11g1/arch
最も古いオンライン・ログ順序   1
アーカイブする次のログ順序    1
現行のログ順序               1

フラッシュリカバリ領域が構成されていることを確認します。
SQL> show parameter DB_RECOVERY_FILE_DEST

NAME                       TYPE        VALUE
-------------------------- ----------- --------------------------------------- 
db_recovery_file_dest      string      /u01/app/oracle/flashback_area/orcl11g1
db_recovery_file_dest_size big integer 5G

今回はOracle Flashback Databaseが無効な状態で実行します。
SQL> select flashback_on from v$database;

FLASHBACK_ON
------------ 
NO

2.保証付きリストアポイントの作成
保証付きリストアポイントの作成は、通常リストアポイントの作成に「GUARANTEE FLASHBACK DATABASE」オプションを追加します。

ここではテストとして、test1.test1テーブルを使用します。
SQL> select col1 from test1.test1;

      COL1
---------- 
         1

保証付きリストアポイントGU_RESTOREを作成しようとしたらエラーが発生してしまいました。
SQL> create restore point GU_RESTORE guarantee flashback database;
create restore point GU_RESTORE guarantee flashback database
*
行1でエラーが発生しました。:
ORA-38784: リストア・ポイント'GU_RESTORE'を作成できません。 ORA-38787:
フラッシュバック・データベースがオフの場合、最初に保証されたリストア・ポイントを作成するには、マウント・
モードが必要です。

マニュアルを読むと、フラッシュバック・データベースがオフで保証付きリストアポイントがまだ1つも無い場合は、マウント・モードにしてリストアポイントを作成しないと駄目とのことです。
マウントモードから実行したら今度はうまく行きました。
SQL> shutdown immediate
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL> startup mount
ORACLEインスタンスが起動しました。

Total System Global Area  267825152 bytes
Fixed Size                  1299316 bytes
Variable Size             113249420 bytes
Database Buffers          150994944 bytes
Redo Buffers                2281472 bytes
データベースがマウントされました。
SQL> create restore point GU_RESTORE guarantee flashback database;

リストア・ポイントが作成されました。

SQL> alter database open;

データベースが変更されました。

ついでに実験です。
現在は、1つの保証付きリストアポイントが作成されている状態なので、データベースがオープンの状態でも作成ができるはずです。
実験用「GU_RESTORE2」が新たに作成できました^^。実験用なのですぐに消します。
SQL> create restore point GU_RESTORE2 guarantee flashback database;

リストア・ポイントが作成されました。

SQL> drop restore point GU_RESTORE2;

リストア・ポイントが削除されました。

TEST1.TEST1テーブルに、COL1=2のデータを追加します。
SQL> insert into test1.test1(COL1) values(2);

1行が作成されました。

SQL> commit;

コミットが完了しました。


SQL> select col1 from test1.test1;

      COL1
---------- 
         1
         2

3.フラッシュバック・データベースの実行

フラッシュ・バックデータベースを実行するにはデータベースがマウント状態である必要があります。
SQL> shutdown immediate
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL> startup mount
ORACLEインスタンスが起動しました。

Total System Global Area  267825152 bytes
Fixed Size                  1299316 bytes
Variable Size             113249420 bytes
Database Buffers          150994944 bytes
Redo Buffers                2281472 bytes
データベースがマウントされました。

フラッシュバック・データベースにより、作成した保証付きリストアポイントの時点までデータベースを巻き戻します。
SQL> flashback database to restore point GU_RESTORE;

フラッシュバックが完了しました。

データベースをRESETLOGS指定でオープンします。
SQL> alter database open resetlogs;

データベースが変更されました。

以下のようにデータベース全体がリストアポイント作成時点まで巻き戻されています。
SQL> select col1 from test1.test1;

      COL1
---------- 
         1

4.保証付きリストアポイントの削除

忘れずに保証付きリストアポイントを削除します。
ほっておくと、フラッシュバック領域を圧迫する可能性があるので注意が必要です。
SQL> drop restore point GU_RESTORE;

リストア・ポイントが削除されました。




以上です。




トラックバックURL

この記事にトラックバックする(FC2ブログユーザー)



前ページへ:フラッシュバック・データベースでリストアポイントを使用する
次ページへ:フラッシュバック問い合わせを使用する

ページのトップへ

必ずお読みください

本ブログ記事をご利用になって生じたいかなる損害についても当方は一切責任を負いません。
ご利用は自己責任でお願いします。(^―^)

広 告





ブログランキング/その他


ビジネスブログ100選

ブログランキング・にほんブログ村へ
blogramで人気ブログを分析




最新トラックバック


RSSリンクの表示

QRコード

QR

アクセスカウンター

ユニーク:
トータル:


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。