linux 误删除数据文件
2021/7/17 7:10:27
本文主要是介绍linux 误删除数据文件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
问题:由于误删除数据文件,导致无法正常删除该表空间
以下实验对问题做了重现,并且提供了详细的解决方案,前提是故障出现后操作系统没有重启
实验:
1.创建表空间TEST001,并创建表A默认表空间为TEST001,并且插入数值
SYS@EMREP> create tablespace test001 datafile '/u01/app/oracle/oradata/EMREP/test001.dbf' size 1m;
Tablespace created.
SYS@EMREP> create table a(id number(10)) tablespace TEST001;
Table created.
SYS@EMREP> insert into a values(1);
1 row created.
SYS@EMREP> commit;
Commit complete.
2.模拟从操作系统删除数据文件
rm -rf /u01/app/oracle/oradata/EMREP/test001.dbf
3.此时删除表空间,发现报错
drop tablespace TEST001 INCLUDING CONTENTS AND DATAFILES
*
ERROR at line 1:
ORA-01116: error in opening database file 2
ORA-01110: data file 2: '/u01/app/oracle/oradata/EMREP/test001.dbf'
ORA-27041: unable to open file
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
4.解决方案
1)找到进程号
ps -ef|grep dbw0 |grep -v grep
2)进入进程句柄位置
cd /proc/25334/fd
3)查看被删除文件句柄
ls -lrth
4)把该句柄拷贝回原位置
cp /proc/25334/fd/263 /u01/app/oracle/oradata/EMREP/test001.dbf
5)此时,可以正常删除该表空间,问题解决
SYS@EMREP> drop tablespace TEST001 INCLUDING CONTENTS AND DATAFILES;
Tablespace dropped.
这篇关于linux 误删除数据文件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-18git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
- 2024-12-18Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
- 2024-12-13Linux C++项目实战入门教程
- 2024-12-13Linux C++编程项目实战入门教程
- 2024-12-11Linux部署Scrapy教程:新手入门指南
- 2024-12-11怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
- 2024-12-10Linux常用命令
- 2024-12-06谁看谁服! Linux 创始人对于进程和线程的理解是…
- 2024-12-04操作系统教程:新手入门及初级技巧详解
- 2024-12-04操作系统入门:新手必学指南