Oracle闪回(Flashback)技术PPT(共35页)

合集下载

oracle_flashback

oracle_flashback

---闪回技术闪回的文件存放在闪回(快速)恢复区。

通过db_recovery_file_dest 初始化参数指定其位置。

db_recovery_file_dest_size 参数设置其大小。

alter system set db_recovery_file_dest='path';alter system set db_recovery_file_dest_size=3G scope=BOTH;停用闪回恢复区alter system set db_recovery_file_dest='';与闪回恢复区相关的视图有:dba_outstanding_alerts 相关警告信息v$recovery_file_dest 可以监控恢复区的使用空间情况v$flash_recovery_area_usage 与文件类型及空间有关的视图v$controlfile\ v$logfile \ v$archived_log \v$datafile_copy 中的列is_recovery_dest_file 指明相关的文件是否在恢复区。

闪回技术组要是7个功能的总称:1、闪回查询(闪回时间点查询,闪回版本查询)2、闪回数据归档3、闪回事务查询、4、闪回事务、5、闪回表6、闪回删表7、闪回数据库闪回技术是基于撤销空间、撤销数据块的。

初始化参数undo_retention 的值表示修改所产生的撤销数据应该在发起修改的事提交之后再保留的时间长度,单位是秒。

默认值是900秒即15 分钟。

默认的数据库是不尊重900s以上的任何设置。

即默认是NOGARANTEE (select retention from dba_tablespaces where tablespace_name='UNDOTBS1');可以修改为retention (alter tablespace undotbs1 retention guarantee);修改保留时长:alter system set undo_retention =300;撤销数据的保留策略取决于:初始化参数undo_retention 、undo表空间的数据文件是否启用自动增长undo 表空间是否绝对尊重undo_retention的值、数据库中的事务量。

Oracle闪回(Flashback)技术

Oracle闪回(Flashback)技术
17
例如: SQL>set time on 创建示例表: SQL>create table hr.mydep4 as select * from hr.departments; 删除记录: SQL>delete from hr.mydep4 where department_id=300; SQL>commit; 使用select查询不到刚才删除的记录,但使用闪回查询可 以找到: SQL>select * from hr.mydep4 as ofto_date(‘2012-3-28 10:30:00’, ‘yyyy-mmdd hh24: mi:ss’)) 3 Where department_id=300;
20
参数说明如下: VERSIONS BETWEEN:用于指定闪回版本查询时
的时间段或SCN段; AS OF:表示恢复单个版本; TIMESTAMP:表示时间。
在进行闪回版本查询时,可以同时使用VERSIONS短语 和AS OF短语。
AS OF短语决定了进行查询的时间点或SCN, VERSIONS短语决定了可见的行的版本信息。对于在 VERSIONS BETWEEN下界之前开始的事务,或在AS OF指定的时间或SCN之后完成的事务,系统返回的版本 信息为NULL。
用户可以从sysdate中得到系统的当前时间。 当用户发出FLASHBACK DATABASE语句之后,数 据库会首先检查所需要的归档文件与联机重建日志文件的可 用性。如果可用,则会将数据库恢复到指定的SCN或者时间 点上。
9
在数据库中闪回数据库的总数和大小由 DB_FLASHBACK_RETENTION_TARGET初始化参数控 制。可通过查询V$FLASHBACK_DATABASE_LOG视图 来确定能恢复到过去多远。

OracleDatabase11g闪回技术概述PPT(31张)

OracleDatabase11g闪回技术概述PPT(31张)
很难知道应该闪回到哪个SCN,而时间则显得明了得多。可以使用 SCN_TO_TIMESTAMP函数将SCN转变为对应的时间。 TIMESTAMP:时间戳,包括年月日时分秒。可以使用 TIMESTAMP_TO_SCN函数将时间转变为对应的SCN。 Expr:指定一个值或表达式,用于表示时间点或SCN。 ENABLE TRIGGERS:与表相关的触发器恢复后,默认为启用状态。 DISABLE TRIGGERS:与表相关的触发器恢复后,默认为禁用状态。 默认情况下为此选项。
11 16.2.1 回收站(RecycleBin)
2.查看回收站中的信息 查看回收站中的信息时,普通用户可以使 用SHOW RECYCLEBIN命令,也可以使用 user_recyclebin数据字典,而数据库管理员 则可以使用dba_recyclebin数据字典。 下面使用DESC命令了解user_recyclebin数 据字典的结构,如下: 参见教材P352
(5) 启用mytest表的行移动功能,如下:
SQL> ALTER TABLE mytest ENABLE ROW MOVEMENT ; 表已更改。
8 16.1 闪回表(Flashback Table)
(6) 使用FLASHBACK TABLE命令,将mytest表中的 数据闪回到第3步查询出来的时间点上,如下:
1.禁用与启用回收站 Oracle系统中的回收站在默认情况下是启用状 态的,可以通过设置初始化参数recyclebin的 值来修改回收站的状态,这需要使用ALTER SESSION语句,其语法形式如下:
ALTER SESSION SET recyclebin = ON | OFF ;
如果回收站处于禁用(OFF)状态,则被删除的 数据库对象无法保存到回收站中,只能是被彻 底删除。

