oracle11g的闪回技术-闪回表-时间戳

--数据库闪回表

--1创建表(登录模式system)

CREATE table dept2 as select * from dept;--此语句如果加上where条件可用于工作中数据的临时备份

select * from dept2;--查询新建表信息

--进入sql>set time on 通过时间点闪回 记录弹出的时间点:类似linux命令行,可以设置带时间的如图所示,方便记录dml语句的操作时间戳,方便利用闪回时间戳

--2删除数据

DELETE FROM dept2 where deptno=12;

commit;

rollback;--通过回滚恢复不了数据了

--3利用闪回表恢复-需要启动行移动功能,否则无法闪回

alter table dept2 enable row movement;

flashback table dept2 to timestamp TO_TIMESTAMP('2024-01-17 10:03:41','yyyy-mm-dd hh24:mi:ss');--可以看到执行后,之前删除的记录又回来了。

--查看当前系统时间格式,

select sysdate from dual;

--通过下面可以修改会话的时间格式

alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

注意:

本案例操作过程中需要注意的就是做删除操作的时候,在sql>下执行,不要在客户端执行,开始时间点选择了在建表之前,报错提示如下:时间戳是从这里获取的参数

SQL\]flashback table dept2 to timestamp TO_TIMESTAMP('2023-01-17 10:03:41','yyyy-mm-dd hh24:mi:ss') \[Err\] ORA-08180: no snapshot found based on specified time ![](https://file.jishuzhan.net/article/1747983489388515329/08ba3dbbc1a70eab592a90343bd204cd.webp) 后来修改了正确的时间戳就没有问题了

相关推荐
百***49001 天前
SQL Server查看数据库中每张表的数据量和总数据量
数据库·sql·oracle
代码or搬砖1 天前
MyBatisPlus中的常用注解
数据库·oracle·mybatis
盼哥PyAI实验室1 天前
MySQL 数据库入门第一课:安装、账户、库、表与数据操作详解
数据库·mysql
h***59331 天前
MySQL如何执行.sql 文件:详细教学指南
数据库·mysql
郑重其事,鹏程万里1 天前
键值存储数据库(chronicle-map)
数据库·oracle
Doro再努力1 天前
【MySQL数据库09】外键约束与多表查询基础
数据库·mysql
gkhost1 天前
Linux基础——Oracle部署
oracle·表空间··instances
ss2731 天前
019:深入解析可重入互斥锁:原理、实现与线程安全实践
java·数据库·redis
O***Z6161 天前
三分钟内快速完成MySQL到达梦数据库的迁移
数据库·mysql
友友马1 天前
『QT』窗口 (一)
开发语言·数据库·qt