GAGA LIFE.

インフラエンジニアブログ

スポンサーリンク

表領域のフラッシュバックデータベースのON/OFF

概要

表領域のフラッシュバックデータベースのONとOFFについて検証してみました

マニュアル

Oracle® Database バックアップおよびリカバリ・ユーザーズ・ガイド 19c 7.5.1 フラッシュバック・データベースの有効化

ALTER DATABASEコマンドを使用して、フラッシュバック・データベースを有効にします

フラッシュバック・ロギングを有効にする手順

    1.「高速リカバリ領域の有効化」に説明されているとおりに、リカバリ領域を構成します。
    2. データベース・インスタンスがオープンまたはマウントされていることを確認します。
       インスタンスがマウントされている場合、フィジカル・スタンバイ・データベースでないかぎり、データベースが正しく停止されている必要があります。
       他のOracle Real Application Clusters (Oracle RAC)インスタンスはどのモードでもかまいません。
    3. オプションで、DB_FLASHBACK_RETENTION_TARGETに、フラッシュバックの期間の長さを分単位で設定します。

       ALTER SYSTEM SET DB_FLASHBACK_RETENTION_TARGET=4320 SCOPE=BOTH; # 3 days

    デフォルトでは、DB_FLASHBACK_RETENTION_TARGETは1日(1440分)に設定されます。

  注意:
  この設定は、データベースの起動および停止を通じて永続的にする必要があります。 

    4. データベース全体でフラッシュバック・データベース機能を有効にします。

       ALTER DATABASE FLASHBACK ON;

    5. 必要に応じて、特定の表領域のフラッシュバック・ロギングを無効にします。

    デフォルトでは、すべての永続表領域に対してフラッシュバック・ログが生成されます。
    特定の表領域のフラッシュバック・ロギングを無効にして、オーバーヘッドを軽減できます。次に例を示します。

       ALTER TABLESPACE tbs_3 FLASHBACK OFF;

    表領域のフラッシュバック・ロギングは、次のコマンドを使用して、後で再度有効にできます。

       ALTER TABLESPACE tbs_3 FLASHBACK ON;

    表領域に対してフラッシュバック・データベースを無効にする場合は、FLASHBACK DATABASEを実行する前に、データファイルをオフラインにする必要があります。 

動作確認

CDB

SQL> select flashback_on from v$database;

FLASHBACK_ON
------------------------------------------------------
YES

SQL> ALTER TABLESPACE USERS FLASHBACK OFF;

表領域が変更されました。

SQL> select * from v$tablespace;

       TS# NAME                 INCLUDED_ BIGFILE   FLASHBACK ENCRYPT_I     CON_ID
---------- -------------------- --------- --------- --------- --------- ----------
         0 SYSTEM               YES       NO        YES                          1
         0 SYSTEM               YES       NO        YES                          2
         1 SYSAUX               YES       NO        YES                          1
         1 SYSAUX               YES       NO        YES                          2
         2 UNDOTBS1             YES       NO        YES                          1
         2 UNDOTBS1             YES       NO        YES                          2
         3 TEMP                 NO        NO        YES                          1
         3 TEMP                 NO        NO        YES                          2
         4 UNDOTBS2             YES       NO        YES                          1
         5 USERS                YES       NO        NO                           1 <---★
         0 SYSTEM               YES       NO        YES                          3
         1 SYSAUX               YES       NO        YES                          3
         2 UNDOTBS1             YES       NO        YES                          3
         3 TEMP                 NO        NO        YES                          3
         4 UNDO_2               YES       NO        YES                          3
         5 USERS                YES       NO        YES                          3

16行が選択されました。

SQL> select instance_name,status from v$instance;

INSTANCE_NAME                                    STATUS
------------------------------------------------ ------------------------------------
orcl1                                            OPEN

SQL> ALTER TABLESPACE USERS FLASHBACK ON;
ALTER TABLESPACE USERS FLASHBACK ON
*
行1でエラーが発生しました。:
ORA-01126: データベースはこのインスタンスでマウントし、どのインスタンスでもオープンしないでください

[grid@rac1 ~]$ srvctl stop database -db orcl
[grid@rac1 ~]$ srvctl start database -db orcl -o mount

SQL> select instance_name,status from v$instance;

INSTANCE_NAME                                    STATUS
------------------------------------------------ ------------------------------------
orcl1                                            MOUNTED

SQL> ALTER TABLESPACE USERS FLASHBACK ON;

