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 和 SERVER OPERATOR 系统特权。

上下文和注释

在本教程中,所有数据库服务器都运行在同一台计算机上。但是在生产环境中,每个数据库服务器必须安装在单独的计算机上。

如果本教程与运行在不同计算机上的数据库服务器一起使用,则连接字符串中 localhost 的引用必须改为实际计算机的名称。

 任务
  1. 使用 -su-xa-xf 选项启动将成为仲裁服务器的服务器。例如:

    mkdir arbiter2
    dbsrv16 -n demo_arbiter2 -x "tcpip(port=6873)" -xf c:\arbiter2\arbiter2.state -xa "AUTH=abc;DBN=mirror_demo" -su sql
    选项 说明
    -su 实用程序数据库的口令。
    -xa 仲裁服务器的数据库名和验证字符串。
    -xf 镜像系统状态信息文件的位置。
  2. 连接到镜像系统的主服务器并更改仲裁服务器定义。

    1. 运行以下命令以连接到主服务器。

      dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_demo_primary;HOST=localhost:6871,localhost:6872"
    2. 执行以下命令以将仲裁服务器定义更改为新服务器的定义。

      ALTER MIRROR SERVER demo_arbiter
      AS ARBITER
      connection_string='SERVER=demo_arbiter2;HOST=localhost:6873';

    主服务器和镜像服务器从仲裁服务器断开,然后连接到新的仲裁服务器。

  3. 稍等几秒钟,然后停止旧的仲裁服务器。

    dbstop -y -c "UID=DBA;PWD=sql;SERVER=demo_arbiter;HOST=localhost:6870;DBN=utility_db"
  4. 对镜像系统的 ArbiterState 数据库属性执行强制回应命令,以确保新的仲裁服务器连接到镜像系统。运行以下命令:

    dbping -c "UID=DBA;PWD=sql;SERVER=mirror_demo_primary" -pd ArbiterState

    ArbiterState 属性值已连接:

        SQL Anywhere Server Ping Utility Version 16.0.0.1403
        Type       Property                  Value
        ---------  ----------------          ------------------------------
        Database   ArbiterState              connected
      

结果

仲裁服务器移动到新服务器。