Oracle第12章闪回技术

Oracle第12章闪回技术
p UNDO_TABLESPACE:指定用于回滚信息自动管理的撤 销表空间名;
p UNDO_RETENTIOIN:指定回滚信息的最长保留时间。
学习改变命运,知 识创造未来
Oracle第12章闪回技术
12.2.1 闪回查询
p 闪回查询可以返回过去某个时间点已经提交事务 操作的结果。
p 基本语法:
n SELECT column_name[,…] n FROM table_name n [AS OF SCN|TIMESTAMP expression] n [WHERE condition]
12.1.1 基本概念
p Oracle 9i实现了基于回滚段的闪回查询(Flashback Query)技术,即从回滚段中读取一定时间内对表进行操 作的数据,恢复错误的DML操作。
p 在Oracle 10g中,除提高了闪回查询功能,实现了闪回 版本查询、闪回事务查询外,还实现了闪回表、闪回删除 和闪回数据库的功能。
n 7844
3000
学习改变命运,知 识创造未来
Oracle第12章闪回技术
12.2.2 闪回版本查询
p 09:27:58 SQL>SELECT current_scn FROM v$database; p CURRENT_SCN p ----------p 617244 p 09:27:58 SQL>SELECT empno,sal FROM scott.emp WHERE
n 09:17:47 SQL>SELECT empno,sal FROM scott.emp AS OF TIMESTAMP TO_TIMESTAMP('2009-3-23 09:15:43','YYYY-MM-DD HH24:MI:SS') WHERE empno=7844;

Oracle数据库系统闪回技术

Oracle数据库系统闪回技术

3、确认闪回区设置
SQL> show parameter db_recovery_file_dest;
NAME
TYPE
VALUE
-----------------------------------------------------------------------
db_recovery_file_dest
中数据保留的时间,或者说,希望闪回数据库能够恢复到 的最早的时间点。单位为min,默认是1440min,即一天。
2、闪回开启
(1)SQL> shutdown immediate (2)SQL> startup mount (3)SQL> alter database archivelog; (4)SQL> alter database flashback on; (5)SQL> alter database open;
string
D:\Oracle19c\fast_recovery_area\
db_recovery_file_dest_size big integer
500M
SQL> show parameter db_recovery_file_dest_size
NAME
TYPE
VALUE
------------------------------------- ------------------------------
3. 闪回表(FLASHBACK table):将表恢复到过去的某个时间点或某个 SCN值时的状态。
4. 闪回删除(FLASHBACK drop):将已经删除的表及其关联的对象恢复 到删除前的状态。
5. 闪回数据库(FLASHBACK Database):将数据库恢复到过去某个时间 点或某个SCN值时的状态

Oracle中高可用-Flashback 恢复(针对DBA)

Oracle中高可用-Flashback 恢复(针对DBA)
❖…
❖Donna Scott还说:
❖高可用性 -"这需要一个精心设计、严格管理的环境来 转移系统停机的风险并且避免它的发生,如果避免不 了,那就尽快进行恢复。"
❖…
10g 高可用性-需求增长
❖Oracle副总裁Juan Loaiza说 :
❖"我们并不是试图构建一个任何部件都永远不发生故障 的系统,我们试图构建的是这样一个系统,我们能够 容许单个部件的故障,但系统整体可以保持正常运行 。我们已经将多种技术集成到了一个产品中,基本上 使企业能够将大量廉价的服务器、存储器和网络技术 组装在一起,以创建一个具备高可用性和可伸缩性的 系统。它坚不可摧而且成本很低。"
Real Application Clusters
Automatic Storage Management Flashback
RMAN & Flash Recovery Area Data Guard
Planned Downtime
System Changes
Data Changes
Online Reconfiguration Rolling Upgrades
USER_OBJECTS EMPLOYEES
兑现包括: – 重名名 – 未移动
EMPLOYEES_PK
DBA_FREE_SPACE
Recycle bin
BIN$zbjrBdpw==$0 BIN$zbjra9wy==$0
DROP TABLE employees;
10g 新功能-回收站
❖回收站就是一个数据字典表; ❖放置用户Drop掉的数据库对象信息; ❖Drop操作的对象并没有立即被数据库删除; ❖Purge或者因为存储空间不够会被数据库清掉; ❖可替代以前的某些备份与恢复功能 。

第15章 ORCLE闪回技术

第15章 ORCLE闪回技术

