DM8官网文档链接查看表空间文件失效检查关于查看表空间文件失效检查部分缺少一定流程。于是自己尝试了下这个步骤。新建表空间ts_recoverCREATE TABLESPACE TS_RECOVER DATAFILE /dm/data/DAMENG/ts_recover01.dbf SIZE 128; select GROUP_ID,PATH,STATUS$,RW_STATUS,LAST_CKPT_TIME,MODIFY_TIME from v$datafile where PATH like %ts_recover%;创建后查询下表空间数据文件的状态。建一个测试表并插入数据确认数据存在。CREATE TABLE T_RECOVER ( ID INT, NAME VARCHAR(50) ) STORAGE(ON TS_RECOVER); INSERT INTO T_RECOVER SELECT LEVEL, TEST FROM dual CONNECT BY LEVEL10000; COMMIT;第一步删除文件建议备份rm /dm/data/DAMENG/ts_recover01.dbf删除前后对比可以发现STATUS$字段已经从1转到0代表该表空间文件已经脱机了。并且查询表数据也报错。第二步、准备恢复CALL SP_TABLESPACE_PREPARE_RECOVER(TS_RECOVER);第三步、Linux 恢复文件#先查出pid ps -ef | grep dmserver #把pid填入,找到删除的文件标记号 ls -l /proc/pid/fd | grep deleted #把文件标记号和pid分别填入xx和pid拷贝回去 cp /proc/pid/fd/xx /dm/data/DAMENG/ts_recover01.dbf第四步、执行恢复CALL SP_TABLESPACE_RECOVER(TS_RECOVER);恢复后可以看到表空间文件STATUS$变成1代表online状态了。社区地址https://eco.dameng.com