我刚刚将服务器从 IBM Domino 9.0.1 升级到 Domino 10.0.1,在处理 NDX 文件(查看存储在数据库之外的索引)时遇到了一些问题。
升级后,我测试了一些自定义应用程序功能,发现使用视图的代码有时会产生错误消息“尝试重新打开已打开的容器”。
为了解决该错误,我运行了服务器命令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,除了我上面描述的问题之外没有任何问题。
答案1
由于目前还没有其他答案,并且我无法找到有关 NDX 文件名格式的官方信息,因此我进行了一些测试以得到满意的答案。
在 Domino 10.0.1 服务器上,如果我在之前已禁用 NIFNSF 的数据库上启用它,则 NDX 文件名的格式与重建视图后出现的新 NDX 文件一样,即扩展名前带有“_nsf”。
另外,如果我停止 Domino,删除从 9 服务器复制的所有旧 NDX 文件,然后重新启动 Domino,这些文件就不会重新出现,而且我没有看到任何错误消息或其他问题。
结论:NDX 文件名格式在 Domino 10.0.0、10.0.1 或这些版本的某个修复包中的某个版本中发生了变化,使用旧名称格式的 NDX 文件可以安全删除。