oracle删除redo 未重启,恢复误删数据文件(数据库未重启,无备份)
整个过程不要关闭数据库
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 未重启,恢复误删数据文件(数据库未重启,无备份)相关推荐
- PostgreSQL恢复误删数据
在Oracle中:删除表或者误删表记录:有个闪回特性,不需要停机操作,可以完美找回记录.当然也有一些其他的恢复工具:例如odu工具,gdul工具.都可以找回数据.而PostgreSQL目前没有闪回特性 ...
- 使用MySQL的binlog日志恢复误删数据
使用binlog日志恢复误删数据 1.查看binlog是否开启并锁表 # 进入mysql mysql -uroot -proot#查看binlog是否开启 show variables like '% ...
- eps文件删除了能恢复吗?恢复误删eps文件的三种方法
eps文件格式专为矢量图像和图形而设计.虽然没有被广泛使用,但它仍然受到各种插画家和平面设计师的钟爱.eps文件十分适合创建徽标和商标设计,主要应用见于广告牌.海报和横幅.可是在使用设备过程中,难免会 ...
- 利用plsql工具恢复误删表和恢复误删数据
一.恢复误删表 1.执行以下sql语句,找到被自己误删的数据表对应的object_name: select * from user_recyclebin t;--查看被删掉的表 2.根据得到的obje ...
- suse linux系统误删除文件恢复,Linux系统下部署文件恢复神器extundelete恢复误删的文件...
Linux系统下部署文件恢复神器extundelete恢复误删的文件 最近看到群里提到如何恢复LINUX下ext4误删的文件,之前听说过ext3分区恢复工具ext3grep,恢复ext4刚是用extu ...
- 电脑如何恢复误删的文件?
在电脑漫长的使用过程中,误删是很常见的现象.毕竟电脑存储空间是有限的,为了获得更多的空间来提高电脑的运行速度,删除操作是不可避免的,而谁也不能保证自己不会出现操作错误,导致部分数据文件丢失.那么电脑如 ...
- 控制文件和数据文件丢失,有全备份恢复数据库的方法
控制文件和数据文件丢失,有全备份恢复数据库的方法 控制文件丢失,即使有全备份也难恢复数据库,因为备份信息是存在于控制文件的. 刚看论坛精华帖,Feng讲的dbms_backup_restore包还是很 ...
- 案例:Oracle dul数据挖掘 磁盘损坏dul提取数据文件中表的数据及l
通过使用Oracle DUL工具提取损坏磁盘里的数据库文件中的表及lob字段中内容 在有次8i的库恢复中,因为硬盘损坏导致几个表出现很多诡异性坏块,尝试使用dul对其进行挖掘数据,当时使用dul 9 ...
- linux文件回收站恢复,Linux之恢复误删的文件[针对丢弃到回收站]
linux下恢复误删除的文件方法(ext2及ext3) linux下恢复误删除的文件方法(ext2及ext3) 2009-12-19 15:23:47 分类: LINUX 如果是ext2文件系统的,直 ...
- oracle dul 扫描磁盘,案例:Oracle dul数据挖掘 磁盘损坏dul提取数据文件中表的数据及l...
天萃荷净 通过使用Oracle DUL工具提取损坏磁盘里的数据库文件中的表及lob字段中内容 在有次8i的库恢复中,因为硬盘损坏导致几个表出现很多诡异性坏块,尝试使用dul对其进行挖掘数据,当时使用d ...
最新文章
- Sping面试题 Top 50
- Oracle的left join中on和where的区别
- 分析 H.265 + AAC 的 FLV 文件
- linux下常用压缩格式的压缩与解压方法
- 【转】WPF 入门《常用控件》
- 1)Linux学习笔记:crontab命令
- Win10将引入HomeHub功能 和Google Home和Amazon Echo竞争
- 凸优化第四章凸优化问题 4.4二次优化问题
- centos内存压力测试软件,教你在CentOS下的CPU、内存、IO、网络的压力测试工具与方法...
- ntp server
- php获取视频封面图,PHP爬虫 获取 Bilibili 视频封面图
- 移动硬盘linux双系统,在移动硬盘安装Linux(Ubuntu)双系统
- 使用uniapp实现全局悬浮按钮(可拖动)
- android ios 夜间模式切换,iOS-夜间模式(换肤设置)
- puzzle(0814)Infinity Loop、拼接回路路径
- 除了加班、掉头发,程序员还在承受些什么?
- 图像融合之泊松编辑(Poisson Editing)(1):简略语言概述算法
- vty 、console 、三种模式、enable密码配置
- 星载ADS-B的新进展
- 华为鸿蒙旧手机,华为鸿蒙出世,是换汤不换药,照旧国产利用系统春天将至?...