iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Linux下数据库文件被误删后怎么找回
  • 945
分享到

Linux下数据库文件被误删后怎么找回

2024-04-02 19:04:59 945人浏览 独家记忆
摘要

这篇文章主要讲解了“linux下数据库文件被误删后怎么找回”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下数据库文件被误删后怎么找回”吧!Linu

这篇文章主要讲解了“linux数据库文件被误删后怎么找回”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下数据库文件被误删后怎么找回”吧!

Linux平台下数据库文件被误删后如何及时得知并找回

我们知道在windows平台下,一旦文件在程序中打开,则不能被删除,所以不存在误删数据文件的情况,如下图所示:

Linux下数据库文件被误删后怎么找回

但是在LINUX操作系统中,被进程打开的文件仍可以被删除,因此存在DM7数据文件可能被误删的风险。并且,在默认情况下,若数据文件被删除,数据库是不会返回任何报错信息的,这样无形中就增大了数据丢失的风险。因此,本篇文章主要讲两个方面:

1.在表空间文件被误删后,如何使数据库及时反馈出来。

2.在表空间文件被误删后,如何进行数据的恢复。

1、 在表空间文件被误删后,如何使数据库反馈出来

1.1首先建一个测试表。

create table test (id int );

insert into test values(1);

1.2删除数据文件MaiN.DBF,此时去查询test表,发现一切正常,数据库没有任何报错。

1.3进行相关设置,使数据库可以检测出文件被删除,有以下两种方式:调用系统过程SP_FILE_SYS_CHECK()来手动检查,数据库重启后失效; 设置参数FIL_CHECK_INTERVAL大于0即可(单位是s),若使其永久生效,则需要将参数添加进dm.ini文件中。

sp_set_para_value(1,'FIL_CHECK_INTERVAL',3);

1.4设置成功后,再次查询test表,即报错: 表空间[MAIN]中文件[/opt/dmdbms/data/DAMENG/MAIN.DBF]已被删除

进行以上设置后,若数据文件被删除,我们可以及时得知,下面来讲如何进行数据恢复。

2、 在表空间文件被误删后,如何进行数据的恢复

联机恢复:

2.1联机恢复,此方法只适用于被删除的是用户数据文件(以MAIN.DBF为例):

首先调用以下系统过程进行恢复的准备工作:

call SP_TABLESPACE_PREPARE_RECOVER('MAIN');

2.2在服务器终端执行ps ­ef |grepdms,获取数据库服务的pid为12130

2.3接下来,就用ls命令查看被删除文件对应的副本:ls /proc/12130/fd­l,如下图,在MAIN.DBF文件 后,有个delete,表示已被删除掉。

 Linux下数据库文件被误删后怎么找回

2.4将上述MAIN.DBF文件复制到原数据文件路径下即可:

cp /proc/12130/fd/11 /opt/dmdbms/data/DAMENG/MAIN.DBF

2.5复制成功后,执行以下语句完成表空间失效文件的恢复。

call SP_TABLESPACE_RECOVER('MAIN');

2.6再次查询test表,可正常执行,并得到正确数据。

为什么联机恢复只适用于恢复被删除的用户数据文件呢,因为当被删除的是ROLL.DBF、TEMP.DBF 或SYSTEM.DBF文件时,数据库一旦检测到它们其中任何一个文件不在了,就会直接挂掉,所以根本没有机会进行联机恢复的操作。此时,只能利用备份文件和归档文件进行还原,并因为数据库属于异常退出,有部分redo日志还没来得及写进归档中,导致归档不全,无法恢复到数据库异常退出前的状态。因此,在进行还原前,需进行归档修复(归档修复会扫描联机日志文件,将那些已经写入联机日志文件、但还没有写入到归档日志文件的REDO日志,重新写入到归档日志文件,详见手册DM7_Backup_And_Recovery.pdf)。

脱机恢复:

在利用备份进行还原时,根据被删除文件类型,也分为以下两种情况:

若被删除的是ROLL.DBF或TEMP.DBF,通过以下过程,即可完整恢复数据库。

1.  归档修复:repair arcHivelog database '/opt/dmdbms/data/DAMENG/dm.ini';

Linux下数据库文件被误删后怎么找回 

2.  利用备份加归档,进行还原:

