Sun Java System Messaging Server 6.3 管理指南

10.9.1 MTA 文本数据库

MTA 使用 sleepycat 数据库的做法已过时,因为它会在 Messaging Server 部署中产生不稳定性。(请注意,近期内不会删除 sleepycat。)因此,应改用 MTA 文本数据库作为反向、正向以及常规数据库。

设置文本数据库:

  1. 准备一个包含数据的文本文件。

    此文件的格式与 imsimta crdb 使用的格式相同:每行一个条目,其中包含两个以一个或多个空格分隔的字段。文件名称是由 imta_tailor 中的 IMTA_GENERAL_DATAIMTA_REVERSE_DATAIMTA_FORWARD_DATA 选项指定的,这些选项通常分别指向 msg-svr-base/config/ 中的 IMTA_TABLE:general.txtIMTA_TABLE:reverse.txtIMTA_TABLE:forward.txt

    general.txt - 常规数据库 reverse.txt - 反向数据库forward.txt - 正向数据库

  2. USE_TEXT_DATABASES 选项中设置相应的一个或多个位:

    位 0(值为 1)- 使用文本文件作为常规数据库;位 1(值为 2)- 使用文本文件作为反向数据库;位 2(值为 4)- 使用文本文件作为正向数据库

  3. 设置启用所需数据库时需要使用的任何附加选项。

    例如,USE_REVERSE_DATABASEUSE_FORWARD_DATABASE 或任何其他选项

  4. 运行 imsimta cnbuild

  5. 运行 imsimta reload

USE_TEXT_DATABASES 不适用的唯一情况是用于高动态数据。在这些情况下,编写您自己的 MTA 插件而不是依赖于内置数据库支持可以获得更好的效果。

如果文本数据库不适用,并且您希望使用 crdb (Sleepycat) 数据库支持,可通过构造数据库使用方式并相应地更新进程以使用 imsimta crdbimsimta db 更新数据库,而无需重新编辑、重新加载或重新启动。但要,这种方法仅在以下场合奏效:您只能添加或更新现有条目,在这种情况下,您可以使用 imsimta crdb。否则,您必须将数据构造为一系列添加/删除/更改操作。如果没有使用这种方法构造数据(通常不会这样构造数据),在更新时将恢复为替换整个数据库,而此时最好使用文本数据库。