闪回flashback
SQL> select current_scn
;
已更新 行。
; //查询之前scn时的值
ID
) from
dual;
SCN_TO_TIMESTAMP()
月 ...000000000 上午
SQL> select to_timestamp('24-2月 -13
01.12.07.000000000 上午') from
dual; 月 ...000000000 上午
SQL> select timestamp_to_scn(to_timestamp('24-2月 -13 01.12.07.000000000 上午')) from
dual;
TIMESTAMP_TO_SCN(TO_TIMESTAMP(
查询smon维护的最早scn
SQL> select min(scn)
from sys.smon_scn_time
;
) from
dual;
SCN_TO_TIMESTAMP()
月 ...000000000 下午
小于最早scn则无法进行运算
) from
dual;
) from
dual
行出现错误:
ORA:
指定的编号不是有效的系统更改号
ORA: 在 "SYS.SCN_TO_TIMESTAMP",
line
table(sys用户下的表不能用这个方式,利用UNDO。而闪回表内部实际是先delete再insert)闪回表到之前某个scn的状态
OBJECT_ID NAME
----------
aaa
aaa
SQL> select current_scn
行。
SQL> commit;
提交完成。
SQL> flashback table t12 to scn
;
flashback table t12 to scn
行出现错误:
ORA: 因为未启用行移动功能,
不能闪回表(因为闪回个时间点,行位置可能被占用,存储位置可能发生变化)
bbb AAAXMiAAEAAAMFTAAA
bbb AAAXMiAAEAAAMFTAAB
是否允许行移动,查询dba_tables表中row_movement=DISABLED|ENABLE
SQL> alter table t12
enable row movement;
表已更改。
SQL> flashback table t12 to scn
;
闪回完成。
aaa AAAXMiAAEAAAMFTAAC
aaa AAAXMiAAEAAAMFTAAD
query(返回版本查询)
versions_startscn,versions_endscn,versions_xid,versions_operation,versions_starttime,versions_endtime,id,name
from
scott.t1 versions between scn minvalue and maxvalue order by versions_startscn;


query(闪回事务查询,使用undo)
已连接。
SQL> create table t1
(id ));
表已创建。
SQL> insert into t1
,
行。
SQL>
insert into
t1 ,
行。
SQL>
commit;
提交完成。
行。
SQL> commit;
提交完成。
查询该事务的事务id,versions_xid:
xid='0A00170079230000';
t_recycle (id number) tablespace
users;
表已创建。
:00::
T11 BIN$ :00::
T_RECYCLE BIN$ :::
闪回完成。

FLASHBACK_ON
------------------
NO
db_recover
NAME TYPE VALUE
------------------------------------
-----------
--------------------------------
db_recovery_file_dest string D:\app\Lenovo\fast_recovery_area
db_recovery_file_dest_size big
integer 10000M
开启闪回数据库:数据库已经关闭。
已经卸载数据库。
ORACLE
例程已经关闭。
SQL>
startup mount
ORACLE 例程已经启动。
Total System Global
Area bytes
Fixed bytes
Variable
bytes
Database
Buffers bytes
Redo
Buffers bytes
数据库装载完毕。
SQL> archive log
list
数据库日志模式 存档模式
自动存档 启用
存档终点 D:\app\arch
最早的联机日志序列
下一个存档日志序列
当前日志序列
SQL> show parameter db_recover
NAME TYPE VALUE
------------------------------------
-----------
------------------------------
db_recovery_file_dest string D:\app\Lenovo\fast_recovery_area
db_recovery_file_dest_size big
integer 10000M
SQL> alter database flashback on;
数据库已更改。
SQL> alter database
open;
数据库已更改。


