备份和恢复数据库的最快方式是使用 DB2 backup 和 restore 命令。与此相比,LDAP 替代命令(例如 db2ldif 和 ldif2db)通常要慢得多。
使用 db2 backup 和 db2 restore 命令的唯一缺点是备份数据库无法在不同的硬件平台上恢复。例如,您不能在备份 AIX 数据库后将该数据库恢复到 Solaris 系统上。db2 backup 和 db2 restore 命令的替代命令是 LDIF 信息文件(LDAP)export 和 import。这些命令跨不同的硬件平台工作,但处理过程较慢。有关使用这些命令的更多信息,请参阅 DB2 文档。
使用 db2 backup 和 db2 restore 命令的重要优点是将 DB2 配置参数和 db2 reorgchk 数据库最优参数保存在备份数据库中。恢复的数据库与备份的数据库具有相同的性能调整任务。这不是使用 LDAP db2ldif 和 ldif2db 能出现的情形。
请注意,如果在现有数据库上进行恢复,则该现有数据库上的所有性能调整任务都会丢失。执行恢复后检查所有 DB2 配置参数。并且,如果您不知道在数据库备份之前是否执行了 db2 reorgchk,请在恢复之后运行 db2 reorgchk。执行备份和恢复操作的 DB2 命令如下:
db2 force applications all db2 backup db ldapdb2 to directory_or_device db2 restore db ldapdb2 from directory_or_device replace existing
其中 directory_or_device 是存储备份的目录或设备的名称。
恢复中发生的最常见错误是文件许可权错误。下面是可能发生此错误的一些原因:
chown ldapdb2 fil_or_dev
要求执行备份与恢复操作来初始同步 LDAP 副本服务器与 LDAP 主控服务器,或者只要主控服务器和副本服务器出现不同步,就需要执行备份与恢复操作。如果副本服务器未定义给主控服务器,则副本服务器可能不同步。在这种情况下,主控服务器不知道副本服务器的情况,从而不会在该副本服务器的传播队列上保存更新。
如果新配置的主 LDAP 目录将要装入初始数据,则可以使用批量装入实用程序来加快此过程。还存在另一种情况,那就是不将更新通知给副本服务器,而因此需要进行手工备份与恢复使副本服务器与主控服务器同步。