Oracle数据库误操作回滚到指定的时间点方法
Oracle数据库中如果执行了误操作,比如update 某表某字段,但是没有加where 条件,会导致全表字段被修改,又或者误删除了某表所有记录,我们可以通过Oracle的的热备还原到指定的某一个时间点
--查询某一时间戳之前的数据 select * from B_DISPATCH as of timestamp to_timestamp('2019-11-25 17:00:00','yyyy-mm-dd hh24:mi:ss');
--将某一时间戳之前的数据镜像恢复到临时表 create table B_DISPATCH_BAK AS select * from B_DISPATCH as of timestamp to_timestamp('2019-11-25 17:00:00','yyyy-mm-dd hh24:mi:ss');
操作步骤如上,在删了或修改了里面的数据时,可以先建立一个快照临时表将删除修改之前状态的数据找回到这个表中:比如上面的B_DISPATCH_BAK :然后再进行下一步处理,比如表改名,同步更新等。
语法如下:
create table tableName(要建立的表名) AS
select * from tablename(被删除的表) AS OF TIMESTAMP sysdate-1/24 (一小时前的),减去的时间可以自己定,比如像上面的写法:to_timestamp('2019-11-25 17:00:00','yyyy-mm-dd hh24:mi:ss');
另外:如果是删除表后,可以采用如下操作:
在 user_recyclebin中找到最近操作过的表名称,然后用闪回(只能用于10G及以上版本)。
FLASH BACK TABLE TABLE_NAME TO BEFORE DROP;
本文来自博客园,作者:IT情深,转载请注明原文链接:https://www.cnblogs.com/wh445306/p/16751870.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?