Sun Java System Calendar Server 6 2005Q4 管理指南

Procedure重新建立日历数据库 (caldb)(不包括 GSE 数据库)

要恢复已损坏的日历数据库 (caldb),请使用 csdb 实用程序的 rebuild 命令。rebuild 命令将扫描所有日历数据库以查看其中是否存在损坏。如果 rebuild 命令发现冲突,它将在 cal_svr_base/SUNWics5/cal/sbin/rebuild_db 目录中重新建立一个日历数据库(.db 文件)。

rebuild 命令会生成许多信息,因此请考虑将所有输出结果(包括 stdoutstderr)重定向到一个文件中。

在以下说明中,rebuild 命令不会重新建立组调度引擎 (Group Scheduling Engine, GSE) 数据库。

要重新建立不包括 GSE 数据库的日历数据库,请执行以下步骤:

步骤
  1. 以具备管理权限的用户身份登录安装了 Calendar Server 的系统。

  2. 停止 Calendar Server。

  3. 如果尚未备份,请备份日历数据库。只需复制数据库 (.db) 文件和日志 (log.*) 文件。无需复制任何共享 (__db.*) 文件。

  4. 转至 cal_svr_base/SUNWics5/cal/sbin 目录。例如,在 Solaris 操作系统上输入以下内容:


    cd /opt/SUNWics5/cal/sbin

    如果 sbin 目录的磁盘空间不足,请在其他目录中运行 rebuild 命令。

  5. 针对日历数据库副本运行 rebuild 命令:


    ./csdb rebuild /tmp/db /tmp/

    如果未指定数据库目录,则 rebuild 命令将针对当前目录中的数据库。在上述示例中,/tmp/ 参数用于指定重新建立的数据库所在的目标目录。


    注 –

    请始终使用最新的备份副本重建日历数据库。

    但是,如果曾丢失大量数据,同时由于定期备份数据库而创建了多个副本,请从最新副本向最旧副本进行重建。(这样做的唯一缺点是已删除的日历组件将重新出现在重建数据库中。)

    例如,如果目录 db_0601db_0615db_0629 中分别有三组备份日历数据库文件,请按以下顺序运行 rebuild 命令:

    1. ./csdb rebuild db_0629

      然后检查是否存在损坏。如果该备份副本已被损坏,则针对下一个备份副本运行 rebuild。

    2. ./csdb rebuild db_0615

      然后检查是否存在损坏。如果该备份副本已被损坏,则针对下一个备份副本运行 rebuild。

    3. ./csdb rebuild db_0601

      ... 等等。

    rebuild 命令将重新建立的数据库写入 cal_svr_base/SUNWics5/cal/sbin/rebuild_db 目录。


  6. 运行完 rebuild 命令后,查看rebuild.out 文件中的输出结果。如果重新建立成功,rebuild.out 文件中的最后一行应如下所示:


    Calendar database has been rebuilt
  7. 验证 rebuild 成功后,将重新建立的数据库 (.db) 文件从 rebuild_db 目录复制到您的生产数据库中。

  8. 如果从损坏的数据库中恢复了任何共享 (__db.*) 文件,请将它们移到其他目录中。

  9. 重新启动 Calendar Server。