达梦数据库 表空间失效文件恢复
linux系统中被删除的表空间,只要达梦数据库服务没有被关闭,可以在/proc/<pid>/fd找到对应的文件副本进行恢复。<pid>指该文件的进程ID,具体操作步骤如下:
步骤一:调用系统过程 SP_TABLESPACE_PREPARE_RECOVER(tablespace_name)准备进行恢复;
步骤二:通过操作系统的 ps 命令找到当前dmserver 的 PID:ps –ef|grep dmserver;
步骤三:使用操作系统 ls 命令查看被删除文件对应的副本:ls /proc/<PID>/fd–l,会发现被删除的文件后有(deleted)字样;
cd /proc/17510/fd ls -al |
步骤四:使 用 操 作 系 统 的 cp 命 令 将 文 件 复 制 到 原 位 置
cp 10 /home/dmdba/dmdbms/data/DAMENG/TEST01.DBF |
步骤五:复制成功后,调用系统过程 SP_TABLESPACE_RECOVER(ts_name)完成表空间失效文件的恢复。
注意,要保证数据文件正确修复,需要保证在 SP_TABLESPACE_PREPARE_RECOVER后进行数据文件的复制。