Oracle Flashback Technologies (总)
2015-06-23 13:46 abce 阅读(323) 评论(0) 编辑 收藏 举报Oracle Flashback Technologies
Oracle 9i中增加了闪回查询技术,闪回查询为数据库提供了一种简单、强大、完全无干扰从人为错误中恢复的机制。通过闪回查询,用户可以查看过去某个时间点的数据状态,而不需对数据库结构做任何修改。Oracle 10g扩展了闪回技术,分别在数据库、表、行、事务级别提供了快速而简单的恢复机制。
Oracle 10g中闪回技术包含了以下技术:
·闪回数据库:将数据库快速变回之前的某个时间点,不需要restore和recover操作,减少停机时间和人为错误发生的几率
·闪回表:将表恢复到之前的一个时间点,不需要restore操作等,
·闪回drop:还原被错误删除的表
·闪回版本查询:使用undo数据
·闪回事务查询:在事务级别进行查看
Oracle 11g提供了闪回数据归档(Flashback Data Archive)技术,用来管理和查询长期历史数据。
如果发生了一个错误,比如批job执行了两次,管理员可以进行闪回操作将数据库快速恢复到之前的某个状态,而不需要还原备份并进行基于时间点的恢复。 闪回技术不仅仅是在数据库级别,也可以是在表级别。
下表为闪回特性的图表说明
开启闪回功能需要设置数据库归档和设置flash recovery area (FRA)
1.确保数据库处于归档模式
SQL> select log_mode from v$database; LOG_MODE ------------ ARCHIVELOG SQL>
2.设置闪回恢复区
#设置闪回区大小:
SQL> alter system set db_recovery_file_dest_size=6g scope=both ;
#设置闪回区位置
SQL> alter system set db_recovery_file_dest='/u01/app/oracle/fast_recovery_area' scope=both sid='*';
#设置闪回retention目标,以分钟为单位
SQL> alter system set db_flashback_retention_target=3600 scope=both sid='*';
3.开启数据库闪回功能
#开启数据库闪回功能
SQL> alter database flashback on;
4.确认
SQL> select flashback_on from v$database; FLASHBACK_ON ------------------ YES SQL>
如何计算快速闪回区的大小:
Disk Quota = Size of a copy of database + Size of an incremental backup + Size of (n+1) days of archived redo logs + Size of (y+1) days of foreign archived redo logs (for logical standby) + Size of control file + Size of an online redo log member * number of log groups + Size of flashback logs (based on DB_FLASHBACK_RETENTION_TARGET value)
以下类型的表不支持表闪回:
·高级队列表
·单独的分区表或子分区
·物化视图
·嵌套表
·对象表
·远程表
·静态数据字典表
·system表
·簇表的一部分
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)