Flashback Database(转)

闪回数据库的必备条件

1.数据库必须启动归档模式

 

  1. SQL> archive log list  
  2. 数据库日志模式            存档模式  
  3. 自动存档             启用  
  4. 存档终点            USE_DB_RECOVERY_FILE_DEST  
  5. 最早的联机日志序列     1  
  6. 下一个存档日志序列   2  
  7. 当前日志序列           2  


2.数据库必须指定闪回区

 

  1. SQL> show parameter db_recover  
  2.   
  3. NAME                                 TYPE        VALUE  
  4. ------------------------------------ ----------- ------------------------------  
  5. db_recovery_file_dest                string      /u01/app/oracle/flash_recovery  
  6.                                                  _area  
  7. db_recovery_file_dest_size           big integer 5G  


3.数据库必须启用闪回特性

  1. SQL> conn /as sysdba  
  2. 已连接。  
  3. SQL> select flashback_on from v$database;  
  4.   
  5. FLASHBACK_ON  
  6. ------------------  
  7. NO  
  8.   
  9. SQL> shutdown immediate  
  10. 数据库已经关闭。  
  11. 已经卸载数据库。  
  12. ORACLE 例程已经关闭。  
  13. SQL> startup mount  
  14. ORACLE 例程已经启动。  
  15.   
  16. Total System Global Area  167772160 bytes  
  17. Fixed Size                  1266392 bytes  
  18. Variable Size              67112232 bytes  
  19. Database Buffers           96468992 bytes  
  20. Redo Buffers                2924544 bytes  
  21. 数据库装载完毕。  
  22. SQL> alter database flashback on;  
  23.   
  24. 数据库已更改。  
  25.   
  26. SQL> alter database open;  
  27.   
  28. 数据库已更改。  
  29.   
  30. SQL> select flashback_on from v$database;  
  31.   
  32. FLASHBACK_ON  
  33. ------------------  
  34. YES  

 

注意,关闭闪回特性就是:alter database flashback off;


4.db_flashback_retention_target参数指定最多可以闪回数据库到多久以前

 

  1. SQL> show parameter db_flashback  
  2.   
  3. NAME                                 TYPE        VALUE  
  4. ------------------------------------ ----------- ------------------------------  
  5. db_flashback_retention_target        integer     1440  


5.启用强制归档

 

  1. SQL> select force_logging from v$database;  
  2.   
  3. FOR  
  4. ---  
  5. NO  
  6.   
  7. SQL> alter database force logging;  
  8.   
  9. 数据库已更改。  
  10.   
  11. SQL> select force_logging from v$database;  
  12.   
  13. FOR  
  14. ---  
  15. YES  

 

6.查看当前scn

  1. SQL> select current_scn from v$database;  
  2.   
  3. CURRENT_SCN  
  4. -----------  
  5.      481769  


7.误操作

... ...

8.闪回数据库

    1. SQL> conn /as sysdba  
    2. 已连接。  
    3. SQL> shutdown immediate  
    4. 数据库已经关闭。  
    5. 已经卸载数据库。  
    6. ORACLE 例程已经关闭。  
    7. SQL> startup mount  
    8. ORACLE 例程已经启动。  
    9.   
    10. Total System Global Area  167772160 bytes  
    11. Fixed Size                  1266392 bytes  
    12. Variable Size              67112232 bytes  
    13. Database Buffers           96468992 bytes  
    14. Redo Buffers                2924544 bytes  
    15. 数据库装载完毕。  
    16. SQL> flashback database to scn 481769;  
    17.   
    18. 闪回完成。  
    19.   
    20. SQL> alter database open resetlogs;  
    21.   
    22. 数据库已更改。  
    23.   
    24. SQL> select status from v$instance;  
    25.   
    26. STATUS  
    27. ----------  

posted on 2013-03-26 17:02  kangxuebin  阅读(221)  评论(0)    收藏  举报

导航