- 浏览: 4411189 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (634)
- Oracle日常管理 (142)
- Oracle体系架构 (45)
- Oracle Tuning (52)
- Oracle故障诊断 (35)
- RAC/DG/OGG (64)
- Oracle11g New Features (48)
- DataWarehouse (15)
- SQL, PL/SQL (14)
- DB2日常管理 (9)
- Weblogic (11)
- Shell (19)
- AIX (12)
- Linux/Unix高可用性 (11)
- Linux/Unix日常管理 (66)
- Linux桌面应用 (37)
- Windows (2)
- 生活和工作 (13)
- 私人记事 (0)
- Python (9)
- CBO (15)
- Cognos (2)
- ORACLE 12c New Feature (2)
- PL/SQL (2)
- SQL (1)
- C++ (2)
- Hadoop大数据 (5)
- 机器学习 (3)
- 非技术 (1)
最新评论
-
di1984HIT:
xuexilee!!!
Oracle 11g R2 RAC高可用连接特性 – SCAN详解 -
aneyes123:
谢谢非常有用那
PL/SQL的存储过程和函数(原创) -
jcjcjc:
写的很详细
Oracle中Hint深入理解(原创) -
di1984HIT:
学习了,学习了
Linux NTP配置详解 (Network Time Protocol) -
avalonzst:
大写的赞..
AIX内存概述(原创)
闪回数据库的特性
Flashback Database 功能非常类似与RMAN的不完全恢复, 它可以把整个数据库回退到过去的某个时点的状态,
这个功能依赖于Flashback log 日志,而且比RMAN更快速、高效。 因此Flashback Database
可以看作是不完全恢复的替代技术。 但它也有某些限制:
1. Flashback Database 不能解决Media Failure, 这种错误RMAN恢复仍是唯一选择
2. 如果删除了数据文件或者利用Shrink技术缩小数据文件大小,这时不能用Flashback
Database技术回退到改变之前的状态,这时候就必须先利用RMAN把删除之前或者缩小之前的文件备份restore 出来,
然后利用Flashback Database 执行剩下的Flashback Datbase。
3. 如果控制文件是从备份中恢复出来的,或者是重建的控制文件,也不能使用Flashback Database。
4. 使用Flashback Database锁能恢复到的最早的SCN, 取决与Flashback Log中记录的最早SCN。
闪回数据库
的架构
Flashback Database 整个架构包括一个进程Recover Writer(RVWR)后台进程,Flashback Database Log日志和Flash Recovery Area。一旦数据库启用了Flashback Database, 则RVWR进程会启动,该进程会向Flash Recovery Area中写入Flashback Database Log, 这些日志包括的是数据块的 " 前镜像(before image)", 这也是Flashback Database 技术不完全恢复块的原因。RVWR进程写入的是闪回数据库日志,详细流程图见下图。
[oracle@dg1 ~]$ ps -ef|grep rvw|grep -v grep
oracle 2665 1 0 08:53 ? 00:00:00 ora_rvwr_orcl
RVWR和LGWR的区别
假设T表C1列默认值为null,并进行了如下操作
时间点 |
作用的列 T(C1)的 SQL |
RVWR |
LGWR |
09:00:00 |
Update T set c1=1; |
改变前的值 null |
改变前的值 null,改变后的值 1 |
09:10:00 |
Update T set c1=2; |
改变前的值 1 |
改变前的值 1,改变后的值 2 |
09:15:00 |
Update T set c1=3; |
改变前的值 2 |
改变前的值 2,改变后的值 3 |
09:20:00 |
Update T set c1=4; |
改变前的值 3 |
改变前的值 3,改变后的值 4 |
闪回日志和联机重做日志虽然作用相似
,但他们还是有不少差异。
闪回日志不是循环使用的,联机重做日志是循环使用的。当事务修改了buffer cache中的数据块时,会将改变前的值和改变后的值以重做记录的形式保存在log buffer中,然后通过LGWR将重做记录写入联机重做日志中。但是在记录闪回日志时,只会将改变前的值保存在flashback buffer中,再由RVWR写入闪回日志中。
闪回时,从闪回日志的尾部向头部方向,依次取出闪回日志中的记录并应用在数据库上。而应用重做日志在进行实例恢复时,从闪回日志的头部向尾部方向依次取出重做记录并应用到数据库上。
比如当前时间
09:20:00表T中C1列的值为4,当需要闪回到
09:10:00表T中C1为2的时候。从尾部应用日志开始,先取出C1=3这个值覆盖C1=4,之后继续取出C1=2覆盖C1=3。发现已经满足条件,故停止应用闪回日志。
与闪回数据库相关的几个视图
1.v$flashback_database_log
Flashback Database 所能回退到的最早时间,取决与保留的Flashback Database Log 的多少,该视图就可以查看许多有用的信息。
Oldest_flashback_scn / Oldest_flashback_time : 这两列用来记录可以恢复到最早的时点
Fashback_size: 记录了当前使用的Flash Recovery Area 空间的大小
Retention_target: 目标保存的实际(分钟)
Estimated_flashback_size: 根据策略对需要的空间大小的估计值
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
Session altered.
SQL> select OLDEST_FLASHBACK_SCN os,OLDEST_FLASHBACK_TIME ot,RETENTION_TARGET rt ,FLASHBACK_SIZE fs,ESTIMATED_FLASHBACK_SIZE efs from v$flashback_database_log;
OS OT RT FS EFS
---------- ------------------------ ---------- ---------- ---------
858471 2011-03-23 12:19:20 1440 79970304 95920128
2.v$flashback_database_stat
这个视图用来对Flashback log
空间情况进行更细粒度的记录和估计。 这个视图以小时为单位记录单位时间内数据库的活动量,
Flashback_Data
代表
Flashback log
产生数量,
DB_Date
代表数据改变数量,
Redo_Date
代表日志数量,通过这
3
个数量可以反映出数据的活动特点,更准确的预计
Flash Recovery Area
的空间需求
SQL> select BEGIN_TIME bt,END_TIME et,FLASHBACK_DATA fd,DB_DATA dd,REDO_DATA rd,ESTIMATED_FLASHBACK_SIZE efs from v$flashback_database_stat;
BT ET FD DD RD EFS
------------------- ----------------------------- ------------ ------------- ---------- ----------
2011-03-24 20:50:40 2011-03-24 21:08:19 2727936 3760128 854016 0
2011-03-24 19:44:19 2011-03-24 20:50:40 5488640 8716288 2470400 93757440
3.v$flashback_database_logfile
该视图主要记录闪回日志的详细信息,NAME闪回日志的位置,FIRST_CHANGE#闪回日志中记录的最早的SCN,FIRST_TIME闪回日志中记录的最早时间
SQL> select * from v$flashback_database_logfile;
NAME LOG# THREAD# SEQUENCE# BYTES FIRST_CHANGE# FIRST_TIME
----------------------------------------------------------------- ---------- ---------- ---------- ---------- ------------- -------------------
/u01/app/flash_recovery_area/ORCL/flashback/o1_mf_6rhqmnl8_.flb 1 1 31 8192000 913156 2011-03-24 21:00:30
/u01/app/flash_recovery_area/ORCL/flashback/o1_mf_6rj46g7l_.flb 2 1 13 4096000 861743 2011-03-23 14:00:25
/u01/app/flash_recovery_area/ORCL/flashback/o1_mf_6rj7q75f_.flb 3 1 14 3981312 863845 2011-03-23 15:00:41
/u01/app/flash_recovery_area/ORCL/flashback/o1_mf_6rjc824j_.flb 4 1 15 3981312 865919 2011-03-23 16:00:57
/u01/app/flash_recovery_area/ORCL/flashback/o1_mf_6rjgrsmg_.flb 5 1 16 3981312 867909 2011-03-23 17:00:21
启用数据库闪回模式
如果想启动FLASHBACK DATABASE的功能,您必须在MOUNT模式下,将数据库通过如下命令至于归档模式
SQL> alter database archivelog;
Database altered.
开启闪回模式
SQL> alter database flashback on;
Database altered.
关闭闪回执行可通过如下命令
SQL> alter database flashback off;
Database altered.
确认闪回是否开启
select name,current_scn,flashback_On from v$database
NAME CURRENT_SCN FLASHBACK_ON
--------------------------- ------------------------ ------------------------------
ORCL 0 YES
与闪回数据库相关的几个参数
1.
DB_RECOVERY_FILE_DEST_SIZE和
DB_RECOVERY_FILE_DEST
要想使用Flashback Database, 必须使用Flash Recovery Area,因为Flashback Database
Log只能保存在这里。 要配置的2个参数如下,一个是大小,一个是位置。如果数据库是RAC,flash recovery area
必须位于共享存储中。数据库必须处于archivelog 模式.
启用Flash Recovery Area:
SQL>ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=20G SCOPE=BOTH;
SQL>ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='/DBA/FB' SCOPE=BOTH;
禁用Flash Recovery Area:
SQL>ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='' ;
对于Flash Recovery Area,Oracle 是这样建议的,flash recovery area 设置的越大,flashback
database 的恢复能力就越强,因此建议flash recovery area
能够放的下所有的数据文件,增量备份,以及所有尚未备份的归档文件,当然还有它自己产生的flashback logs。
在数据库运行过程中,oracle 自动向该区域写入文件,当剩余空间不足15%的时候,它就会在alert
中增加警告,提示你空间不足。但此时不会影响数据库的正常运转,直到所有空间统统被用掉之后,oracle
首先尝试删除寻些过期的文件,冗余文件或备份过的文件以及闪回日志,如果这些做完了,还是没有空闲空间的话,数据库就被hang住了。
2.
DB_FLASHBACK_RETENTION_TARGET:
该参数用来控制flashback log 数据保留的时间,或者说,你希望flashback database 能够恢复的最早的时间点。默认值是1440,单位是minute,即24 小时,需要注意的是该参数虽然未直接指定flash recovery area大小,但却受其制约,举个例子假如数据库每天有10%左右的数据变动的话,如果该初始化参数值设置为1440,则flash recovery area 的大小至少要是当前数据库实际容量的10%,如果该初始化参数设置为2880,则flash recovery area 的大小就至少是数据库所占容量的20%。
SQL>alter system set db_flashback_retention_target=1440 scope=both;
启用闪回数据库
数据库的Flashback Database功能缺省是关闭的,要想启用这个功能,就需要做如下配置。
启用归档模式
SQL> alter database archivelog;
Database altered.
开启闪回模式
SQL> alter database flashback on;
Database altered.
关闭闪回执行可通过如下命令
SQL> alter database flashback off;
Database altered.
闪回数据库实际操作
1、确认开启归档模式
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/app
Oldest online log sequence 1
Next log sequence to archive 4
Current log sequence 4
2.确认开启闪回
SQL> select flashback_on from v$database;
FLASHBACK_ON
------------------------------------------------------
YES
3.确认闪回日志的存放位置和最大容量
SQL> show parameter db_recovery
NAME TYPE VALUE
------------------------------------ --------------------------------- -----------------------------------
db_recovery_file_dest string /u01/app/flash_recovery_area
db_recovery_file_dest_size big integer 2G
闪回数据库
查询当前时间点
SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
TO_CHAR(SYSDATE,'YYYY-MM-DDHH24:MI:SS')
---------------------------------------------------------
2011-03-24 09:40:10
查询当前SCN
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
905962
删除HR用户
SQL> drop user hr cascade;
User dropped.
进行闪回数据库
SQL> startup mount;
ORACLE instance started.
Total System Global Area 373293056 bytes
Fixed Size 1219496 bytes
Variable Size 163578968 bytes
Database Buffers 205520896 bytes
Redo Buffers 2973696 bytes
Database mounted.
基于时间点的闪回
SQL> flashback database to timestamp to_timestamp('2011-03-24 09:40:10','yyyy-mm-dd hh24:mi:ss');
Flashback complete.
基于SCN的闪回
SQL> flashback database to scn 905962;
Flashback complete.
打开数据库:
在执行完flashback database 命令之后,oracle 提供了两种方式让你修复数据库:
1). 直接alter database open resetlogs 打开数据库,当然,指定scn 或者timestamp 时间点之后产生的数据统统丢失。
2). 先执行alter database open read only 命令以read-only 模式打开数据库,然后立刻通过逻辑导出的方式将误操作涉及表的数据导出,再执行recover database 命令以重新应用数据库产生的redo,将数据库修复到flashback database 操作前的状态,然后再通过逻辑导入的方式,将之前误操作的表重新导入,这样的话对现有数据的影响最小,不会有数据丢失。
下面以只读方式打开确认是否正确闪回
SQL> alter database open read only;
Database altered.
SQL> conn hr/hr;
Connected.
SQL> select count(*) from user_tables;
COUNT(*)
----------
26
以RESETLOGS方式打开数据库
SQL> alter database open resetlogs;
闪回数据库需要注意的几点:
1.一旦关闭闪回数据库,flashback recovery area中的闪回日志将自动全部删除
2.即便以resetlogs打开数据库,当前闪回日志里的内容仍然保留,仍然可以继续进行闪回以restlogs方式打开数据库。之所以考虑以read only放是打开数据库,主要是因为以resetlog方式打开数据库后,用户即可操作数据库,无法校验闪回的准确性。另外,当闪回数据库与DATA GUARD结合后,当主库发生逻辑损坏,我们可以闪回备库,然后以read only方式打开备库,将数据从备库中导出后导入到主库中,这样将对数据和业务的影响减小到最小。
3.如果闪回数据库的时间点之间进行了控制文件的恢复或重建,数据文件的收缩,或删除了某个表空间,则闪回将失败。
4.闪回日志在出现空间压力的情况下,oracle会自动删除闪回日志,则有可能导致无法闪回到指定的时间点。如果希望闪回到指定的时间点,可进行如下操作
SQL> create restore point must_to_flashback guarantee flashback database;
这样我们就给当前时间点取
must_to_flashback这个名字,确保能闪回到该时间点上
5.闪回删除 只能用于非系统表空间和本地管理的表空间
6. 对象的参考约束、索引不会被恢复,指向该对象的外键约束需要重建。
7. 对象能否恢复成功,取决与对象空间是否被覆盖重用。
8. 当删除表时,信赖于该表的物化视图也会同时删除,但是由于物化视图并不会被放入recycle bin,因此当你执行flashback table to before drop 时,也不能恢复依赖其的物化视图,需要dba 手工介入重新创建。
9. 对于Recycle Bin中的对象,只支持查询.
闪回删除
Flashback Drop 是从Oracle 10g 开始出现的, 用于恢复用户误删除的对象(包括表,索引等), 这个技术依赖于Tablespace Recycle Bin(表空间回收站),这个功能和windows的回收站非常类似。
Flashback 不支持sys用户. system表空间下的对象,也不能从回收站里拿到。故使用SYS 或者SYSTEM用户登陆时, show recyclebin 为空。
从Oracle 10g 开始, 每个表空间都会有一个叫作回收站的逻辑区域,当用户执行drop命令时, 被删除的表和表的关联对象( 包括索引, 约束,触发器,LOB段,LOB index 段) 不会被物理删除, 这些对象先转移到回收站中,这就给用户提供了一个恢复的可能。
初始化参数recyclebin 用于控制是否启用recyclebin功能,缺省是ON, 可以使用OFF关闭,如:
SQL> alter system set recyclebin=off;
SQL> alter system set recyclebin=on;
SQL> alter session set recyclebin=off;
SQL> alter session set recyclebin=on;
禁用后删除的对象将直接删除,不会写到Recycle中,当然在删除时,指定purge 参数,表也将直接删除,不会写到recyclebin中。
SQL> drop table test1;
Table dropped.
SQL> drop table uk_czm purge;
Table dropped.
可以看到test1删除并被放入回收站中而uk_czm没有放入回收站
SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
TEST1 BIN$nzam0J++vbPgQAB/AQARTg==$0 TABLE 2011-03-24:16:56:22
查看recyclebin中的对象
SQL>select object_Name,original_name from recyclebin
OBJECT_NAME ORIGINAL_NAME
-------------------------------------------------- ------------------
BIN$nzam0J++vbPgQAB/AQARTg==$0 TEST1
查看对象的相信内容
SQL> select * from "BIN$nzam0J++vbPgQAB/AQARTg==$0";
ID NAME
---------- ------------------------------
1 AA
2 BB
3 CC
表空间的Recycle Bin 区域只是一个逻辑区域,而不是从表空间上物理的划出一块区域固定用于回收站,因此Recycle Bin是和普通对象共用表空间的存储区域,或者说是Recycle Bin的对象要和普通对象抢夺存储空间。当发生空间不够时,Oracle会按照先入先出的顺序覆盖Recycle Bin中的对象。也可以手动的删除Recycle Bin占用的空间。
1).
Purge tablespace tablespace_name
: 用于清空表空间的Recycle Bin
2).
Purge tablespace tablespace_name user user_name
: 清空指定表空间的Recycle Bin中指定用户的对象
3).
Purge recyclebin
: 删除当前用户的Recycle Bin中的对象
4).
Purge dba_recyclebin
: 删除所有用户的Recycle Bin中的对象,该命令要sysdba权限
5).
Drop table table_name purge
: 删除对象并且不放在Recycle Bin中,即永久的删除,不能用Flashback恢复。
6).
Purge index recycle_bin_object_name
: 当想释放Recycle bin的空间,又想能恢复表时,可以通过释放该对象的index所占用的空间来缓解空间压力。 因为索引是可以重建的。
SQL> create table flash_drop(id int);
Table created.
SQL> drop table FLASH_DROP;
Table dropped.
SQL> create table flash_drop(id int);
Table created.
SQL> drop table FLASH_DROP;
Table dropped.
SQL> create table flash_drop(id int);
Table created.
SQL> drop table FLASH_DROP;
Table dropped.
SQL> create table flash_drop(id int);
Table created.
SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
FLASH_DROP BIN$nzoFsXt1rUPgQAB/AQAKww==$0 TABLE 2011-03-24:19:59:45
FLASH_DROP BIN$nzoFsXt0rUPgQAB/AQAKww==$0 TABLE 2011-03-24:19:59:40
FLASH_DROP BIN$nzoFsXtzrUPgQAB/AQAKww==$0 TABLE 2011-03-24:19:56:22
使用原有的表名称来清空回收站中的表,默认清空回收站中最早的同名表
SQL> purge table FLASH_DROP;
Table purged.
可以看到
“
2011-03-24:19:56:22”也就是最早的“
FLASH_DROP”被清除了
SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
FLASH_DROP BIN$nzoFsXt1rUPgQAB/AQAKww==$0 TABLE 2011-03-24:19:59:45
FLASH_DROP BIN$nzoFsXt0rUPgQAB/AQAKww==$0 TABLE 2011-03-24:19:59:40
执行闪回删除操作
SQL> flashback table flash_drop to before drop;
flashback table flash_drop to before drop
*
ERROR at line 1:
ORA-38312: original name is used by an existing object
由于数据库中已经重新创建了flash_drop表,故需加上rename to选项
使用原有的表名称来闪回回收站中的表,默认闪回回收站中最晚的同名表
SQL> flashback table flash_drop to before drop rename to flash_1;
Flashback complete.
可以看到
“
2011-03-24:19:59:45”
也就是最晚的“
FLASH_DROP”被闪回了
SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- --------------------------------------------- -------------------------- ------------------------------
FLASH_DROP BIN$nzoFsXt0rUPgQAB/AQAKww==$0 TABLE 2011-03-24:19:59:40
使用回收站中的对象名称可明确指定需要删除或闪回的表
SQL> purge table "BIN$nzoFsXt0rUPgQAB/AQAKww==$0";
SQL> flashback table
"BIN$nzoFsXt0rUPgQAB/AQAKww==$0" to before drop;
参考至:《教你成为10G OCp》韩思捷著
http://blog.csdn.net/tianlesoftware/archive/2009/10/15/4677378.aspx
本文原创,转载请注明出处、作者
如有错误,欢迎指正
邮箱:czmcj@163.com
发表评论
-
Oracle 11g、12c大量错误登陆尝试带来的数据库异常
2018-07-16 09:21 1532APPLIES TO: Oracle Database - ... -
如何定位那些SQL产生了大量的redo日志
2018-05-15 14:38 1785在ORACLE数据库的管理、 ... -
When Memory_target Is Set and Swap Size Is Not Big (Doc ID 2356025.1)
2018-03-16 18:13 1191Kkjcre1p: unable to sp ... -
Transparent Hugepage is not getting disabled (Doc ID 2279458.1)
2018-03-16 18:10 823Transparent Hugepage is ... -
Troubleshooting: "log file sync" Waits (文档 ID 1376916.1)
2017-03-09 14:32 1368What is a 'log file sync' wai ... -
log file sync总结
2017-03-09 14:36 3262log file sync等待时间发生在redo log从 ... -
Oracle Log File Sync Wait Event
2017-03-08 18:46 1172The Oracle “log file sync” wai ... -
Tuning ‘log file sync’ Event Waits
2017-03-08 18:41 859Tuning ‘log file sync’ Event ... -
Diagnosing buffer busy waits with the ash_wait_chains.sql script (v0.2)
2017-03-08 16:56 856Diagnosing buffer busy waits w ... -
Advanced Oracle Troubleshooting Guide – Part 11: Complex Wait Chain Signature An
2017-03-08 16:05 1099Here’s a treat for the hard-co ... -
Oracle 10046 SQL TRACE
2017-03-08 15:19 947为什么我们要使用10046 trace? 10046 ... -
Automatic Storage Management
2016-11-03 15:33 870SYSASM Role When Automatic ... -
ASM FAQ
2016-11-03 15:29 734ASM FAQ Oracle Automatic ... -
Oracle ALTER PROFILE语法
2016-10-10 11:36 3412ALTER PROFILE Purpose Use th ... -
Oracle FGA审计
2016-09-20 09:42 1390大家对trigger可能比较熟悉,但Oracle还有一个叫 ... -
Secret.txt
2016-09-14 17:20 0考试登录账号:YAMAC0043865 Chen1988协会网 ... -
Oracle Data Pump Internals
2016-09-13 16:38 786IntroductionOracle Data Pump w ... -
UDEV SCSI Rules Configuration for ASM in Oracle Linux 5, 6 and 7
2016-09-12 16:32 849UDEV SCSI Rules Configuration ... -
Cannot Allocate New Log
2016-02-21 12:28 5453故障报错 Thread 1 cannot allocat ... -
Oracle flashback dropped tablespace(原创)
2015-11-15 22:21 2017Oracle官方并不推荐在数据库物理结构发生改变的情况下进行 ...
相关推荐
Flashback Query 是 Oracle Flashback 特性中最基本的部分,它允许用户通过闪回查询来查看过去的数据状态。Flashback Query 通过使用多版本读一致性的 undo 表空间来读取操作前的记录数据。Flashback Query 有多种...
在Oracle数据库中,闪回数据库功能依赖于闪回日志(Flashback Logs),这些日志存储了数据库自某个时间点以来的所有更改。闪回日志位于快速恢复区(Flash Recovery Area)内,这是一个特殊的空间,用于存储备份、...
该技术允许选择性地复原某些对象,在 Oracle 11g 中,闪回技术包括闪回数据库、闪回表、闪回查询、闪回版本查询、闪回事务查询和闪回丢弃等方面。 2. 闪回数据库(Flashback Database) 闪回数据库允许用户通过 ...
### 利用闪回数据库(Flashback)修复Failover后的DG环境 #### 1. 概述 在Oracle Database环境中,Data Guard (DG)是一种重要的容灾解决方案,它通过复制主数据库(Primary Database)的数据到一个或多个备用数据库...
Flashback Database闪回数据库 使用闪回数据库可以将数据库快速的闪回到过去某个时间点。在启用闪回数据时,会将修改过的块的前映像作为闪回数据库日志保存在闪回恢复区中,如出现逻辑坏块或用户错误操作需要恢复...
MySQL Flashback 闪回功能详解 MySQL Flashback 是 MySQL 中的一种闪回功能,用于快速恢复由于误操作丢失的数据。在 DBA 误操作时,可以把数据库恢复到以前某个时间点(或者说某个 binlog 的某个 pos)。Flashback ...
如果要使用闪回删除技术和闪回数据库技术,还需要启用回收站、闪回恢复区。 闪回技术包括以下几方面: 1. 闪回数据库(Flashback Database):允许用户通过Flashback Database语句,使数据库迅速地回滚到以前的...
本文将详细介绍Oracle中的闪回技术及其应用场景,包括闪回数据库、闪回已删除的表、闪回表数据的修改以及闪回版本查询等。 #### 二、闪回技术概述 闪回技术主要包括以下几个方面: 1. **闪回数据库**:这是一种...
Oracle数据库闪回技术是Oracle 10g及后续版本引入的一种强大特性,主要用于应对逻辑错误,比如用户误删除表、管理员误操作等。它允许数据库快速恢复到错误发生前的状态,而无需进行复杂的不完全恢复操作。闪回技术...
### Oracle 闪回技术及其配置详解 #### 一、闪回恢复区的设置与管理 在Oracle数据库中,闪回技术是一项重要的...同时,我们也探讨了闪回恢复区中的内容以及与之相关的限制,帮助用户更好地理解和使用Oracle闪回功能。
5. Flashback Database(闪回数据库):在数据库级别应用的闪回技术,可以将整个数据库恢复到某个时间点。这需要RMAN(恢复管理器)配合,通常用于灾难恢复。在确保所有日志文件完整的情况下,可以通过RMAN的`...
### Flashback闪回技术 #### 一、概述 Flashback技术是Oracle数据库中一项重要的数据恢复工具,它基于Undo Segment中的内容实现,并受到UNDO_RETENTION参数的影响。要使用这项特性,用户必须启用自动撤销管理表...
2. **闪回技术在数据恢复中的应用**:如果一名数据库管理员不小心删除了一个重要的表,闪回表功能可以将该表恢复到删除之前的最后一个状态,从而避免了可能的数据丢失。 ### 结论 RMAN和闪回技术是Oracle数据库...
它包括闪回数据库、闪回表和闪回删除等功能。闪回恢复区保存了一段时间内对数据的修改,以便在需要时恢复。闪回日志则记录了数据变化的前一个状态,存储在闪回缓冲区,然后由RVWR进程写入闪回日志文件。 2. **闪回...
Flashback 系列是 Oracle 数据库中的一组功能强大且实用的闪回机制,旨在帮助数据库管理员和开发者快速恢复数据库中的各种对象,包括表、数据、事务等。Flashback 系列的功能可以追溯到 Oracle 9i 版本,并在后续...
本文将详细介绍达梦数据库中如何开启归档和闪回功能,并通过具体的配置示例来帮助读者更好地理解和应用这些技术。 #### 开启归档 ##### 1. 理解归档 归档是指将数据库中的日志文件定期或按需复制到指定位置的过程...
闪回表:可以确保数据库表能够被恢复到之前的某一个时间点上,与 Flashback Query 不同, Flashback Query 仅仅是得到了表在之前时间点上的快照而已,并不改变当前表的状态;而 Flashback Table 却能够将表及其附属...
Oracle 闪回(Flashback)技术是Oracle数据库提供的一种强大工具,主要用于数据恢复和时间点一致性查询。这一技术的核心在于Undo Segment,它记录了数据库中事务的撤销信息。Oracle 10g引入了多种闪回功能,包括...