Oracle - 4.1 - 【学习笔记】for ocp 12c、闪回技术总结flashback、闪回数据归档、还原点

在这里插入图片描述

闪回技术

Flashback 技术在Oracle 10g中提供了更强大的功能。它包括了

  1. Flashback Query
    闪回查询
    查询过去某个时刻或者某个SCN 值时表中数据的快照

    select* fromhr.employees 
    as of timestamp sysdate-2/24 
    where employee_id=140
    
  2. Flashback Table
    闪回表
    表中数据恢复到过去的某个时刻或者某个SCN值的状态。

    闪回表与闪回查询不同,闪回查询只是返回过去某个时刻或者某个SCN值中数据的快照,并不修改表的当前状态,而闪回表是将表恢复到之前的某个状态。

    flashback table employees 
    to timestamp to_timestamp('2015-5-14 11:23:23'.'yyyy-mm-dd hh24:mi:ss') 
    
  3. Flashback Version Query
    闪回版本
    查询过去某个时间段或者某刻SCN 段内特定表中数据的变化情况

    select verxions_xi xid,versions_starttime starttime,versions_endtime endtime,versions_operation operation,salary 
    from hr.employees
    versions between timestamp minvalue and maxvalue 
    where employee_id=140 
    order by starttim
    
  4. Flashback Transaction Quey
    闪回事务
    查看某个事务或所有事务在过去的一段时间对数据进行的修改操作

    select xid ,start_scn,end_scn,commit_scn,operation,logon_user,undo_sql
    from flashback_transaction_query
    where xid= HEXTORAW('  XID  ');
    
  5. Flashback Drop
    闪回删除
    可以恢复用drop table语句删除的表(注意:闪回删除只针对Drop命令,对truncate操作无能为力)。是一种意外删除的表恢复机制。
    相应的索引,数据库约束也会被还原(除了外键约束)

    flashback table employees to before drop rename to new_employees;
    
  6. Flashback database。
    闪回数据库
    数据库恢复到过去某个时刻或者某个SCN 值时的状态

    flashback database to scn 3423523; 
    

其中:

  • 基于undo data

    1. Flashback Query 闪回查询
    2. Flashback Version Query 闪回版本
    3. Flashback Transaction Quey 闪回事务
      需要额外开启的东西:https://blog.csdn.net/rlhua/article/details/13996769
  • 基于undo data、row movement

    1. Flashback Table 闪回表

      注意:

      1. 在sys用户或以sysdba 身份登录的用户不能执行闪回表操作
      2. 开启 ROE movement 特性
        alter table employees enable row movement 
        
  • 基于recycle bin、undo data

    1. Flashback Drop 闪回删除

      首先要看我们的回收站是否开着(当然在11 g 回收站是默认开着的)

      show parameter recyclebin 
      NAME                                 TYPE        VALUE
      ------------------------------------ ----------- ------------------------------
      recyclebin                           string      on
      

      如果关闭呢 就可以使用 alter system set recyclebin=no

  • 基于Flashback logs、Archivelog mode、Flash recovery area

    1. Flashback database 闪回数据库

      闪回数据库不使用撤销数据,闪回数据库是需要:

      • 闪回日志文件
      • 归档重做日志文件

      使用闪回数据库你首先要设置好数据库的快速恢复区和闪回日志的保留时间,数据库中的恢复写入进程 (RVWR)周期性的将每个数据文件发生改变的数据库的镜像副本写入闪回日志文件中,利用这些数据块的镜像副本可以重建数据文件的内容。

    启用快速恢复区

    show parameter db_recovery_file
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    db_recovery_file_dest                string      /u01/app/oracle/fast_recovery_area
    db_recovery_file_dest_size           big integer 500M
    

    设置 快速恢复区的路径和大小

    alter system set  db_recover_file=' 路径‘ scope=both;
    alter sy stem set db_recover_file_dest_size=2G scope=both
    

    配置快速恢复区

    1. 数据库必须是在归档(ARCHIVELOG)的模式下
    2. 在数据库加载(mount)的情况下开启 flashback_on 特性
      alter system set db_flashback_retention_target=2880;
      
      可以恢复到2天前(2880min前)

在这里插入图片描述

闪回数据归档

三种闪回技术(闪回数据库、闪回删除和各种形式的闪回查询)很有用,但是它们的闪回能力都很有限。可以配置闪回数据库归档来保证将表闪回到过去任何时间——或许是多年之前的某个时间。它还能保证当数据过期时给予删除。

从体系结构上看,闪回数据归档要求一个或者多个表空间、用于每个受保护的表的各种段以及一个新的后台进程:FBDA进程。DBA必须创建表空间和其内部的归档,为每个归档指定保留期限,并指定由归档保护的表。必须的段会自动创建,并根据要求启动FBDA。

  • 就DML来说,用户和应用软件不会意识到任何变化。
  • 一些DDL命令会受到影响。
    例如,TRUNCATE命令较慢,DROP命令无法执行。

视图:

  1. DBA_FLASHBACK_ARCHIVE 描述配置的归档
  2. DBA_FLASHBACK_ARCHIVE_TS 显示每个表空间的每个归档分配的配额
  3. DBA_FLASHBACK_ARCHIVE_TABLES 列出启用了归档的表

创建一个提供闪回数据归档使用的表空间

SQL> create tablespace fda datafile 'fda1.dbf' size 10m;

Tablespace created

在表空间创建一个保留时间为1个月的闪回数据归档

SQL> create flashback archive fla1 tablespace fda retention 1 month ; 

Done

创建用于此练习的模式,并授予它DBA角色

SQL> grant dba to fdbauser identified by fdbauser; 

Grant succeeded

授予用户操作归档的必要权限

SQL> grant flashback archive on fla1 to fdbauser;

Grant succeeded

作为FDBAUSER进行连接。创建一个表并为此表启用闪回数据归档

[oracle@oracle dbs]$ sqlplus fdbauser/fdbauser;

SQL*Plus: Release 12.2.0.1.0 Production on Fri May 7 10:05:49 2021

Copyright (c) 1982, 2016, Oracle.  All rights reserved.


Con
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骆言

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值