使用 Enterprise Replication 迁移

如果使用 Enterprise Replication,那么迁移到 GBase 8s 的新版本时,必须完成其他与复制相关的任务。

先决条件

使用 Enterprise Replication 迁移:

  1. 执行迁移到 GBase 8s 的新版本中描述的任务,包括启动新版本的服务器。
  2. 如果未设置 CDR_QDATA_SBSPACE 配置参数,那么必须通过为 Enterprise Replication 指定要用于存储假脱机行数据的智能大对象空间来设置此配置参数。
  3. 对于 Enterprise Replication 中涉及的每个节点,请使用 dbexport -ss 命令或 dbschema -ss 命令和 UNLOAD 语句,或通过这几种方法的组合来备份 syscdr 数据库。
    -ss 选项防止备份表使用缺省扩展数据块大小以及不是 Enterprise Replication 的合适锁定方式的行级锁定。
  4. 确保 Enterprise Replication 启动前没有可复制事务发生。
  5. 如果不是在一个发行版的不同修订包之间进行升级,请运行 $GBASEDBTDIR/etc/conv 目录(在 UNIX™ 上)中名为 concdr.sh 的转换脚本。

    例如,指定:

    % sh concdr.sh from_version 11.70
    % sh concdr.sh from_version 11.50

    可以使用的 from_version 值为:

    11.5011.1010.009.407.31

    11.1010.009.409.309.217.31

    无需在同一发行版的不同修订包之间运行 concdr.sh因此,如果要从 V11.70.xC1 或 11.70.xC2 迁移到 11.70 的更高版本,无需执行与运行该文件相关的其他 Enterprise Replication 迁移过程。

  6. 等待以下某一条消息:
    “syscdr”转换成功完成。“syscdr”转换失败。

    有关转换的详细信息,请参阅以下文件中的任何一个:

    • $GBASEDBTDIR/etc/concdr.out
    • %GBASEDBTDIR%\etc\concdr.out
  7. 如果转换失败,请解决 concdr.out 文件中报告的问题,从备份中恢复 syscdr 数据库,然后再次尝试转换。
  8. 成功转换后,启动 Enterprise Replication
    % cdr start
    
要点: 使用 Enterprise Replication 转换到新版本的 GBase 8s 后,不要删除 syscdr 数据库。如果删除了 syscdr,那么无法使用 Enterprise Replication 还原到较早的数据库服务器,因为执行还原所需的数据是存储在 syscdr 数据库中。