db_flashback
NAME TYPE VALUE
------------------------------------
-----------
闪回库最早可闪回的scn点:
v$flashback_database_log;
OLDEST_FLASHBACK_SCN OLDEST_FLASHBA
RETENTION_TARGET FLASHBACK_SIZE ESTIMATED_FLASHBACK_SIZE
月
redo_data单位是字节,表示从begin_time至今产生的闪回日志、数据、redo的大小,可以粗略的估算闪回需要的时间和闪回的量
v$flashback_database_stat;
BEGIN_TIME END_TIME FLASHBACK_DATA DB_DATA REDO_DATA
ESTIMATED_FLASHBACK_SIZE
--------------
月
月
SQL> drop user scott cascade;
用户已删除。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE
例程已经关闭。
SQL>
startup mount
ORACLE 例程已经启动。
Total System Global
Area bytes
Fixed bytes
Variable
bytes
Database
Buffers bytes
Redo
Buffers bytes
数据库装载完毕。
SQL> flashback database to scn
;
闪回完成。
SQL> alter database
open read
only;
数据库已更改。
SQL> conn scott/tiger
已连接。
resetlog
11g有个新的闪回表空间,不依赖undo闪回flashback的更多相关文章
- oracle之三闪回flashback
闪回 flashback 5.1 flashback 的功能:1)利用undo data回溯或撤销提交的数据,2)flashback log 使database 可以恢复到过去某个时间点,可以作为不完 ...
- Oracle闪回flashback总结
1.说明: Ø 采用的技术. 使用的是多个技术. 1. 闪回日志 2. 回收站 3. 回滚段 无法使用回收站的操作 Drop table xxx purge; Drop ...
- Oracle闪回flashback
参考资料:Using Oracle Flashback Technology Oracle 11g的新特性闪回操作 闪回查询 闪回查询 闪回版本查询 闪回事务查询 闪回数据 闪回表 闪回删除 闪回数据 ...
- Oracle 闪回特性(FLASHBACK DATABASE)
--===================================== -- Oracle 闪回特性(FLASHBACK DATABASE) --======================= ...
- Flashback Query、Flashback Table(快速闪回查询、快速闪回表)
Flashback Query闪回查询 flashback query是基于undo表空间的闪回,与之相关的参数如下: SQL> show parameter undo NAME ...
- FlashBack 闪回
[学习目标] Flashback Database 功能非常类似与RMAN的不完全恢复,它可以把整个数据库回退到 过去的某个时点的状态,这个功能依赖于Flashback log日志.比RMAN 更快速 ...
- Oracle 的闪回技术 --flashback
SQL Fundamentals: 表的创建和管理 如何开启数据库闪回? SQL> shutdown immediate; ORA-01109: database not open Databa ...
- Oracle 闪回归档(Flashback Database)
cmd --管理员身份打开 sqlplus / as sysdba --管理数据库 shu immediate; --独占方式开始 startup mount --修改日期模式 alter datab ...
- Oracle的回收站和闪回查询机制(一)
实际工作中,我们经常会遇到一些情况,误删除某些表或某些表的某些记录,这时候就需要我们将这些记录重新插入进去.如何才能解决这个问题呢? Oracle的Flashback query(闪回查询)为我们解决 ...
随机推荐
- shell script 基本语法
几个符号的意义$#:代表后接的参数『个数』,以上表为例这裡显示为『 4 』:$@:代表『 "$1" "$2" "$3" "$4&q ...
- 为何要使用Linux
摈弃 Windows 低效率的工作方式,发掘 Linux 身上的 UNIX 气质 我已经半年没有使用 Windows 的方式工作了.Linux 高效的完成了我所有的工作. GNU/Linux 不是每个 ...
- 解决mysql占用IO过高
1.日志产生的性能影响:由于日志的记录带来的直接性能损耗就是数据库系统中最为昂贵的IO资源.MySQL的日志包括错误日志(ErrorLog),更新日志(UpdateLog),二进制日志(Binlog) ...
- C puzzles详解【1-5题】
第一题 #include<stdio.h> #define TOTAL_ELEMENTS (sizeof(array) / sizeof(array[0])) ,,,,,,}; int m ...
- PHP中数据库的连接
<?php //1.链接MySQL服务器 $conn = mysql_connect("localhost", "root" , 199452); //2 ...
- C#中判断文件夹中存在某个txt文本
strFileName="D:\\strarray.txt"; if (File.Exists(strFileName))//判断文件是否存在 { }
- 如何保护java程序不被反编译
Java是一种 跨平台的.解释型语言 Java 源代码编译中间“字节码”存储于class文件中.Class文件是一种字节码形式的中间代码,该字节码中包括了很多源代码的信息,例如变量名.方法名 等.因此 ...
- PHP数组操作大全
<?php /** * File: phpstudy : array_test.php * Created by PhpStorm. * User: IhMfLy Pheonix@jtv-070 ...
- nodejs服务器anywhere简介
一句话:随时随地将你的当前目录变成一个静态文件服务器的根目录. 安装 npm install anywhere -g 执行 $ anywhere // or with port $ anywhere ...
- 正确使用stl map的erase方法
先声明:下面的文章是针对windows的用法,因为std::map的erase函数的windows的实现版本是返回一个std::map的迭代器,但是STL标准里面的该函数的返回值确是: map.era ...