zoukankan      html  css  js  c++  java
  • ORACLE FLASHBACK状态变更

        flashback越来越多人使用,回想起我真正地想开始去了解flashback这功能是在一次2010年的电话面试中。当时,在某个地方的培训机构报了一个名,然后背了一下题库,一下幸运就拿到了OCP认证,但是对这玩意认识过了2个月完全忘了,直到那次面试,从此这玩意就放在脑袋里面比较重要的一个地方。
        原理大家找一下谷哥、度娘 绝对一大堆的文章,我也不想再ctrl+c和ctrl+y了。
        数据库flashback状态从on到off,这个执行起来相对简单,只要执行“alter database flashback off;”即可。(注意,在这个地方会清除flaschback log)但是,从off到on,需要在mount的状态下进行更改,那意味着需要重启instance。
     
    以下是实验案例:
    SQL> select flashback_on from v$database;
     
    FLASHBACK_ON
    ------------------
    YES
     
    SQL> select usg.file_type "Type",usg.percent_space_used * nvl(to_number(par.VALUE), 0) / 100 / 1024 / 1024 / 1024 "Used|(G)" from v$flash_recovery_area_usage usg, v$parameter par where usg.percent_space_used > 0 and par.NAME = 'db_recovery_file_dest_size' and usg.file_type = 'FLASHBACKLOG';
     
    Type Used|(G)
    ------------ ----------
    FLASHBACKLOG 1.0076
     
    SQL> alter database flashback off;
     
    Database altered.
     
    SQL> select usg.file_type "Type",usg.percent_space_used * nvl(to_number(par.VALUE), 0) / 100 / 1024 / 1024 / 1024 "Used|(G)" from v$flash_recovery_area_usage usg, v$parameter par where usg.percent_space_used > 0 and par.NAME = 'db_recovery_file_dest_size' and usg.file_type = 'FLASHBACKLOG';
     
    no rows selected
     
    SQL> alter database flashback on;
     
    alter database flashback on
    *
    ERROR at line 1:
    ORA-38759: Database must be mounted by only one instance and not open.
     
     
    SQL> shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup mount
    ORACLE instance started.
     
    Total System Global Area 285212672 bytes
    Fixed Size 1218992 bytes
    Variable Size 104859216 bytes
    Database Buffers 176160768 bytes
    Redo Buffers 2973696 bytes
    Database mounted.
    SQL> alter database flashback on;
     
    Database altered.
     
    SQL> alter database open;
     
    Database altered.
     
    SQL> select flashback_on from v$database;
     
    FLASHBACK_ON
    ------------------
    YES
     
    SQL> select usg.file_type "Type",usg.percent_space_used * nvl(to_number(par.VALUE), 0) / 100 / 1024 / 1024 / 1024 "Used|(G)" from v$flash_recovery_area_usage usg, v$parameter par where usg.percent_space_used > 0 and par.NAME = 'db_recovery_file_dest_size' and usg.file_type = 'FLASHBACKLOG';
     
    Type Used|(G)
    ------------ ----------
    FLASHBACKLOG .0076
     
    SQL>
  • 相关阅读:
    第二阶段冲刺——个人总结05
    购书最低价
    第二阶段冲刺——个人总结04
    第二阶段冲刺——个人总结03
    第二阶段冲刺——个人总结02
    学习进度条——十三周
    第二阶段冲刺——个人总结01
    android模拟器
    unigui导出TMS.Flexcel【5】
    unigui+fastreport 打印【4】
  • 原文地址:https://www.cnblogs.com/nolanchan/p/8016321.html
Copyright © 2011-2022 走看看