Oracle数据库误操作回滚到指定的时间点方法
2023-09-11 14:15:13 时间
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;
相关文章
- PL/SQL Developer连接本地Oracle 11g 64位数据库
- Oracle如何实现创建数据库、备份数据库及数据导出导入操作
- 【C/C++学院】(24)Oracle数据库编程--管理oracle
- oracle数据库高级应用之《自动生成指定表的insert,update,delete语句》
- phalcon: 解决php7/phalcon3.2以上版本,不支持oracle数据库的方法
- ORACLE 9i 数据库体系结构图
- 用习惯了Oracle,用起来MySql却非常的不方便!!
- Centos7.6安装Oracle数据库
- Oracle中like效率正则表达式浅析
- Windows DOS窗体下Oracle 数据库的导入导出命令
- oracle数据库同步技术
- oracle 11g 数据库密码大小写敏感性更改
- Oracle与Sql Server复制表结构及数据
- ORACLE 官方文档
- Oracle 数据库中日期时间的插入操作
- Atitit 为什么oracle这类大型数据库比mysql的性能机制目录1. 分区机制差别 11.1. Join算
- 数据库MySQL、Oracle、SQLServer、db2分页查询语句
- C#中使用Oracle存储过程返回结果集
- Oracle 12c 读书笔记——筑梦之路
- ORACLE profile列4 --CREATE PROFILE
- ORACLE SEQUENCE 介绍
- Oracle安装完成后,如何用命令行启动和关闭数据库?
- Linux下的Oracle的数据库备份与恢复(emp和imp命令)
- 关于Oracle数据库审计、诊断文件及跟踪文件操作
- Oracle的学习心得和知识总结(十九)|Oracle数据库Real Application Testing之SQL Performance Analyzer实操(二)