./dmrestore ini_path=/opt/dmdbms/data/TEST/dm.ini file=/opt/dmdbms/data/TEST/bak/test.bak archive_dir=/opt/dmdbms/data/TEST/arch/

 Linux下数据库文件被误删后怎么找回

2.1若被删除的是SYSTEM.DBF文件,则无法完整恢复数据库。

SYSTEM.DBF被删除后,无法修复归档,所以会导致部分数据丢失。

Linux下数据库文件被误删后怎么找回

2.2  SYSTEM.DBF被删除后,无法在原库上直接进行还原,必须新初始化一个库才可以。

Linux下数据库文件被误删后怎么找回

感谢各位的阅读,以上就是“Linux下数据库文件被误删后怎么找回”的内容了,经过本文的学习后,相信大家对Linux下数据库文件被误删后怎么找回这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Linux下数据库文件被误删后怎么找回

本文链接: https://www.lsjlt.com/news/59534.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux下数据库文件被误删后怎么找回
    这篇文章主要讲解了“Linux下数据库文件被误删后怎么找回”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下数据库文件被误删后怎么找回”吧!Linu...
    99+
    2022-10-18
  • 使用lsof回恢复被误删的mysql数据库文件
    下文主要给大家带来使用lsof回恢复被误删的mysql数据库文件,希望这些内容能够带给大家实际用处,这也是我编辑使用lsof回恢复被误删的mysql数据库文件这篇文章的主要目的。好了,废话不多说,大家直接看...
    99+
    2022-10-18
  • 怎么在Linux下快速找到被删除的文件
    小编给大家分享一下怎么在Linux下快速找到被删除的文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!日常运维过程中,我们经常需要处理磁盘空间问题,当接到告警后,...
    99+
    2023-06-07
  • 误删SQLServer日志文件后怎么附加数据库
    这篇文章主要讲解了“误删SQLServer日志文件后怎么附加数据库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“误删SQLServer日志文件后怎么附加数据...
    99+
    2022-10-18
  • linux下怎么恢复误删除oracle的数据文件
    本篇内容介绍了“linux下怎么恢复误删除oracle的数据文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所...
    99+
    2022-10-18
  • linux怎么恢复rm误删除的数据库文件
    这篇文章主要介绍“linux怎么恢复rm误删除的数据库文件”,在日常操作中,相信很多人在linux怎么恢复rm误删除的数据库文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux怎么恢复rm误删除的数据...
    99+
    2023-06-13
  • 阿里云服务器数据库丢失怎么找回文件
    如果您的阿里云服务器数据库出现了丢失的情况,您可以按照以下步骤进行操作: 登录您的阿里云账户并进行相应的数据备份。 检查数据库是否存在损坏或其他未知错误。 尝试通过网络连接或阿里云客户端连接服务器。如果连接失败或客户端无法连接到服务器,...
    99+
    2023-10-27
    阿里 服务器 数据库
  • Linux中误删除数据文件和归档日志怎么恢复
    这篇文章主要介绍“Linux中误删除数据文件和归档日志怎么恢复”,在日常操作中,相信很多人在Linux中误删除数据文件和归档日志怎么恢复问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux中误删除数据文件...
    99+
    2023-06-13
  • Linux下怎么删除大数据文件中部分字段重复行
    本篇内容介绍了“Linux下怎么删除大数据文件中部分字段重复行”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!最近写的一个数据采集程序生成了一...
    99+
    2023-06-13
  • oracle 12c因误删pdb数据文件导致整个数据库打不开怎么办
    这篇文章给大家分享的是有关oracle 12c因误删pdb数据文件导致整个数据库打不开怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。方法如下:1、用sys账号进入实例,可见...
    99+
    2022-10-18
  • 怎么在linux中定时备份MySQL数据库并删除备份文件
    怎么在linux中定时备份MySQL数据库并删除备份文件?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一丶选择一个比较大位置来保存备份文件(创建文件就行)使用mkdir来创...
    99+
    2023-06-09
  • Oracle数据库克隆后temp文件因路径变化无法找到问题怎么办
    小编给大家分享一下Oracle数据库克隆后temp文件因路径变化无法找到问题怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!...
    99+
    2022-10-19
  • sqlserver数据库加密后无法使用MDF,LDF,log文件名称被修改的数据恢复怎么办
    这篇文章主要介绍了sqlserver数据库加密后无法使用MDF,LDF,log文件名称被修改的数据恢复怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。故障:2个SQL s...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作