linux下误删除达梦数据库的数据文件的处理方法(linux方法恢复)
在日常项目中很有可能遇到运维人员不小心删除了数据库的数据文件。
对于误删除数据库文件,操作系统没有重启的情况下(达梦数据库)linx可以通过可以通过以下方法进行恢复数据库的文件。
下面是一个示例(以系统表空间为例,普通表空间类似)
创建一个表a,在默认的系统表空间MAIN上。
删除系统表空间MAIN
执行完数据文件校验后再查询表a,会报错,此时注意数据库服务不能重启。
通过调用系统过程call sp_tablespace_prepare_recover('MAIN')进行恢复
通过操作系统临时存放文件下恢复数据文件
注意此处的10是根据操作系统的文件号得来的
通过调用call sp_tablespace_recover执行数据文件恢复,然后校验数据文件。
注意此时校验后数据文件并没有完成恢复。
原因是数据文件通通过操作系统恢复后,属组是root,不是dmdba,此时需要修改数组和属主
此时再执行数据文件校验即可完成数据文件恢复
注意此方法只能在数据库服务还在的情况和操作系统保留时间内才能进行恢复。
数据文件误删除还可以通过备数据库备份文件进行恢复,这里就暂时不介绍了,在平时的工作中dba应该提醒运维人员
小心管理,尽量避免类似的情况发生。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步