注意:这篇文档讲述的操作步骤是独立于平台的,如果有些特定的命令需要在特定的操作系统上使用,可以在下面的文档中找到:
- UNIX: "How to run Compact, Fixup, and Updall on AIX, Linux, and Solaris while the Domino server is down " (# 1303727)
- IBM i (AS400): "How to run Fixup, Compact, or other command while the Domino iSeries server is down" (#1102349)
- Windows: 如果需要在Domino停机的时候运行Domino 服务器命令,则需要在Domino服务器命令之前增加一个字母'n'(必须是Domino停机,仅在Windows平台上有效)。 打开一个命令行窗口(点击"开始"--->"运行",输入"CMD",然后回车)。 在这个命令行窗口中,我们先进入Domino的安装目录,即nserver.exe这个程序所在的目录。 从这个路径下,就可以运行Domino服务器的命令,记着要增加一个字母n在命令之前,例如:
x:\Lotus\Domino\nfixup names.nsf -f -j -v -l
x:\Lotus\Domino\ncompact names.nsf -c -i
x:\Lotus\Domino\nupdall admin4.nsf -RX
1. 升级之前
1.1. 检查数据库
对所有数据库运行 fixup (一致性检查)
load fixup -f -j -v -l
注意:
-f 在所有数据库上运行 Fixup 时,Fixup 将检查数据库中的所有文档
-j 使用此选项在事务记录启用的数据库上运行。如果不使用此选项,则 Fixup 通常不在已记录的数据库上运行。
-v 禁止 Fixup 在视图上运行。此选项可减少运行 Fixup 所需的时间。如果不是视图损坏问题,则使用此选项。
-l 向日志文件报告 Fixup 打开并检查是否损坏的每个数据库。如果不使用此参数,则 Fixup 仅记录遇到的实际问题。(这个参数是可选的)
如果你使用了事务日志,则-j这个开关是必须加上的。
1.2. 对所有数据库运行updall
load updall -R -X
注意:
-R 重建所有已使用的视图。
-X 重建全文索引,但不重建视图。用于重建已损坏的全文索引。
1.3. 对所有数据库执行压缩
load compact -c -i
注意:
-c 使用拷贝样式压缩,恢复不使用的空间。
-i 即使遇到错误(如文档损坏),压缩仍然继续。仅适用于拷贝样式压缩。
如果你使用了事务日志,请确定使用-b这个开关。这个开关和-B是不一样的(-B会改变事务日志中记录的数据库的DBIID)。
使用这个命令的时候要小心 "load compact -c -i" , Domino服务器会在某些情况下崩溃。详细的请参照文档 #1329103,"load compact -c -i" ignores all errors and should be used with caution in Lotus Domino 8.0.2 ".
1.4. 修改notes.ini文件
去掉以下参数:
- SERVER_SESSION_TIMEOUT
- SERVER_MAXSESSIONS
- SERVER_MAXUSERS
因为Domino 8 会并行处理更多的用户请求,在你升级之前请去掉下面这些notes.ini参数。
1.5. 如果你安装了第三方应用程序,请先确定第三方产品和Domino8的兼容性。
2. 备份
服务器升级操作之前,请先备份;
- 备份notes.ini文件;(分区服务器此文件在Domino数据目录下,非分区服务器则在程序目录下);
- 备份Domino程序目录及数据目录,以下为重要Domino文件列表:
- 所有的存放在Domino数据目
- 所有的id文件
- admin4.nsf
- names.nsf
- domcfg.nsf
3. 开始升级
升级服务器步骤如下:
- 升级HUB服务器
- 升级邮件服务器
- 升级SMTP服务器
- 升级Web服务器
- 升级应用程序服务器
- 其他任何第三方服务器(确认是否支持Domino8)
- 通过compact命令来升级服务器上所有数据库格式,详情请参考相关文档
- 升级客户端到Notes 8
3.1. 删除Domino
为了保证旧版本的程序不会与新版本程序并存,需要做此步骤。首先将数据目录改名,如:
d:\lotus\domino\data更名为d:\lotus\domino\data.bak
非windows平台下使用 mv 命令修改数据目录名备用;使用添加/删除程序,删除DOMINO,并清除相关目录。
3.2. 安装Domino
安装Domino至原来的路径下,不立即启动。将先前备份目录中的names.nsf,admin4.nsf,*.id,notes.ini复制或移动到domino数据目录下。
打开notes.ini文件,查看Directory,NotesProgram等与目录相关的参数是否正确,如果不正确则修改并保存。
3.3. 执行design任务
打开命令行,进入Domino数据目录执行以下命令:
windows平台下:
%domino程序目录路径%\ndesign.exe -f names.nsf
%domino程序目录路径%\ndesign.exe -f admin4.nsf
Unix/Linux平台下:
%domino程序目录路径%/design -f names.nsf
%domino程序目录路径%/design -f admin4.nsf
Domino8的names.nsf模版包含了新的视图。如果这个模版没有更新,服务器可能会遇到系统停机问题。这个问题已经作为一个软件问题# ATHS7DPLHM记录,并且在#1304915这个文档中有详细描述 "Performance problems after upgrading from Domino 7.x to 8.0.1 ".注意:
-f表示在固定的数据库上操作。
在升级之后重建Domino目录的系统索引在Domino目录中有几个视图会使用unicode标准检查,必须在升级后立即重建。Domino服务器知道所用的校对版本并且会在需要使用它们的时候,自动重建视图索引。
当Domino服务器启动后,它会访问两个重要的视图,$Users 和 $ServerAccess,这个时候服务器会等待这些视图重建。如果Domino目录是一个很大的文件,重建这两个视图索引会持续很长的一段时间。升级到Domino 8 之后,在第一次服务器启动的时候,因为需要等待这些视图重建,服务器可能会很慢。在这个时候,服务器控制台会显示一些有关Domino的初始信息。
这个过程在包含17000用户数目的地址本上测试过,重新建立视图索引大概需要40分钟。
3.4. 运行fixup任务
windows平台下:
%domino程序目录路径%\nfixup.exe names.nsf -f -j -v -l
%domino程序目录路径%\nfixup.exe admin4.nsf -f -j -v -l
Unix/Linux平台下:
%domino程序目录路径%/fixup names.nsf -f -j -v -l
%domino程序目录路径%/fixup admin4.nsf -f -j -v -l
3.5. 运行compact任务
windows平台下:
%domino程序目录路径%\ncompact.exe names.nsf -c -i
%domino程序目录路径%\ncompact.exe admin4.nsf -c -i
Unix/Linux平台下:
%domino程序目录路径%/compact names.nsf -c -i
%domino程序目录路径%/compact admin4.nsf -c -i
注意:数据库的ODS版本不会被改变,除非在每台服务器上(不仅仅在管理服务器)使用拷贝样式的compact任务。
3.6. 运行updall任务
windows平台下:
%domino程序目录路径%\nupdall.exe names.nsf -R -X
%domino程序目录路径%\nupdall.exe admin4.nsf -R -X
Unix/Linux平台下:
%domino程序目录路径%/updall names.nsf -R -X
%domino程序目录路径%/updall admin4.nsf -R -X
注意:这儿会有一个较大负载的索引重建的操作。请阅读下面选自 Notes/Domino 8.0.x Release Notes:
重建数据库设计集合
为了修复一个潜在的问题,当设计任务或者更新索引任务正在运行的时候,系统会对每个数据库做一个一次性重建设计集合的操作。如果视图事件记录参数被打开 (LOG_VIEW_EVENTS=1),有关这些动作的消息会被记录在log.nsf以及显示在console上。例如:
Informational, rebuild view needed - collection object was deleted (reading C:\server\e.nsf default design note Title:'')
Informational, rebuilding view - no container or index (reading C:\server\e.nsf default design note Title:'')
Informational, rebuilding view - user specified REBUILD (reading C:\server\e.nsf default design note Title:'')
4. 启动Domino服务器
观察Domino是否正常启动。正常启动完成后,关闭Domino服务器
5. 恢复数据
将先前备份数据目录中的数据移动至数据目录中,这些数据仅包括:
- 第三方开发的应用模板
- 在数据根目录下的应用数据库
6. 再次启服务器
在控制台,全面执行数据库升级操作指令
load fixup -f -j -v -l
load compact (如果升级后,还有R6/R7/R8的混合应用环境,请不执行此命令,改为执行load compact)
load updall -R -X
注:命令请一条条扫行,一条命令完毕后,再执行第二条
7. 特别注意
7.1. 关于转换邮件文件
替换其它数据库或者邮件库的设计到R8。对于邮件数据库,convert命令可以批量升级用户的邮件文件的设计。请不要使用Designer任务来升级邮件库的设计。
Domino R8.0.x:load convert -r mail/*.nsf * mail8.ntf
或
Domino R8.5.x:load convert -r mail/*.nsf * mail85.ntf
7.2. 关于转换数据库应用
对于那些不想转换为 Domino 8 ODS的数据库,可以创建一个本地复本命名为.ns6的文件,然后再从操作系统级别改为 .nsf 后缀。这样当在 Domino 8 服务器上做 compact 的时候,ODS 就不会被修改。
load compact -c <database's filepath>
注意:在Notes7版本上,ODS没有被改变,所以NS6的 ODS 仍然是43。
请参阅下面的文档:
- "Databases created with an ODS-specific extension are not upgraded by Compact task" (#1086780)
- "On-Disk Structure (ODS) version for Notes/Domino 8 and how is it enabled" (#1267844)
注意:只有在每台服务器(不只是管理服务器)上使用拷贝式压缩命令(compact -c),才会升级ODS的版本,ODS版本不会默认应用。如果需要启用,
- Domino R8.0.x则要在notes.ini中加入参数 CREATE_R8_DATABASES=1;
- Domino R8.5.x则要在notes.ini中加入参数 CREATE_R85_DATABASES=1。