oracle 快速恢复表删除的某行数据
请问下,我删除表的某些数据,如何把它闪回来呀? 20分钟内不过对该表由插入了些数据
根据scn号来查询
select a, b, c, versions_xid, versions_starttime, versions_endtime,
versions_startscn,versions_endscn,versions_operation
from test versions between scn 339493 and 339635
根据时间也可以
from test versions between timestamp
to_date('2008-09-23 16:09:00','yyyy-mm-dd hh24:mi:ss')
and to_date('2008-09-23 16:45:00','yyyy-mm-dd hh24:mi:ss')
select a, b, c, versions_xid, versions_starttime, versions_endtime,
versions_startscn,versions_endscn,versions_operation
from test versions between timestamp minvalue and maxvalue
这个记录闪回全部数据
Insert Into BA.T_WAP_FINANCE_ANALYZ
select *
from BA.T_WAP_FINANCE_ANALYZ versions between timestamp
to_date('2009-12-21 9:00:00','yyyy-mm-dd hh24:mi:ss')
and to_date('2009-12-21 11:00:00','yyyy-mm-dd hh24:mi:ss')
Where f_yearweek ='200947'
它保留表的每行最后次更改前的记录确对吧?
db_recovery_file_dest
db_recovery_file_dest_size
上面的是 如果UNDO 无法闪回数据,而且你无法确定时间,那么恢复区看看可有你的数据在,有的话就根据时间标志插回原始表
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
关于oracle的行级锁
在oracle中,行级锁只对用户正在访问的行进行锁定。
如果该用户正在修改某行,那么其他用户就可以更新同一表中该行之外的数据。
行级锁是一种排他锁,防止其他事务修改此行,但是不会阻止读取此行的操作
。
在使用INSERT、UPDATE、DELETE 和SELECT…FOR UPDATE 等语句时 ......
Sql代码
1.
从游标提取数据
2. 从游标失去一起数据运用FETCH下令。每一次提取数据后,游标都指向结果集的下一起。语法如次:
3. FETCH cursor_name INTO variable[,variable,...]
4. 至于SELECT定义的游标的每一列,FETCH变量列表都应该有一个变量与之相对应,变量的部类也要雷同。
例:
5. SET SERVERIUTPUT ......
我们都知道ORACLE不会发生锁升级,锁对于ORACLE来说并不是稀缺资源,为什么DML lock对于ORACLE来说不是稀缺资源,下面来寻找答案。
SQL> select * from emp where sal>2999;
EMPNO ENAME JOB MGR HIREDATE ......
1. 创建 Sequence
使用如下命令新建sequence(用户需要有CREATE SEQUENCE 或者CREATE ANY SEQUENCE权限):
CREATE SEQUENCE test_sequence
INCREMENT BY 1 -- 每次加的个数据
START WITH 1 -- 从1开始计数
NOMAXVALUE& ......