oracle怎么回滚表 oracle回滚到某一时间

oracle创建索引后能回滚吗不能,在回滚表空间创建其他数据库对象(如表、索引) 。每个数据库可有零个或者多个回滚表空间 。但是,只能有一个活动的回滚表空间
oracle数据库中数据回滚的概念朋友:
oracle中有两样东西是用来记录历史的
一、重做日志 REDO(作用就是当你8点做了很多事情 , 到10点由于数据库8点到10点操作的某个文件坏了,那么8点到10点的的东西全都不见了,但是REDO还在 。你就可以用REDO来做重做你8点到10点所做的事,REDO就是记录了这样的事?。?
二、回滚段 UNDO (作用就是当你后悔做了某些事之后就可以回到以前,但是在人间可是没有后悔要卖的哦 。如你无意删除一个表,你就可以用rollback命令来回滚,它利用的就是oracle 的撤消表空间记录的内容 。当然这个表空间满了的时候也就不能回滚到它没记录的内容了 。)
oracle 删除数据提交怎么回滚execute执行后
可以回滚
commit提交后
不可以回滚
其实oracle提交数据是分两步操作的,第一步execute执行,第二步commit提交 。对应的pl\sql也是要先点execute执行,执行后再点commit提交 。
但是
【oracle怎么回滚表 oracle回滚到某一时间】commit提交后
可以用闪回查询恢复原来的数据
因为oracle会将近期的数据保存到快照中
如:
select
*
from
table_1
as
of
timestamp
to_timestamp('20080606
20:00:00','yyyymmdd
hh24:mi:ss');
这里'20080606
20:00:00'就是你想恢复数据到哪个时间状态
table_1是数据库的表名
这样查询到的数据就是执行更新操作之前的数据
oracle数据库库删除怎么回滚删除表后,可以采用如下操作:
在 user_recyclebin中找到最近操作过的表名称,然后用闪回(只能用于10G及以上版本) 。
FLASH BACK TABLE TABLE_NAME TO BEFORE DROP;
如果是删了或修改里面的数据,可以先建立一个快表将删除修改之前状态的数据找回到这个表中:
CREATE TABLE QUICK_TABLE AS
SELECT * FROM TABLE_NAME AS OF TIMESTAMP SYSTEM-1/24 (一小时前的),减去的时间可以自己定 。如楼上F_253那位老兄的写法就不错,能自由定制时间
oracle 提交之后怎么回滚execute执行后
可以回滚
commit提交后
不可以回滚
其实Oracle提交数据是分两步操作的oracle怎么回滚表,第一步execute执行oracle怎么回滚表,第二步commit提交 。对应的PL\SQL也是要先点execute执行oracle怎么回滚表,执行后再点commit提交 。
但是
commit提交后
可以用闪回查询恢复原来的数据
因为oracle会将近期的数据保存到快照中
如:
SELECT
*
FROM
TABLE_1
AS
OF
TIMESTAMP
TO_TIMESTAMP('20080606
20:00:00','YYYYMMDD
HH24:MI:SS');
这里'20080606
20:00:00'就是oracle怎么回滚表你想恢复数据到哪个时间状态
TABLE_1是数据库的表名
这样查询到的数据就是执行更新操作之前的数据
关于oracle怎么回滚表和oracle回滚到某一时间的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读