15.4 闪回回收站
15.4.4 闪回回收站中的对象
本节介绍如何报删除的表从回收站中闪回。闪 回删除的语法如下: Flashback table [schema.]<table_name> To [before drop [rename to <表别名>]] | [scn | timestamp ] <expr>;
15.2 闪回数据库
15.2.1 闪回数据库设置
要进行数据库的闪回需要以下几点: ●配置闪回恢复区 ●数据库需要运行在归档模式下(Archivelog) ●在MOUNT状态下使用ALTER DATABASE FLASHBACK ON命令启动闪回数据库功能。
15.2 闪回数据库
15.2.2 使用闪回数据库 启用闪回数据库功能后,就可以对数据库 进行闪回操作了。使用闪回数据库,需要用户 具有SYSDBA权限。闪回数据库的语法形式 如下: FLASHBACK [STANDBY] DATABASE<database_name> {to[BEFORE]SCN|TIMESTAMP EXPR};
15.4 闪回回收站
15.4.3 清除回收站中的对象
清除回收站中的对象使用PURGE命令,其语法 形式如下: PURGE{[TABLESPACE tablespace_name[USER user_name]]|TABLE table_name|INDEX index_name}|[RECYCLEBIN|DBA_RECYCLEBIN ]};
15.4 闪回回收站
15.4.2 查看回收站中的信息
查看回收站中的信息时,一般用户可以使用 SHOW RECYCLEBIN命令,也可以使用 user_recyclebin数据字典,而数据库管理员可以使 用dba_recyclebin数据字典。 下面使用DESC命令可以了解user_recyclebin数据 字典的结构,如下: SQL>DESC user_recyclebin;

oracle闪回技术

oracle闪回技术

亚存整理闪回作用自动的基于磁盘的备份与恢复,能把表恢复到过去的某个时间点查看闪回区Show parameter db_recovery_file_dest 查看闪回区详细信息Select flashback_on from v$database 查看闪回区是否开启2,修改闪回功能SQL> startup mount 数据库启动到mount下SQL> alter database flashback on (off); 开启关闭闪回区注:如遇到38706事件错误,可能是因为归档不正确。

先启用归档SQL>alter database archivelogSQL> alter system set db_flashback_retention_target=2880 修改闪回时间,默认是1440 闪回时间是指数据库能回退的时间闪回使用实例:(注:sys用户下不可用闪回)1,闪回drop的表在非sys用户下创建表和表上索引,插入相关数据create table abc (f number(9));create index idx_test on abc(f);insert into abc values(1);insert into abc values(2);insert into abc values(3);删除表drop table abc;删除表之后,表并没有被真正删除,而是重命名之后放在同一用户下的回收站内,同时表上的索引等也会被如此处理。

