请参考 Release Notes,下载链接
在 NSD 中查看 LotusScript 的调用堆栈
通过添加以下 Notes.ini 参数,可以抓取 LotusScript 的调用堆栈,帮助我们分析宕机等问题:
DEBUG_LS_DUMP=1
结果格式如下:
LotusScript Call Stack
<@@ ------ LotusScript Interpreter -> Call Stack for [ nlnotes: 0ef8: 1494] (Time 10:38:14) ------ @@>[3] COUNTVIEWS
[2] GETDBINFO @ line number 7
[1] COUNTDOCUMENTS @ line number 12
[0] INITIALIZE @ line number 2
请参考:Examining LotusScript call stack after a crash or hang with NSD
Notes/Domino 8.5.3 已发布
Notes/Domino 8.5.3 已于10月4日发布,包含了很多实用的新功能:
- 版本控制支持:可以将库中的每一个设计元素通过 SVN 等版本控制系统管理
- JavaScript/CSS 聚合:服务器自动将多个 JS/CSS 文件动态合并为一个,大大改善性能
- XPage 预加载选项:减少首次访问 XPages 时的等待时间
- 全文搜索排序:新的 FTSearchSorted API,同时 XPages 也支持此功能
- XPages 控件增加 HTML5 支持:增加 attrs、type 属性
完整的新功能列表请参考:Domino Designer 8.5.3 中的新增功能、IBM US Announcement Letter
time is too far in the future 问题的处理
做 Domino 开发有一段时间的人估计都见过这个错误,产生的原因是曾经把 Domino 服务器的时间往回调过。
说的更细致一些,比如服务器的时间曾经是2012年,所以视图更新时间、上次复制时间等信息都记录为2012年。这时如果把时间调回2011年,那么就算有新的文档添加到数据库,它的修改时间也比视图的更新时间要晚,所以在这种情况下视图并不会自动更新。我举的只是其中一个问题,足以说明问题的严重性。
关于如何解决这个问题,IBM 技术支持网站给出的方法是新建拷贝或者新建复本,但一个一个处理太麻烦了。可以使用我之前提到的批量拷贝库来处理这个问题:
- 通过操作系统的 ls 命令获取文件列表
- 生成批量拷贝库(如果需要保持复本关系要加 REPLICA 参数)的脚本
- 将所有库拷贝到临时目录
- 停掉服务器,删除原目录、将临时目录改名为原目录名
我实际操作过一次,一个有几十个库的系统不到半小时就搞定了。大家也可以试试看。
通过服务器命令批量拷贝数据库
首先在控制台输入以下命令,启用额外的数据库拷贝命令(不是群集也可以用):
set config CLUSTER_ADMIN_ON=1
无需重启服务器,以下命令就可以用于拷贝数据库了:
CL copy serverA!!db1.nsf serverB!!db2.nsf(将 serverA 上的 db1 新建拷贝到 serverB 的 db2)
CL copy serverA!!db1.nsf serverB!!db2.nsf REPLICA(将 serverA 上的 db1 新建副本到 serverB 的 db2)
CL copy serverA!!db1.nsf serverB!!db2.nsf TEMPLATE(将 serverA 上的 db1 新建拷贝为模板到 serverB 的 db2,不含文档)
CL copy db1.nsf db2.nsf(将 db1 从当前服务器新建拷贝到 db2)
将各个拷贝数据库的命令写成一个文本文件copydb.txt,保存到服务器的程序目录:
CL copy db1.nsf bak/db1.ntf TEMPLATE
CL copy db2.nsf bak/db2.ntf TEMPLATE
然后在服务器控制台输入:
< copydb.txt
就完成了批量备份数据库设计为模板库的工作。
请参考:Cluster_admin_on
警告:Domino 8.5.2 FP1服务器丢失数据的风险
在某些情况下,Linux/Unix 下的 Domino 数据目录会在服务器退出时被删除。(后果很严重!)
其原因是记录临时目录的文件 ~notetmp.reg 错误的指向了数据目录,所以数据目录被当成临时文件清除掉了。在 852FP3 发布之前,可以通过删除 ~notetmp.reg 文件来解决这个问题。
请参考:Domino data can be deleted during server shutdown on UNIX and Linux platforms