整个过程不要关闭数据库

1.手动删除没有备份的数据文件。

rm -f /oracle/app/oradata/orcl/users01.dbf

2.尝试在删除文件上创建表,让数据库读取数据,模拟报错

SQL> create table tt (id number) tablespace users;

create table tt (id number) tablespace users

*

ERROR at line 1:

ORA-01116: error in opening database file 4

ORA-01110: data file 4: '/oracle/app/oradata/orcl/users01.dbf'

ORA-27041: unable to open file

Linux-x86_64 Error: 2: No such file or directory

Additional information: 3

3.获取丢失文件列表

SQL>select file_id,file_name from dba_data_files where file_id in(select file# from v$datafile_header where name is null);

4.查看dbw后台进程id

[oracle@11g ~]$ ps -ef|grep dbw

oracle    1874     1  0 09:14 ?        00:00:00 ora_dbw0_orcl

oracle    1993  1962  0 09:35 pts/0    00:00:00 grep dbw

5.使用lsof命令查看dbw进程所持有的文件句柄

lsof -p 1874

COMMAND  PID   USER   FD   TYPE DEVICE  SIZE/OFF    NODE NAME

...

oracle  1874 oracle  256u   REG    8,3   9748480  789827 /oracle/app/oradata/orcl/control01.ctl

oracle  1874 oracle  257u   REG    8,3   9748480  789830 /oracle/app/oradata/orcl/control02.ctl

oracle  1874 oracle  258uW  REG    8,3 734011392  789836 /oracle/app/oradata/orcl/system01.dbf

oracle  1874 oracle  259uW  REG    8,3 629153792  789839 /oracle/app/oradata/orcl/sysaux01.dbf

oracle  1874 oracle  260uW  REG    8,3 209723392  789840 /oracle/app/oradata/orcl/undotbs01.dbf

oracle  1874 oracle  261uW  REG    8,3   5251072  789846 /oracle/app/oradata/orcl/users01.dbf (deleted)

oracle  1874 oracle  262uW  REG    8,3  20979712  789841 /oracle/app/oradata/orcl/temp01.dbf

...

注:误删文件标记为deleted.

误删文件(文件句柄信息为:/proc//fd/)

6.查看文件句柄信息

[oracle@11g ~]$ ll /proc/1874/fd/261

lrwx------ 1 oracle oinstall 64 Feb  3 09:19 /proc/1874/fd/261 -> /oracle/app/oradata/orcl/users01.dbf (deleted)

7.通过文件句柄信息,将丢失文件拷贝出来

[oracle@11g ~]$ cp /proc/1874/fd/261 /oracle/app/oradata/orcl/users02.dbf

8.离线失效文件(因为数据库为非归档模式,需要使用offline的drop选项)

SQL> alter database datafile 4 offline drop;

Database altered.

9.查看离线数据文件状态为recover。

select name,status from v$datafile;

NAME                                                         STATUS

------------------------------------------------------------ ------------------------------

/oracle/app/oradata/orcl/system01.dbf                        SYSTEM

/oracle/app/oradata/orcl/sysaux01.dbf                        ONLINE

/oracle/app/oradata/orcl/undotbs01.dbf                       ONLINE

/oracle/app/oradata/orcl/users01.dbf                         RECOVER

10.重命名丢失数据文件。

SQL> alter database  rename file '/oracle/app/oradata/orcl/users01.dbf' to '/oracle/app/oradata/orcl/users02.dbf';

Database altered.

11.恢复数据文件。

SQL> recover datafile 4;

Media recovery complete.

12.上线数据文件

SQL> alter database datafile 4 online;

Database altered.

13.验证数据文件状态。

SQL> select name,status from v$datafile;

NAME                                                         STATUS

------------------------------------------------------------ ------------------------------

/oracle/app/oradata/orcl/system01.dbf                        SYSTEM

/oracle/app/oradata/orcl/sysaux01.dbf                        ONLINE

/oracle/app/oradata/orcl/undotbs01.dbf                       ONLINE

/oracle/app/oradata/orcl/users02.dbf                         ONLINE

14.验证数据文件是否可用。

SQL> create table tt (id number) tablespace users;

Table created.

oracle删除redo 未重启,恢复误删数据文件(数据库未重启,无备份)相关推荐

  1. PostgreSQL恢复误删数据

    在Oracle中:删除表或者误删表记录:有个闪回特性,不需要停机操作,可以完美找回记录.当然也有一些其他的恢复工具:例如odu工具,gdul工具.都可以找回数据.而PostgreSQL目前没有闪回特性 ...

  2. 使用MySQL的binlog日志恢复误删数据

    使用binlog日志恢复误删数据 1.查看binlog是否开启并锁表 # 进入mysql mysql -uroot -proot#查看binlog是否开启 show variables like '% ...

  3. eps文件删除了能恢复吗?恢复误删eps文件的三种方法

    eps文件格式专为矢量图像和图形而设计.虽然没有被广泛使用,但它仍然受到各种插画家和平面设计师的钟爱.eps文件十分适合创建徽标和商标设计,主要应用见于广告牌.海报和横幅.可是在使用设备过程中,难免会 ...

  4. 利用plsql工具恢复误删表和恢复误删数据

    一.恢复误删表 1.执行以下sql语句,找到被自己误删的数据表对应的object_name: select * from user_recyclebin t;--查看被删掉的表 2.根据得到的obje ...

  5. suse linux系统误删除文件恢复,Linux系统下部署文件恢复神器extundelete恢复误删的文件...

    Linux系统下部署文件恢复神器extundelete恢复误删的文件 最近看到群里提到如何恢复LINUX下ext4误删的文件,之前听说过ext3分区恢复工具ext3grep,恢复ext4刚是用extu ...

  6. 电脑如何恢复误删的文件?

    在电脑漫长的使用过程中,误删是很常见的现象.毕竟电脑存储空间是有限的,为了获得更多的空间来提高电脑的运行速度,删除操作是不可避免的,而谁也不能保证自己不会出现操作错误,导致部分数据文件丢失.那么电脑如 ...

  7. 控制文件和数据文件丢失,有全备份恢复数据库的方法

    控制文件和数据文件丢失,有全备份恢复数据库的方法 控制文件丢失,即使有全备份也难恢复数据库,因为备份信息是存在于控制文件的. 刚看论坛精华帖,Feng讲的dbms_backup_restore包还是很 ...

  8. 案例:Oracle dul数据挖掘 磁盘损坏dul提取数据文件中表的数据及l

    通过使用Oracle DUL工具提取损坏磁盘里的数据库文件中的表及lob字段中内容 在有次8i的库恢复中,因为硬盘损坏导致几个表出现很多诡异性坏块,尝试使用dul对其进行挖掘数据,当时使用dul 9 ...

  9. linux文件回收站恢复,Linux之恢复误删的文件[针对丢弃到回收站]

    linux下恢复误删除的文件方法(ext2及ext3) linux下恢复误删除的文件方法(ext2及ext3) 2009-12-19 15:23:47 分类: LINUX 如果是ext2文件系统的,直 ...

  10. oracle dul 扫描磁盘,案例:Oracle dul数据挖掘 磁盘损坏dul提取数据文件中表的数据及l...

    天萃荷净 通过使用Oracle DUL工具提取损坏磁盘里的数据库文件中的表及lob字段中内容 在有次8i的库恢复中,因为硬盘损坏导致几个表出现很多诡异性坏块,尝试使用dul对其进行挖掘数据,当时使用d ...

最新文章

  1. Sping面试题 Top 50
  2. Oracle的left join中on和where的区别
  3. 分析 H.265 + AAC 的 FLV 文件
  4. linux下常用压缩格式的压缩与解压方法
  5. 【转】WPF 入门《常用控件》
  6. 1)Linux学习笔记:crontab命令
  7. Win10将引入HomeHub功能 和Google Home和Amazon Echo竞争
  8. 凸优化第四章凸优化问题 4.4二次优化问题
  9. centos内存压力测试软件,教你在CentOS下的CPU、内存、IO、网络的压力测试工具与方法...
  10. ntp server
  11. php获取视频封面图,PHP爬虫 获取 Bilibili 视频封面图
  12. 移动硬盘linux双系统,在移动硬盘安装Linux(Ubuntu)双系统
  13. 使用uniapp实现全局悬浮按钮(可拖动)
  14. android ios 夜间模式切换,iOS-夜间模式(换肤设置)
  15. puzzle(0814)Infinity Loop、拼接回路路径
  16. 除了加班、掉头发,程序员还在承受些什么?
  17. 图像融合之泊松编辑(Poisson Editing)(1):简略语言概述算法
  18. vty 、console 、三种模式、enable密码配置
  19. 星载ADS-B的新进展
  20. 华为鸿蒙旧手机,华为鸿蒙出世,是换汤不换药,照旧国产利用系统春天将至?...

热门文章

  1. Android创建并响应选项菜单
  2. 关于如何安装cocoapods
  3. 1124Js基础语法
  4. PMP 与IPMP区别是什么?
  5. SQLServer2005 中 XML类型方法中 XQuery中变量的参数化--匆忙整理
  6. H3C OSPF综合实验
  7. php 获取刚插入的一条,php获得刚插入数据的id 的几种方法
  8. 游戏开发之类的构造函数和析构函数(C++基础)
  9. NP、OSPF基本配置
  10. SQL语句详解(三)——SQL子查询