回收站满后以先进先出的原则管理查看表语句select * from tab;查看索引语句select index_name, index_type, table_name from ind;查看回收站语句show recyclebin清空回收站语句PURGE RECYCLEBIN;注:没有放入回收站的表不能被闪回闪回之后,即可再次看到表flashback table abc to before drop;但是表闪回后相应的索引等需要重新编译2,闪回DML语句Flashback table abc to timestamp to_timestamp(‘2014-02-14 16:00:00’,’yyyy-mm-dd hh24:mi:ss’) 闪回可能会遇到08189错误,执行下列语句alter table testvarchar enable row movement;意思是允许Oracle修改rowid。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
因为恢复不再受数据库大小的影响,使用闪回数据库 恢复比用传统的恢复方法要快得多。也就是说,传统的恢复 时间(MTTR)是由所需重建的数据文件的大小和所要应用 的归档日志的大小决定的。而使用闪回数据库,恢复时间是 由恢复过程中需要备份的变化的数量决定的,而不是数据文 件和归档日志的大小。
第7页
闪回数据库的结构是由恢复写入器(RVWR)后台进程 和闪回数据库日志组成的。如果要动闪回数据库功能, RVWR进程也要启动。闪回数据库日志是一种新的日志文件 类型,它包括物理数据块先前的“图像”。闪回恢复区是闪回 数据库的先决条件,因为RVWR进程要将闪回日志写入该区 域中,所以在使用闪回数据库功能时,必须首先配置闪回恢 复区。
第2页
主要内容
16.1 闪回技术概述 16.2 闪回数据库 16.3 闪回表 16.4 闪回查询 16.5 闪回版本查询 16.6 闪回事务查询 16.7 闪回丢弃 16.8 小结
第3页
16.1 闪回技术概述
为了使Oracle数据库从任何逻辑误操作中迅速恢复, Oracle 数据库提供了一系列人为错误更正技术,称为闪回。 传统上,从人为错误中恢复数据库唯一的办法就是采用用户 管理的备份和恢复技术。而闪回技术提供了从逻辑错误中恢 复的更有效和更快的方法,多数情况下,在用这种技术进行 恢复时数据库仍然联机并对用户可用。此外,闪回技术允许 选择性地复原某些对象。在Oracle11g中,闪回技术包括以下 方面:
第十六章Oracle闪回(Flashback) 技术
本章概述 主要内容
第1页
本章概述
为了使Oracle数据库从任何逻辑误操作中迅速恢复, Oracle 数据库提供了一系列人为错误更正技术,称为闪回 。使用闪回(Flashback)技术可以实现基于磁盘上闪回 恢复区的自动备份与恢复。本章介绍与数据库闪回相关的 知识。闪回技术从oracle9i版本的闪回查询开始,在 Oracle10g版本中系统地使用,Oracle11g版本中进行了加 强。
第4页
闪回查询(Flashback Query):查询过去某个时间点 或者某个SCN值时表中的数据信息。
闪回版本查询(Flashback Version Quary):查询过 去某个时间段或某个SCN段内表中数据的变化情况。
闪回事务查询(Flashback Transaction Query):查 看某个事务或所有事务在过去一段时间对数据进行的修改。
用户可以从sysdate中得到系统的当前时间。 当用户发出FLASHBACK DATABASE语句之后,数 据库会首先检查所需要的归档文件与联机重建日志文件的可 用性。如果可用,则会将数据库恢复到指定的SCN或者时间 点上。
第9页
在数据库中闪回数据库的总数和大小由 DB_FLASHBACK_RETENTION_TARGET初始化参数控 制。可通过查询V$FLASHBACK_DATABASE_LOG视图 来确定能恢复到过去多远。
Oracle11g的FLASHBACK命令可以对表级进行恢复 ,也可以对数据库级进行恢复。要对数据库级进行恢复,就 要用到FLASHBACK DATABASE命令,语法格式如下:
FLASHBACK [STANDBY] DATABASE <database> {TO [SCN | TIMESTAMP] <exp> | TO BEFORE [SCN | TIMESTAMP] <exp>}
闪回数据库(Flashback Database):允许用户通过 Flashback Database语句,使数据库迅速地回滚到以前的某个 时间点或某个SCN(系统更改号)值时的状态。
闪回丢弃(Flashback Drop):类似于操作系统的垃圾 回收站功能,可以从中恢复被drop的表或索引。该功能基于 撤销数据。
闪回表(Flashback Table):将表恢复到过去的某个 时间点或某个SCN值时的状态。
闪回技术最大的特点是实现自动备份与恢复,大大减 小了管理开销。当Oracle数据库发生人为故障时,不需要事 先备份数据库,就可以利用闪回技术快速而方便地进行恢复 。为了使用数据库的闪回技术,必须启用撤销表空间自动管 理回滚信息。如果要使用闪回删除技术和闪回数据库技术, 还需要启用回收站、闪回恢复区。
第5页
主要内容
16.1 闪回技术概述 16.2 闪回数据库 16.3 闪回表 16.4 闪回查询 16.5 闪回版本查询 16.6 闪回事务查询 16.7 闪回丢弃 16.8 小结
第6页
16.2 闪回数据库
闪回数据库能够使数据库迅速回滚到以前的某个时间点 或者某个SCN(系统更改号)上。这是大多数逻辑损害时恢 复数据库的最佳选择。Oracle系统为了使用数据库的闪回功 能,特别创建了另外一组日志,就是Flashback_logs(闪回日 志),记录数据库的闪回操作。
第8页
其中参数说明如下: l STANDBY:指定恢复备用的数据库到某个SCN或者
某个时间点上。如果没有备用数据库,则系统会返回一个错 误。如果省略STANDBY子项,则数据库可能是主数据库, 也可能是备用数据库。
l TO SCN <exp>:指定一个系统改变号SCN。 l TO BEFORE SCN <exp>:恢复到之前的SCN。 l TO TIMESTAMP:需要恢复的时间表达式。 l TO BEFORE TIMESTAMP:恢复数据库到之前的时间表 达式。
第11页
16.3 闪回表
闪回表是将表恢复到过去的某个时间点的状态,为 DBA提供了一种在线、快速、便捷地恢复对表进行的修改 、删除、插入等错误的操作,可以讲指定表中的数据、索引 、触发器等恢复到指定的时间点。
如果数据库中所保留的数据不够执行恢复,可使用 标准的恢复过程恢复到过去的某个时间点上。
如果数据文件集没有保留足够的数据,则数据库会 返回一个错误,在这种情况下,可先使用数据文件脱机, 然后再发出语句恢复剩余的部分,最后再用标准方法恢复 这些脱机的数据文件。
第10页
主要内容
16.1 闪回技术概述 16.2 闪回数据库 16.3 闪回表 16.4 闪回查询 16.5 闪回版本查询 16.6 闪回事务查询 16.7 闪回丢弃 16.8 小结
相关文档
最新文档