sap - Sybase - SAP ASE - 复制服务器:路由声明
问题描述
我正在尝试在 SAP Replication Server 中声明路由。
我有:
带有 ASE 和 RS 服务器(我们称之为 RS1)的服务器(我们称之为 S1)。
带有 ASE 和 RS 服务器(我们称其为 RS2)的服务器(我们称其为 S2)。
带有 ASE 服务器的服务器(我们称之为 S3)。
我在 RS1 中有从 S1 中的数据库到 S1 和 S2 中的数据库的复制。
现在我正在尝试通过 RS2 向 S3 中的数据库添加复制:从 RS1 到 RS2 的路由以及对 S3 中数据库的订阅。
我声明了路由,即 2 个 RSSD 之间的代理。
当我尝试将订阅(在 RS2 中)设置为 S3 中的数据库时,我遇到了一个错误 - 说它不知道复制定义。
任何熟悉路由声明的人?
谢谢。
解决方案
路由的关键是它们都需要在同一个复制系统中,这意味着它们必须共享相同的主代表服务器(称为 ID 服务器) - 这包含有关复制服务器设置或域中所有复制服务器的信息众所周知。您可以在一个域中创建许多复制服务器,但是为了使它们能够通过路由链接在一起,它们都必须使用相同的 ID 服务器。
注意:您不能单独设置它们,然后再将它们链接起来。当您设置 RS2 时,您说 RS1 是 id 服务器,并在运行各种 rs_init 菜单以创建 RS2 时将所有必需的信息放入 RS1 的 rs_init 中。
如果这已经正确完成,那么:
首先在 RS1 和 RS2 之间设置路由(通过此处的“创建路由”命令)如果您希望数据在某个点双向流动,那么在 RS1 和 RS2 之间设置双向路由是有意义的,因为根据定义,路由位于一个方向。这意味着您可以在三个 ASE 实例中的任何一个之间设置复制。
注意:您需要检查路由实际上是否完全启动并处于活动状态(通过管理员谁) - 如果没有,那么您需要开始查看代表服务器错误日志以了解失败的原因,例如接口文件中缺少条目、登录问题等。
设置了一个路由,当它们连接到不同的复制服务器时,您可以针对源数据库创建订阅复制定义,并在目标数据库上创建订阅。这可以是表级或数据库级复制定义 (MSA),具体取决于您的目标。
推荐阅读
- reactjs - 为什么我收到一条错误消息说 CacheFirst 未定义?
- php - Symfony 在使用 Doctrine 后挂起
- python - 无法使用 Python 解析目录中的多个文件
- scala - spark-submit '无法将'startDate'强制转换为格式化日期(长)'
- python - Pandas 对特定列的值求和
- c - gdb如何检测pthread?
- r - 如何使用 mvJointModelBayes() 修复不兼容的矩阵尺寸?
- swift - 如何从 RSS 提要中获取图像 url?
- amazon-cloudformation - 模板(即基础设施即代码)相对于 API 调用的优势
- rest - 这是在迭代中进行嵌套rest api调用的最佳方法吗?