ORACLE 11 Gオープンデータベースフラッシュバック

2658 ワード

準備:
まず、Oracle 11 gデータベースの製品とデータベースを完了する必要があります.次に、現在のデータベースのフラッシュバックはオフです.
実験開始:
  • データベースのフラッシュバックステータスを確認します(これは閉じています)
  • SQL> select FLASHBACK_ON from v$database;
    
    FLASHBACK_ON
    ------------------
    NO

      2.フラッシュバックに関連するパラメータの状況を確認します(フラッシュバック領域のパラメータ値が空で、フラッシュバック領域のサイズも指定されていないことがわかります).
    SQL> show parameter recover
    
    NAME				     TYPE	 VALUE
    ------------------------------------ ----------- ------------------------------
    db_recovery_file_dest		     string
    db_recovery_file_dest_size	     big integer 0
    db_unrecoverable_scn_tracking	     boolean	 TRUE
    recovery_parallelism		     integer	 0

    3.フラッシュバック領域のサイズを指定し、フラッシュバックディレクトリのパスを指定します(フラッシュバック領域のサイズは、フラッシュバックディレクトリを指定する前に設定する必要があります.そうしないと、エラーが発生します).
    SQL> alter system set db_recovery_file_dest='/ora_log/flashbak_log';
    alter system set db_recovery_file_dest='/ora_log/flashbak_log'
    *
    ERROR at line 1:
    ORA-02097: parameter cannot be modified because specified value is invalid
    ORA-19802: cannot use DB_RECOVERY_FILE_DEST without DB_RECOVERY_FILE_DEST_SIZE
    
             ,        ,       
    SQL> alter system set db_recovery_file_dest_size=100M scope=spfile;
    
    System altered.
    SQL> alter system set db_recovery_file_dest='/ora_log/flashbak_log' scope=spfile;
    
    System altered.
    
                    

     
    SQL> shutdown immediate;
    ORA-01109: database not open
    
    
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup mount;
    ORACLE instance started.
    
    Total System Global Area 1586708480 bytes
    Fixed Size		    2253624 bytes
    Variable Size		 1207962824 bytes
    Database Buffers	  369098752 bytes
    Redo Buffers		    7393280 bytes
    Database mounted.
    SQL> show parameter recovery
    
    NAME				     TYPE	 VALUE
    ------------------------------------ ----------- ------------------------------
    db_recovery_file_dest		     string	 /ora_log/flashbak_log
    db_recovery_file_dest_size	     big integer 100M
    recovery_parallelism		     integer	 0
    SQL> alter database flashback on;
    
    Database altered.

     
    SQL> select FLASHBACK_ON from v$database;
    
    FLASHBACK_ON
    ------------------
    YES

    まとめ:
    フラッシュバック領域の管理、およびフラッシュバックログの管理、データベースは過去のどのくらいの時点にフラッシュバックすることができて、これはフラッシュバック領域のサイズからdb_flashback_retention_target
    パラメータ制御では、フラッシュバック領域のサイズが十分な場合、デフォルトで1440秒、つまり1日のデータをフラッシュバックできます.
    SQL> show parameter flashback
    NAME                     TYPE     VALUE ------------------------------------ ----------- ------------------------------ db_flashback_retention_target         integer     1440