天天看点

Oracle学习笔记(闪回)第2篇

本篇文章是接上篇文章,所以看我这篇文章之前,请先看我上一篇

我就直接po截图和代码了

如果回收站中有两个同名的表,那么在恢复的时候优先恢复最后删除的表

Oracle学习笔记(闪回)第2篇

有个问题需要注意:

Navicat Premium软件工具会有乱码的问题,我在网上查了好多资料,也改了很多地方,也下载并替换了一些文件,反正折腾了挺久的,但是这个乱码的问题始终没解决,如果知道怎么解决这个乱码问题的小伙伴,麻烦在文章下面给我留言

Oracle学习笔记(闪回)第2篇

但是在PLSQL Developer软件工具中,就不存在乱码的问题

Oracle学习笔记(闪回)第2篇

Navicat Premium软件工具的好处就是它可以连接多种类型的数据库,它可以连接Mysql、Oracle、SqlServer等等,你就不用下载安装各种数据库的客户端了,省事方便了许多,要不然,你还要去下载各种数据库的客户端,然后你电脑上就安装了一大堆的各种数据库客户端软件,要连接Mysql数据库时,你要打开SQLyog软件,要连接Oracle数据库时,你要打开PLSQL Developer软件,要连接sqlserver数据库时,你要打开sqlserver的客户端软件,你自己想想,这样多繁琐,多麻烦啊,还不如安装个Navicat Premium软件,可以支持连接多种数据库,多方便省事

下面我们讲一下使用闪回事务处理

下面截图中有2条update语句,其实update语句后面不写commit;也可以,因为在Navicat Premium软件工具中,会自动提交

而在PLSQL Developer软件工具中,不会自动提交,所以在PLSQL Developer软件工具中需要手动commit;

Oracle学习笔记(闪回)第2篇

使用闪回事务处理

把数据修改后,进行恢复

我们先查询一下emp表

Oracle学习笔记(闪回)第2篇

闪回事务查询需要使用sys登录,并且打开追加日志模式。才能够进行操作。默认是没有打开。通过以下操作进行打开

--

SELECT supplemental_log_data_min FROM v$database;

--

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

--

SELECT supplemental_log_data_min FROM v$database;

Oracle学习笔记(闪回)第2篇

----查询更改记录也可以根据事务号来进行查询

select versions_startscn,versions_endscn,versions_xid,

versions_operation,ename,sal from scott.emp versions

between scn minvalue and maxvalue where empno=7782;

Oracle学习笔记(闪回)第2篇

--改一下XID的值就可以了(根据xid号进行还原)

SELECT undo_sql FROM flashback_transaction_query WHERE XID = '070004002C130000';

Oracle学习笔记(闪回)第2篇

然后把update "SCOTT"."EMP" set "ENAME" = '周伯通' where ROWID = 'AAAR3sAAEAAAACXAAG';这句话拷贝出来执行一下,执行完后,记得commit; 如下图:

Oracle学习笔记(闪回)第2篇