我刚刚将服务器从 IBM Domino 9.0.1 升级到 Domino 10.0.1,并且在处理 NDX 文件时遇到了一些问题(查看存储在数据库外部的索引)。
我在升级后测试了一些自定义应用程序功能,发现使用视图的代码有时会产生错误消息“尝试重新打开打开的容器”。
为了解决这个错误,我运行了 server 命令load updall -R
来重建所有使用的视图。完成之后,我发现现在每个启用 NIFNSF 的数据库都有两个 NDX 文件。
对于每个 NSF,较旧的 NDX 文件在升级之前最后一次更新,并且命名为与 NSF 基本文件名相匹配,扩展名为“NDX”。较新的 NDX 在最后 15 分钟内更新,并命名为 NSF 基本文件名,加上“_nsf”,然后是“NDX”扩展名。
例如,数据库文件“Arc2001.nsf”同时具有“Arc2001.ndx”(旧)和“Arc2001_nsf.ndx”(新)。
所以主要的问题是:NDX 文件的默认名称是否随 Domino 10 改变了?
并且密切相关:我可以安全地删除旧的 NDX 文件吗?
以防万一,Domino 升级路径并不简单,因为我搬到了新的操作系统和虚拟服务器,并且同时从 32 位 Domino 更改为 64 位。
我首先将所有 Domino 安装和数据文件从旧的 Windows Server 2012 复制到新的 Windows Server 2019,然后删除本机二进制文件(EXE、DLL 和我知道的一些扩展是由 Visual Studio 创建的)以防万一出现任何问题从 32 位更改为 64 位,然后在复制的文件上安装 Domino 10.0.1。我不得不修改一些 INI 文件以更改主机名和 IP 地址,然后能够启动和使用 Domino 10.0.1,除了我上面描述的之外没有任何问题。
由于没有其他答案(到目前为止)并且我无法找到有关 NDX 文件名格式的官方信息,我已经进行了一些测试以让我满意地回答这个问题。
在 Domino 10.0.1 服务器上,如果我在以前禁用它的数据库上启用 NIFNSF,则 NDX 文件名的格式与重建视图后出现的新 NDX 文件一样,即扩展名前带有“_nsf”。
此外,如果我停止 Domino,删除我从 9 服务器复制的所有旧 NDX 文件,然后再次启动 Domino,这些文件不会重新出现,并且我没有看到任何错误消息或其他问题。
结论:在 Domino 10.0.0、10.0.1 或这些版本的修复包之一中,NDX 文件名格式在某个时候发生了更改,并且可以安全地删除使用旧名称格式的 NDX 文件。