Technote (troubleshooting)
问题
从 Domino 8.5.2 开始增加了一项新功能,允许自动收集损坏的数据库,这样将允许收集损坏的数据库,而无需关闭Domino服务器。在某些情况下,可以通过检查损坏的数据库来确定数据库受损的原因。
解决问题
自动收集损坏的数据库
当 Domino 服务器检测到一个损坏的数据库,它会自动将已损坏的数据库作为一个单独的文件存储在一个单独的目录下。
在打开数据库时,会检测数据库是否损坏,如果发现数据库已损坏,则启动收集程序。要启用自动采集损坏的数据库,需要在 Domino 服务器上设置以下 notes.ini参数:
DATABASE_CAPTURE_ENABLED=1
在服务器打开数据库时一旦发现损坏,自动收集损坏的数据库,设为1启用。
注意:一旦启动 Domino 服务器,自动收集损坏数据库将被启用,到下次重新启动时将被禁用。不建议管理员持续使用自动收集损坏的数据库功能而听之任之。出于这个原因,在采集损坏的数据库之后,Domino 服务器将自动重设该变量的值,在随后的服务器重新启动时,只有管理员介入,重新设置参数 DATABASE_CAPTURE_ENABLED=1 才能继续开启自动收集损坏的数据库功能。
DATABASE_CAPTURE_LIMIT 是设置允许服务器自动收集损坏的数据库数量的上限。如果没有设置,默认值为10。如果设置为0,自动收集的损坏的数据库数量没有限制。
DATABASE_CAPTURE_SIZE_LIMIT 是设置所有自动收集损坏的数据库总大小的上限,以兆字节(MB)为单位。如果没有设置,默认值是100。如果设置为0,自动收集的损坏的数据库容量没有限制。
DATABASE_CAPTURE_DIRECTORY 是将用于存放自动收集损坏的数据库的目录。这个路径是相对于 Domino 的 Data 目录而言,如果没有设置,默认值是“ IBM_TECHNICAL_SUPPORT\ACDC ”,这将会把损坏的数据库文件复制到“data\IBM_TECHNICAL_SUPPORT\ACDC”目录。
自动收集的损坏的数据库名与原数据库相同,而扩展名为".cor"
自动收集工具将根据上述 notes.ini 参数来收集被检测到损坏的数据库。
受损数据库的收集工具
DBCAPTURE 工具是作为一个独立的工具用于管理员或用户手动收集特定的数据库。该工具遵循 notes.ini 关于损坏的数据库的数量和大小的限制。该工具会忽略 DATABASE_CAPTURE_ENABLED 参数。
要手工收集数据库,在服务器控制台输入以下命令:
load dbcapture abc\red.nsf
其中“abc”是路径名(相对于data目录),“red.nsf”是数据库名,
还可以从操作系统的命令提示符下输入以下命令来运行DBCAPTURE工具:
dbcapture abc\red.nsf
在下列情况下,无论是手工还是自动,不会收集损坏的数据库:
- 已经达到 DATABASE_CAPTURE_LIMIT 参数设定的损坏的数据库数量上限
- 已经达到 DATABASE_CAPTURE_SIZE_LIMIT 参数设定的损坏的数据库总大小上限
- 该数据库已被收集
- 该数据库正在被Compact或者Fixup任务打开