oracle修复Oracle 恢复删除数据的方法
浏览量: 次 发布日期:2023-08-11 21:28:21
误删oracle数据库中的数据,在不考虑全库备份和利用归档日志情况,怎样快速恢复数据呢?
下面介绍3种方法。
1. 利用oracle提供的闪回方法进行数据恢复,适用于delete删除方式
首先获取删除数据的时间点:
select * from v$sql where sql_text like %table_name% ;
根据结果中的sql_text内容,找到delete执行语句对应的删除时间点,执行下面语句查询出删除的数据。
select * from table_name as of timestamp to_timestamp(‘删除时间点’,‘yyyy-mm-dd hh24:mi:ss’) where (删除时的条件)
检查数据无误后,执行下面操作,将数据插回原表中。注意主键不重复
insert into table_name select * from from table_name as of timestamp to_timestamp(‘删除时间点’,‘yyyy-mm-dd hh24:mi:ss’) where (删除时的条件)
2. 利用oracle虚拟回收站功能 原理是因为oracle数据库在删除表时会将删除信息存放于某虚拟回收站中而非直接清空,在此种状态下数据库标记该表的数据库为可以复写,所以在该块未被重新使用前依然可以恢复数据。该方法多用于drop删除。
首先查询123user_table==视图,找到被删除的表:
select table_name,dropped from user_tables; select object_name,original_name,type,droptime from user_recyclebin;
注意此时的,object_name和original_name就是回收站存放的表名和原来删除的表名,如果表名没有被重新命名,可以通过下面语句进行恢复:
flashback table object_name to before drop new_table_name;
3. 用oracle数据库的闪回功能可以将数据库恢复到过去某一状态
注意,此时是整库恢复,具体语法如下:
SQL>alter database flashback on SQL>flashback database to scn SCNNO; SQL>flashback database to timestamp to_timestamp(‘frombyte 2021-09-02 23:59:59’,‘yyyy-mm-dd hh24:mi:ss’);
4. 彻底删除数据
如果确定需要删除的数据又不想无谓的占用空间,我们可以使用以下3种方式: 采用truncate方式进行截断。(不能进行数据回恢复) 在drop时加上purge选项:drop table table_name purge 通过删除recyclebin区域来永久性删除表 ,drop table table_name cascade constraints purge table table_name;
5. 关于清空回收站 删除当前用户回收站 purge recyclebin; 兆柏数据恢复公司 删除全体用户在回收站的数据 purge dba_recyclebin; oracle修复
兆柏数据恢复公司
oracle修复 微信查券返利机器人
重要数据丢失请联系兆柏数据恢复公司
. oracle11g修复,Oracle 11g TNS-12545错误排查与修复指南
. 控制器坏了如何修复视频,控制器故障排查与视频修复技巧解析
. 磁盘阵列坏了怎么修复啊,RAID磁盘阵列故障诊断与修复全攻略
. 戴尔笔记本硬盘损坏怎么办,戴尔笔记本硬盘故障排查与修复指南
. 数据恢复中心有哪些,揭秘硬盘故障与数据丢失的解决方案n2. 硬盘数据恢复攻略:数据恢
. 戴尔笔记本硬盘损坏修复,戴尔笔记本硬盘故障排查与修复指南
. oracle数据库数据恢复,Oracle数据库数据恢复策略与实战指南
. 硬盘数据恢复后文件损坏怎么办,硬盘数据恢复后文件损坏的应对策略与修复方法
. oracle数据库官网,深入探索Oracle数据库官网——您的数据库学习与资源宝库
. oracle数据库导入dmp,Oracle数据库导入dmp文件详解