oracle数据文件恢复步骤

1、基于linux操作系统文件恢复

条件:1、误强制删除linux下的数据文件(rm -rf)。2、未重启数据库或操作系统。3、数据库是归档模式

恢复原理:句柄恢复文件–因为我们的操作系统是linux,当数据文件从操作系统级别被rm掉,但之前打开该文件的进程仍然持有相应的文件句柄,所以指向的文件仍然可以读写,并且该文件的文件描述符可以从/proc目录中获得。

若重启了数据库或者操作系统,那么句柄就会消失,可以通过扫描磁盘进行文件恢复

恢复步骤:

1、检查dbwr的进程PID: [oracle@dg2 oracle]ps−ef|grepdbw0|grep−vgrep—目录名是进程PID,fd表示文件描述符。2、通过进程id9946找到对应的目录:[oracle@dg2oracle]cd /proc/9964/fd

3、找到被删除的文件:[oracle@dg2 oracle]$ ls -l(会有一个delete的标志)

4、直接cp 删除的句柄文件名回原位置:[oracle@dg2 oracle]$ cp 句柄文件名 /u01/app/oradata/dropdatafile.dbf

2、利用闪回,基于时间戳或者SCN恢复数据文件(drop 或者 delete )

条件:1、在删除数据后还没做大量的操作,数据没有被覆盖。2、9i之后的版本。3、不考虑全库备份和利用归档日志

4、闪回已经打开:alter database flashback on

恢复原理:利用闪回功能恢复数据

恢复步骤:(时间戳)

1、确定删除数据的时间(在删除数据之前的时间就行,不过最好是删除数据的时间点)。 2、用语句找出删除的数据 (select * from 表名 as of timestamp sysdate-30/1440; 30分钟内的语句)。

select * from 表名 as of timestamp to_timestamp(‘2013-05-29 15:29:00′,’yyyy-mm-dd hh24:mi:ss’); (如果不是,则继续缩小范围) 3、把删除的数据重新插入原表。(insert into 表名 (select * from 表名 as of timestamp sysdate-30/1440 );)

4、SQL>flashback database to timestamp to_timestamp(‘2007-2-12 12:00:00′,’yyyy-mm-dd hh24:mi:ss’);

恢复步骤:(scn)

1、获得当前数据库的scn号,查询到的scn号: (select current_scn from v$database;)

2、查询当前scn号之前的scn: select * from 表名 as of scn 1499220;

3、恢复删除且已提交的数据:flashback table 用户.表名 to scn 1499220; (若是sys用户,表需带上用户名)

如果flash出现错误。可以尝试执行 alter table 表名 enable row movement,使用后改成disable

4、如果是表被drop掉:

可以先查询删除数据:select * from recyclebin order by droptime desc

直接闪回表:flashback table ‘需要恢复的表名’ to before drop

建议:建议使用AS OF SCN的方式执行Flashback Query。如需要对多个相互有主外键约束的表进行恢复时,如果使用AS OF TIMESTAMP的方式,可能会由于时间点不统一的缘故造成数据选择或插入失败,通过AS OF SCN方式则能够确保记录处理的时间点一致。

总结: flash机制保证了数据安全操作,但同时会有另外一个问题,就是空间占用,由于以上机制的运行,使用drop一个表或者delete数据后,空间不会自动回收,对于一些确定不使用的表,删除时要同时回收空间,可以有以下2种方式:

1、采用truncate方式进行截断。(但不能进行数据回恢复了)

2、在drop时加上purge选项:drop table 表名 purge

3、也可以通过删除recyclebin区域来永久性删除表 ,

原始删除表:drop table emp cascade constraints purge table emp;

删除当前用户的回收站:purge recyclebin; 删除全体用户在回收站的数据::purge dba_recyclebin

注:1、执行闪回时:报如下错误 ORA-00604: 递归 SQL 级别 1 出现错误 ORA-25153: 临时表空间为空 重建零时表空间即可(一般问题是没有临时表空间) 临时表空间的作用见:

alter tablespace temp add tempfile ‘D:\app\Administrator\oradata\WAREHOUSE\CONTROLFILE\temp01.dbf’ size 20M autoextend off;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
赤兔Oracle数据库恢复软件是一款专业好用的Oracle数据库抢修恢复软件。软件功能强大,持修复因各种原因造成的数据库无法打开或数据库删除后没有备份的问题,从而实现对Oracle数据库的抢修恢复,最大限度减少数据丢失。是用户实现Oracle数据库抢修恢复的好帮手。需要的朋友快来下载吧! 赤兔Oracle数据库恢复软件软件功能 1.不需要运行Oracle数据库软件,EOR直接读取数据库文件解析数据。支持ASM,能够直接从ASM磁盘中导出数据,即使相关的磁盘组不能成功mount 2.支持从ASM中直接抽取出数据文件和其他任意存储在ASM中的文件(包括控制文件2.日志文件和归档日志等),即使相关的磁盘组不能成功mount 3.在ASM磁盘损坏严重的情况下,EOR可以扫描ASM磁盘,提取出没有被覆盖的数据文件,然后再提取和恢复数据。 4.支持的Oracle数据库版本包括7,8i,9i,10g,11g,12c支持跨平台运行,aix,hpux,linux,windows等 5.支持的数据类型包括:NUMBER, CHAR, VARCHAR2, NCHAR,NVARHCAR2, LONG, DATE, RAW, LONG RAW, BLOB, CLOB, TIMESTAMP (9i ) , BINARY FLOAT, BINARY DOUBLE (10g ) 6.全面支持LOB字段:支持CLOB、NCLOB和BLOBCLOB,支持Big Endian和Little Endian字节序 7.支持LOB分区,子分区 8.支持同一个表中,不同LOB列使用不同CHUNK SIZE的情况 9.CLOB数据可以导出到与其他列相同的文件中,或存储到单独的文件 10.LOB列在没有SYSTEM表空间的情况下仍然能够导出 11.LOB列在相关的lob index损坏的情况下依然能够导出 12.能够恢复Oracle 11g及以上版本的SecureFile LOB(目前不支持压缩、去重和加密的SecureFile LOB)支持各种表,包括普通的HEAP表,IOT表和聚簇(CLUSTER)表 13.支持IOT表: 14.支持普通IOT表的导出 15.支持压缩IOT表的导出 16.支持IOT表溢出段 17.支持IOT表分区(包括子分区)只能在有SYSTEM表空间时才能导出IOT表 18.支持压缩表 19.支持表被truncate后的数据恢复 20.支持表被drop后的数据恢复 21.在有SYSTEM表空间的情况下,自动获取数据字典信息 22.支持在没有SYSTEM表空间和数据字典损坏的情况下恢复数据,在没有数据字典可用时,EOR能够自动判断数据的类型 23.支持10g及以上的大文件(BigFile)表空间 24.全面支持64位系统,支持超过4G大小的数据文件。 25.支持复制操作系统命令不能复制的坏文件 26.支持同一个库中不同块大小的数据文件。 27.支持多种字符集之间的转换,能够正确的转换CLOB、NCLOB、NVARCHAR2列类型的数据到指定的字符集。 28.自动检测数据文件的表空间号和文件号 29.导出的数据格式包括纯文本和DMP文件两种。以纯文本导出时,能够自动生成建表的SQL语句和SQL*Loader导入所需的control文件 30.支持DESC表,以显示表的列定义支持列出表的分区和子分区 31.支持对误删除数据的恢复,即使被删除数据的表中有LOB列,即使被删除数据的表中对应row directory中所有记录的offset都已经完全被Oracle清除 赤兔Oracle数据库恢复软件软件安装   把下载好的安装包解压到当前文件夹,之后双击【EliteOracle .exe】运行文件进行安装,打开的时候会出现安装框,依次开始安装,依照步骤点击下一步,并选择同意协议和软件安装位置即可。     点击【完成】按钮,赤兔Oracle数据库恢复软件安装过程就完成了。 赤兔Oracle数据库恢复软件的使用   安装完成后,点击【赤兔Oracle数据库恢复软件】快捷方式即可进入赤兔Oracle数据库恢复软件。如图所示,这是软件的操作界面,用户可以在这里实现自己所需要的各种功能。 赤兔Oracle数据库恢复软件软件卸载: 对于比较难卸载的,在这里我向大家推荐新毒霸-软件管理工具,可以闪电卸载你所不需要的软件。或者依次打开我的电脑->卸载或更改程序->卸载你所卸载的软件,您可以用 Window XP控制面板中的添加或删除程序功能,或用 Windows Vista、Windows 7中的程序和功能卸载时,您可以选择"删除在本机保存的个人配置数据"。然后点击开始卸载。推荐您不勾选此项,以保留设置,供以后再安装时使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伟大先锋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值