三种方法找回Oracle数据库误删除的数据
有很多朋友都遇到过在操作数据库时误删除某些重要数据的情况,如果数据库没有备份而且数据有十分重要的情况下怎么做才能找回误删除的数据呢?我在这里为大家介绍几种误删除数据库中重要数据的恢复方法(不考虑全库备份和利用归档日志)
第一种数据恢复方法是利用oracle提供的闪回方法进行数据恢复,适用于delete删除(一条记录)方式:
首先需要知道是什么时间进行的删除操作,如果不能确定具体时间点则选择尽量准确的删除数据前的时间。然后利用
select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss')
语句可以找回删除的数据。利用
insert into 表名 (select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss'));
语句就可以将恢复出来的数据插入原表中(注意要保证主键不重复)。
另一种方法可以通过闪回整个表来恢复误删除的数据,但仅适用于表结构没有发生改变且用户有flash any table权限的情况下,语句如下:
·alter table 表名 enable row movement
·flashback table 表名 to timestamp to_timestamp(删除时间点',' frombyte yyyy-mm-dd hh24:mi:ss')
第二种数据恢复方法的原理是因为oracle数据库在删除表时会将删除信息存放于某虚拟“回收站”中而非直接清空,再此种状态下数据库标记该表的数据库为“可以复写”,所以在该块未被重新使用前依然可以恢复数据。该方法多用于drop删除。
首先需要查询user_table视图找到被删除的表:
· select table_name,dropped from user_tables
· select object_name,original_name,type,droptime from user_recyclebin
注意此时的表名称已经被重新命名,table_name和object_name就是回收站中的存放表名,如果管理员此时可以明确原表的名称可以通过
flashback table 原表名 to before drop
语句进行数据恢复,如果不知道原表名称可以直接按照回收站中的表名称将数据恢复回复来,然后通过
flashback table "回收站中的表名(如:Bin$DSbdfd4rdfdfdfegdfsf==$0)" to before drop rename to 新表名
语句就可以重新命名。
第三种方法同样利用oracle数据库的闪回功能可以将数据库恢复到过去某一状态,语法如下:
SQL>alter database flashback on
SQL>flashback database to scn SCNNO;
SQL>flashback database to timestamp to_timestamp('frombyte 2007-2-12 12:00:00','yyyy-mm-dd hh24:mi:ss');
介绍到这里有朋友发现问题了,oracle数据库提供了可以恢复数据的保障机制,但也不可避免的占用了大量空间,使用drop一个表或者delete数据后空间并不能自动进行回收,如果确定需要删除的数据又不想无谓的占用空间该如何操作呢?我们可以使用以下两种方式:
1、采用truncate方式进行截断。(但不能进行数据回恢复了)
2、在drop时加上purge选项:drop table 表名 purge
该选项也可以通过删除recyclebin区域来永久性删除表 ,原始删除表drop table emp cascade constraints
purge table emp;
删除当前用户的回收站:
purge recyclebin;
删除全体用户在回收站的数据:
purge dba_recyclebin
IBM AIX 5.3 系统管理 -- 文件系统
如何对无响应的启动过程进行恢复
如果您的系统无法启动,AIX 5L 提供了一些工具和方法以便对挂起的启动过程进行恢复。
这个部分将介绍可能导致系统在启动过程中出现挂起的情况。
bootlist 命令
您可以更改系统查找相关设备(以获得其启动代码)的顺序。bootlist 命令显示并改变可用于系统的启动设备列表。该命令的一般语法规则如下所示:
1
2
bootlist [ { -m Mode } [ -r ] [ -o ] [ [ -i ] | [ [ -f File ]
IBM AIX V5.3 系统管理 上
启动过程
启动过程包含下面的一些步骤:
启动一个系统的初始步骤是上电自检(Power On Self Test,POST)。其目的是验证基本硬件是否处于正常的工作状态。同时初始化内存、键盘、通信,以及音频设备。您可以看到在屏幕上显示了所有的这些设备。在这个步骤中,您可以按下功能键,以选择不同的启动列表。这个阶段中所显示的 LED 值是模型特定的。硬件和软件方面的问题都可能使得系统无法启动。
注意:基于 MCI 体系结构的旧系统在这个步骤之前还将执行一个附加的步骤,即所谓的内建自检(Built In Self Test,BIST)。对于基于 PCI 体系结构的系统,不再需要执行这个步骤。
Oracle DUL 是Oracle公司内部的数据库恢复工具
Oracle DUL 是Oracle公司内部的数据库恢复工具,由在荷兰的Oracle Support,Bernard van Duijnen开发:
DUL不是Oracle的一个产品
SQL2008R2 Microsoft SQL Server,错误: 823数据库修复成功
标题: Microsoft SQL Server Management Studio
------------------------------
附加数据库 对于 服务器“SQL2008R2”失败。 (Microsoft.SqlServer.Smo)
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.2500.0+((KJ_PCU_Main).110617-0026+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=附加数据库+Server&LinkId=20476
修改SQL Server 2005/2008 用户数据库文件默认路径和默认备份路径
本环境是SQL Server 2005 Standard Version 64-bit 和 SQL Server 2008 Standard Version 64-bit
双实例同时安装在一个
Windows Server 2008 Standard Version 64-bit OS上:
Windows Server 2008 Standard Version 64-bit
各类数据库修复
支持市面上主流数据库修复以及新数据库的结构研究,目前支持以下数据库类型的修复:
1 ACCESS 2016 2013 2010, 2007, 2003, 2002, 2000, 97, 95 and 2.0
2 MSSQL 6.5 7.0 2000 2005 2008 2008r2 2012 2014 2016 2017
3 ORACLE 7.3 7.3.3 8i, 9i, 10g, 11g 12C
RW Err = C3160080数据恢复
Rst 0x08M
RW cmd 0002 req = 3D 49 00 00 08 00 00 00 00 00 00 00 49 1D 05 00 48 21 05 00 49 1D 05 00
opts = 00001121
RW Err = C3160080
各类数据库专业修复 13386848847
用友软件 数据库恢复
√ 用友NC系统:大型企业管理和电子商务平台,大部分用户数据是基于oracle数据库平台、少数用户使用DB2,SQL数据库平台;
√ 用友U8:成长型企业管理和电子商务平台,是目前市场上用友用户使用数量最多的平台,早期的使用SQL2000数据库,目前较多使用SQL2005和SQL2008数据库;
√ 用友其他系统大部分基于SQL和Oracle数据库平台,所以用友软件数据库的恢复最终就是对SQL和Oracle数据库的恢复。
SQL Server 检测到基于一致性的逻辑 I/O 错误 页撕裂数据恢复方法
标题: Microsoft SQL Server Management Studio
------------------------------
附加数据库 对于 服务器“server”失败。 (Microsoft.SqlServer.Smo)
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.2500.0+((KJ_PCU_Main).110617-0026+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=附加数据库+Server&LinkId=20476