补习吧 一家专门做家教的网站,石家庄网红打卡地,沈阳网页设计收费标准,兰州网站建设最新招聘信息--数据库闪回表 --1创建表#xff08;登录模式system#xff09; CREATE table dept2 as select * from dept;--此语句如果加上where条件可用于工作中数据的临时备份 select * from dept2;--查询新建表信息 --进入sqlset time on 通过时间点闪回 记录弹出的时间点#…--数据库闪回表 --1创建表登录模式system CREATE table dept2 as select * from dept;--此语句如果加上where条件可用于工作中数据的临时备份 select * from dept2;--查询新建表信息 --进入sqlset time on 通过时间点闪回 记录弹出的时间点类似linux命令行可以设置带时间的如图所示方便记录dml语句的操作时间戳方便利用闪回时间戳 --2删除数据 DELETE FROM dept2 where deptno12; 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_formatyyyy-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 后来修改了正确的时间戳就没有问题了