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

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.
http://www.xdnf.cn/news/13590.html

相关文章:

  • 目标检测我来惹2-SPPNet
  • map()函数
  • Postgresql日常使用
  • 展开说说Android之Glide详解_使用篇
  • 38道Linux命令高频题整理(附答案背诵版)
  • 时序数据库Apache IoTDB核心技术深度解析
  • 每日一博 - JWT 安全实战指南
  • C++11 nullptr:从入门到精通
  • Kafka入门:解锁核心组件,开启消息队列之旅
  • UE5 C++ Rider 编程指南 2: 如何使用Live Template编程实时模板?
  • Lavazza拉瓦萨再度牵手兰博基尼汽车 百年咖啡注入超跑速度
  • 技术赋能——AI社媒矩阵营销工具如何重构社媒矩阵底层架构
  • PDF文件合并、删除特定页面的工具分享
  • Gemini 2.5 Pro 和Claude 3.7 理综物理真题,考研数学真题实战对比,国内直接使用
  • Springboot实现Java程序和线程池的优雅关闭
  • 暴雨服务器成功交付长沙市第四医院
  • 大麦逆向so
  • 第 87 场周赛:比较含退格的字符串、数组中的最长山脉、一手顺子、访问所有节点的最短路径
  • Fiori笔记
  • 华为云Flexus+DeepSeek征文 | 弹性算力实战:Flexus X实例自动扩缩容策略优化
  • Vue开发学习笔记:动态渲染自定义封装的uview-plus的Toast组件
  • LeetCode--29.两数相除
  • 位移传感器远程监控软件说明
  • 【从零学习JVM|第八篇】深入探寻堆内存
  • BERT vs BART vs T5:预训练语言模型核心技术详解
  • MySQL锁机制的优化和MVCC底层原理解释
  • 【 java 虚拟机知识 第二篇 】
  • Vue 生命周期详解(重点:mounted)
  • Tomcat线程模型
  • bash挖矿木马事件全景复盘与企业级防御实战20250612