当前位置: 首页 > news >正文

oracle表数据误删除恢复(闪回操作)

数据库开启归档及闪回功能

SQL> startup mount ;
ORACLE instance started.Total System Global Area 4294964952 bytes
Fixed Size		    9144024 bytes
Variable Size		 1023410176 bytes
Database Buffers	 3254779904 bytes
Redo Buffers		    7630848 bytes
Database mounted.
SQL> alter database archivelog ;Database altered.SQL> alter database flashback on ;Database altered.SQL> alter database open ;Database altered.
SQL> select log_mode,FLASHBACK_ON from v$database;LOG_MODE     FLASHBACK_ON
------------ ------------------
ARCHIVELOG   YES

创建测试表并插入数据

SQL> create table employee ( empno int, ename varchar(10),  salary int );Table created.SQL> insert into employee values (1, 'a', 20000 );1 row created.SQL> insert into employee values (2, 'b', 80000 );1 row created.SQL> insert into employee values (3, 'c', 60000);1 row created.SQL> 
SQL> 
SQL> 
SQL> commit ;Commit complete.

删除数据

SQL> delete from employee where empno=1;1 row deleted.SQL> commit ;Commit complete.

查询scn的变化及当前的scn

col NAME for a60
SELECTNAME,FIRST_CHANGE# FSCN,NEXT_CHANGE#  NSCN,FIRST_TIME
FROMV$ARCHIVED_LOG;NAME								                          FSCN       NSCN FIRST_TIM
------------------------------------------------------------ ---------- ---------- ---------/u01/app/oracle/fast_recovery_area/PRODCDB/archivelog/2025_0	3430758    3557724 27-MAY-25
5_29/o1_mf_1_32_n3htww1t_.arc/u01/app/oracle/fast_recovery_area/PRODCDB/archivelog/2025_0	3557724    3622455 29-MAY-25
5_29/o1_mf_1_33_n3hv2lfk_.arc/u01/app/oracle/fast_recovery_area/PRODCDB/archivelog/2025_0	3622455    3674700 29-MAY-25
5_29/o1_mf_1_34_n3hvkto1_.arcNAME								   FSCN       NSCN FIRST_TIM
------------------------------------------------------------ ---------- ---------- ---------
/u01/app/oracle/fast_recovery_area/PRODCDB/archivelog/2025_0	3674700    3731424 29-MAY-25
5_29/o1_mf_1_35_n3hw3d4m_.arc/u01/app/oracle/fast_recovery_area/PRODCDB/archivelog/2025_0	3731424    3798784 29-MAY-25
5_29/o1_mf_1_36_n3j2z8w5_.arc/u01/app/oracle/fast_recovery_area/PRODCDB/archivelog/2025_0	3798784    3932544 29-MAY-25
6_12/o1_mf_1_37_n4nx74qw_.arc
/u01/app/oracle/fast_recovery_area/PRODCDB/archivelog/2025_0	3932544    3957895 12-JUN-25
6_12/o1_mf_1_38_n4o0gd1s_.arcSQL> SELECT DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER FSCN FROM DUAL;FSCN
----------3958892

使用删除用户统计现有表的数据行数

SQL> select count(*) from employee;COUNT(*)
----------2

创建恢复的新表

SQL> CREATE TABLE employee_1 AS SELECT * from employee where 1=0;Table created.

根据误操作时间及scn号查到最合适的scn 恢复

SELECT COUNT(*) FROM  employee AS OF SCN 3955600;COUNT(*)
----------3SELECT COUNT(*) FROM  employee AS OF SCN 3955900;COUNT(*)
----------2

恢复到employee_1 , 筛选出误操作数据恢复到生产表中

SQL> INSERT INTO employee_1 SELECT * FROM employee AS OF SCN 3955600;3 rows created.SQL> commit ;Commit complete.

相关文章:

  • react中hook和高阶组件的选型
  • flutter把 pubspec.yaml 中的name改成了新的值
  • Elasticsearch的数据同步
  • 使用 React+Vite+Electron 搭建桌面应用
  • Mac中安装Anaconda、Anaconda基础命令、Pycharm结合Anaconda,看这一篇就够啦!
  • oracle 表空间超过最大限度,清理数据释放内存
  • Pycharm常用命令
  • js实现输入高亮@和#后面的内容
  • 第六章网络互联设备
  • 「Java EE开发指南」如何用MyEclipse创建一个WEB项目?(一)
  • 在服务器上使用 Docker 部署 Node.js 后端服务和前端项目
  • VScode使用npm启动项目以及npm install ,npm start报错问题处理
  • java使用aspose读取word里的图片
  • Word 文件转md文件 在 Word 中没有直接将文档另存为 Markdown(.md)格式的选项,但你可以使用一些工具或手动转换来实现
  • npm ERR! @biomejs/biome@1.9.4 postinstall: `node scripts/postinstall.js`
  • 解决npm install 一直卡着不动,npm install --verbose
  • Spring Cloud Gateway 动态路由实现方案
  • 怎样解决在ubuntu 22.04上QT: DataVisualization控件显示黑屏的问题
  • Doris集群安装部署
  • Rust 学习笔记:关于通过异步实现并发的练习题
  • 中国被墙的网站/搜易网服务介绍
  • wordpress建站比较/2024年1月新冠高峰
  • 做网站常见程序/快速关键词排名首页
  • 仿唯品会wordpress商城主题/windows优化大师有必要安装吗
  • 网站开发需要多少钱推荐/我要恢复百度
  • 备案网站用户名是什么/营销公司