网站首页 > 技术文章 正文
新手程序员入职的时候,一般师傅都会千叮咛万嘱咐,在数据库中直接进行执行更新操作时,一定不要忘了加Where条件,切记!切记! 然而物极必反,我想每个程序员基本都或多或少自己冷汗直流的手残操作,记得我刚入职那会儿,也曾把一个测试库里的一个配置表给删了,午饭没吃,半个小时才把数据搞回来。下面分享当时做保存的笔记(内容摘自网络博客),希望小伙伴时长警醒啊。
sqlplus
对于删除的数据,Oracle可以通过两种途径来恢复
一、通过scn恢复删除且已提交的数据
1、获得当前数据库的scn号
select current_scn from v$database; (切换到sys用户或system用户查询)
查询到的scn号为:1499223
2、查询当前scn号之前的scn
select * from 表名 as of scn 1499220; (确定删除的数据是否存在,如果存在,则恢复数据;如果不是,则继续缩小scn号)
3、恢复删除且已提交的数据
flashback table 表名 to scn 1499220;
二、通过时间恢复删除且已提交的数据
1、查询当前系统时间
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
2、查询删除数据的时间点的数据
select * from 表名 as of timestamp to_timestamp('2013-05-29 15:29:00','yyyy-mm-dd hh24:mi:ss'); (如果不是,则继续缩小范围)
3、恢复删除且已提交的数据
flashback table 表名 to timestamp to_timestamp('2013-05-29 15:29:00','yyyy-mm-dd hh24:mi:ss');
注意:如果在执行上面的语句,出现错误。可以尝试执行 alter table 表名 enable row movement; //允许更改时间戳
总体来说,养成良好的操作习惯才是王道,记得做好自动定时、多地备份!
最后祝程序员小伙伴节日快乐(*^▽^*)!
猜你喜欢
- 2024-10-30 ORACLE索引哪些事 oracle索引有哪几种
- 2024-10-30 「ORACLE系列」 TO_CHAR()格式化数值数据
- 2024-10-30 Oracle闪回误删除的一条数据 oracle闪回误删除的一条数据怎么恢复
- 2024-10-30 Oracle 数据去重操作记录 oracle的去重
你 发表评论:
欢迎- 638℃几个Oracle空值处理函数 oracle处理null值的函数
- 630℃Oracle分析函数之Lag和Lead()使用
- 619℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 615℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 613℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 604℃【数据统计分析】详解Oracle分组函数之CUBE
- 592℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 577℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)