Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (中文) » SQL Anywhere 服务器 - 数据库管理 » 高可用性和只读向外扩展系统 » 数据库镜像 » 设置数据库镜像系统

 

使用复制节点作为仲裁服务器

如果您不想创建新的数据库服务器来运行只读向外扩展系统所属镜像系统的仲裁服务器,则可将一个服务器配置为在系统中既充当复制节点又充当仲裁服务器。

前提条件

您必须具有 MANAGE ANY MIRROR SERVER 系统特权。

此任务涉及到备份数据库副本。请根据所选的备份方法参见适用于该方法的特权。

 任务
  1. 停止您同时想将其用作仲裁服务器的复制节点。

  2. 选择以下选项之一:

    选项 操作
    将仲裁服务器添加到现有复制节点
    1. 使用 -xf 和 -xa 数据库服务器选项启动复制节点。例如:

      dbsrv16 -n scaleout_child_demo -su sql -x "tcpip(PORT=6873)" -xf "c:\scaleoutdemo\copynode\arbiter.state" -xa "AUTH=abc;DBN=scaleoutdemo" "c:\scaleoutdemo\copynode\scaleoutdemo.db" -xp on
    2. 创建仲裁服务器定义,使其名称与镜像系统中的任何数据库服务器的服务器名称都不匹配。执行 CREATE MIRROR SERVER 语句。例如:

      CREATE MIRROR SERVER myarbiter 
      AS ARBITER
      connection_string = 'SERVER=scaleout_child_demo;HOST=localhost:6873';
    将复制节点添加到现有仲裁服务器
    1. 停止现有仲裁服务器。

    2. 连接到主服务器并删除现有仲裁镜像服务器定义。

    3. 从主服务器中,使用不同的名称(但在 connection_string 中使用实际服务器名)创建新的仲裁镜像服务器定义。例如:

      CREATE MIRROR SERVER newarbiter 
      AS ARBITER
      connection_string = 'SERVER=actual_server_name;HOST=arbiter_host:6870';
    4. 创建镜像数据库的备份,并将此备份复制到要运行复制节点的计算机上。

    5. 重新启动仲裁服务器,但在服务器命令中加入 mirrored.db -xp ON,其中 mirrored.db 是镜像数据库的名称。

结果

仲裁服务器同时也运行向外扩展复制节点。

例如,使用以下服务器定义的监控和只读向外扩展系统中没有名为 TheArbiter 的数据库服务器。

CREATE MIRROR SERVER "scaleout_child" 
AS COPY 
connection_string = 'SERVER=scaleout_child;HOST=winxp-2:6878';
CREATE MIRROR SERVER "TheArbiter"
AS ARBITER 
connection_string = 'SERVER=scaleout_child;HOST=winxp-2:6878';

 另请参见