为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
SQL> select * from SYS."V$VERSION";
行号 BANNER
1 DM Database Server 64 V8
2 8.4
3 安全版
4 DB Version: 0x7000d
5 05134284366-20251027-299027-20183
6 Msg Version: 44
7 Gsu level(5) cnt: 0
7 rows got
【操作系统】:麒麟V10 SP3
【CPU】:intel x86_64
【问题描述】*:
这是测试用的表空间bookshop,表空间文件都是/dm/data/DAMENG/路径下的。
我已经将两个表空间文件都移走了,明显不是上面图片的路径。
[root@localhost data]# ls
bookshop1.dbf bookshop2.dbf DAMENG DMTEST
[root@localhost data]# pwd
/dm/data
但是依然可以指定bookshop表空间创建成功表,并提交。
SQL> create table book_t(bookname varchar ,book_id int) storage (on bookshop);
操作已执行
已用时间: 126.692(毫秒). 执行号:2122.
SQL> commit;
执行表空间失效检查的存储过程也没有显示有问题。
SQL> set serveroutput on;
SQL> SP_FILE_SYS_CHECK();
DMSQL 过程已成功完成
已用时间: 23.034(毫秒). 执行号:2127.
这是正常现象吗?

你是创建了再检查,检查后就会判断无效阻止了
默认不进行检查FIL_CHECK_INTERVAL=0
SP_FILE_SYS_CHECK();
只是检查,实例日志里面会有报错信息,例如
fil_sys check file [/dmdata/DAMENG/MAIN.DBF] error, Can't find file
表空间状态也可以看到异常
可参考链接处理查看表空间文件失效检查