闪回数据库(flashback database)

本文详细介绍了Oracle数据库的闪回技术,包括配置闪回数据库的步骤,如设置快闪恢复区、归档模式和db_flashback_retention_target,以及启动和禁用闪回数据库的操作。同时,阐述了闪回数据库的限制,强调必须在归档模式下操作,并且不能解决介质损坏问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

一、配置闪回数据库

  1、快闪恢复区
    设置db_recovery_file_dest_size
    alter system set db_recovery_file_dest_size=ng   --n为数值大小,g为单位
    设置db_recovery_file_dest
    alter system set db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
  2、归档模式
    查询数据库的归档模式
    SQL>select log_mode from v$database;
    或者:
    SQL>archive log list;
    如果未归档则设置:
    SQL>startup mount;
    SQL>alter database archivelog;
  3、设置db_flashback_retention_target
    该参数默认值为1440,即为1天。如果想修改可使用下列方式修改:
    SQL>alter system set db_flashback_retention_target=4320  --修改为三天。
  4、启动闪回数据库
    SQL>startup mount;
    SQL>alter database flashback on;


    查询数据库是否启用闪回数据库;
    SQL>select flashback_on from v$database;

二、禁用闪回数据库

  1、禁用整个数据库闪回
    SQL>startup mount;
    SQL>alter database flashabck off;
    --一旦禁用,oracle将删除所有闪回日志。

  2、禁用表空间闪回
    SQL>alter tablespace tablespace_name flashback off;
    也可以启用:
    SQL>alter tablespace tablespace_name flashback on;
    当然也可以在创建表空间时使用flashback on或者flashback off子句指定启用或者禁用闪回
    如果表空间禁用闪回,则在闪回数据库时,该表空间必须脱机(offline)

三、闪回数据库
  闪回数据库需要有sysdba权限
  1、装载数据库
    SQL>STARTUP MOUNT;
  2、闪回数据库
    SQL>flashback database to {{{scn | timestamp} eexpression} |{ before {scn |timestamp} expression}}
  3、打开数据库
    SQL>alter database open resetlogs;

  在打开数据库之前,应该检查数据库的闪回是否达到了要求,如果没有达到要求,则可以再次闪回数据库,指定新的目标。如果闪过头了,则只能使用recover database until

进行恢复。
  如果想撤销闪回操作,则可以使用recover database。

四、有关闪回数据库的限制

  1、数据库必须处于归档模式
  2、闪回数据库不能解决介质损坏问题,必须使用备份恢复
  3、在闪回的时间范围内,不能复原或者重建控制文件。
  4、不能闪回到resetlogs操作之前
  5、闪回的时间范围受db_flashback_retention_target的限制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值