表領域が変更されました。

       TS# NAME                 INCLUDED_ BIGFILE   FLASHBACK ENCRYPT_I     CON_ID
---------- -------------------- --------- --------- --------- --------- ----------
         0 SYSTEM               YES       NO        YES                          1
         0 SYSTEM               YES       NO        YES                          2
         1 SYSAUX               YES       NO        YES                          1
         1 SYSAUX               YES       NO        YES                          2
         2 UNDOTBS1             YES       NO        YES                          1
         2 UNDOTBS1             YES       NO        YES                          2
         3 TEMP                 NO        NO        YES                          1
         3 TEMP                 NO        NO        YES                          2
         4 UNDOTBS2             YES       NO        YES                          1
         5 USERS                YES       NO        YES                          1 <---★
         0 SYSTEM               YES       NO        YES                          3
         1 SYSAUX               YES       NO        YES                          3
         2 UNDOTBS1             YES       NO        YES                          3
         3 TEMP                 NO        NO        YES                          3
         4 UNDO_2               YES       NO        YES                          3
         5 USERS                YES       NO        YES                          3

PDB

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         3 PDB                            READ WRITE NO
SQL> show con_name

CON_NAME
------------------------------
PDB

SQL> select * from v$tablespace;

       TS# NAME                 INCLUDED_ BIGFILE   FLASHBACK ENCRYPT_I     CON_ID
---------- -------------------- --------- --------- --------- --------- ----------
         0 SYSTEM               YES       NO        YES                          3
         1 SYSAUX               YES       NO        YES                          3
         2 UNDOTBS1             YES       NO        YES                          3
         3 TEMP                 NO        NO        YES                          3
         4 UNDO_2               YES       NO        YES                          3
         5 USERS                YES       NO        YES                          3

SQL> ALTER TABLESPACE USERS FLASHBACK OFF;

表領域が変更されました。

SQL> select * from v$tablespace;

       TS# NAME                 INCLUDED_ BIGFILE   FLASHBACK ENCRYPT_I     CON_ID
---------- -------------------- --------- --------- --------- --------- ----------
         0 SYSTEM               YES       NO        YES                          3
         1 SYSAUX               YES       NO        YES                          3
         2 UNDOTBS1             YES       NO        YES                          3
         3 TEMP                 NO        NO        YES                          3
         4 UNDO_2               YES       NO        YES                          3
         5 USERS                YES       NO        NO                           3 <---★

6行が選択されました。

SQL> ALTER TABLESPACE USERS FLASHBACK ON;
ALTER TABLESPACE USERS FLASHBACK ON
*
行1でエラーが発生しました。:
ORA-01126: データベースはこのインスタンスでマウントし、どのインスタンスでもオープンしないでください

SQL> shu immediate 
プラガブル・データベースがクローズされました。
SQL> conn /as sysdba
接続されました。
SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDB                            MOUNTED

SQL> alter session set container = pdb;

セッションが変更されました。

SQL> ALTER TABLESPACE USERS FLASHBACK ON;
ALTER TABLESPACE USERS FLASHBACK ON
*
行1でエラーが発生しました。:
ORA-01126: データベースはこのインスタンスでマウントし、どのインスタンスでもオープンしないでください

[grid@rac1 ~]$ srvctl stop database -db orcl
[grid@rac1 ~]$ srvctl start database -db orcl -o mount

SQL> conn /as sysdba
接続されました。
SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       MOUNTED
         3 PDB                            MOUNTED
SQL> alter session set container = pdb;

セッションが変更されました。

SQL> select * from v$tablespace;

       TS# NAME                 INCLUDED_ BIGFILE   FLASHBACK ENCRYPT_I     CON_ID
---------- -------------------- --------- --------- --------- --------- ----------
         0 SYSTEM               YES       NO        YES                          3
         1 SYSAUX               YES       NO        YES                          3
         2 UNDOTBS1             YES       NO        YES                          3
         3 TEMP                 NO        NO        YES                          3
         4 UNDO_2               YES       NO        YES                          3
         5 USERS                YES       NO        YES                          3 <---★

まとめ

▽表領域のflashback on/off実施の条件
フラッシュバックデータベースがONとなっている必要がある。

▽CDB/PDBの停止等が必要か
表領域のFLASHBACK ONはインスタンスレベルでMOUNT状態にする必要がある。 ※OFFはOPEN状態で可

スポンサーリンク