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

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

上下文和注释

在生产镜像系统中,伙伴服务器和仲裁服务器必须分别在不同的计算机上运行。当设置数据库镜像系统时,在以下所有示例中,必须将 localhost 和端口号更改为必须运行相应数据库服务器的计算机名和端口。

 任务
  1. 使用 -su-xp on 选项启动要在数据库服务器中进行镜像的数据库。此服务器变为数据库的一个伙伴服务器,即初始主服务器。数据库必须具有事务日志。例如:

    dbsrv16 -n mirror_server1 -x tcpip(PORT=6871;DOBROAD=no) -su sql "c:\server1\mirror_demo.db" -xp on
  2. 连接到数据库。例如:

    dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_server1"
  3. 使用 CREATE MIRROR SERVER 语句定义数据库的伙伴服务器和仲裁服务器。还需在数据库镜像系统中将主服务器和镜像服务器定义为伙伴服务器。

    例如:

    1. 下面两个 SQL 语句将 mirror_server1 和 mirror_server2 定义为数据库镜像系统中的伙伴服务器:

      CREATE MIRROR SERVER mirror_server1
      AS PARTNER
      connection_string='SERVER=mirror_server1;host=localhost:6871'
      state_file='c:\\server1\\server1.state';
      
      CREATE MIRROR SERVER mirror_server2
      AS PARTNER
      connection_string='SERVER=mirror_server2;host=localhost:6872'
      state_file='c:\\server2\\server2.state';
    2. 以下 SQL 语句可定义:

      • mirror_demo_primary 定义为 mirror_server1 的替代服务器名称。mirror_demo_primary 是客户端连接到用作主服务器的数据库服务器时所使用的名称。

      • mirror_demo_mirror 定义为 mirror_server2 的替代服务器名称。mirror_demo_mirror 是客户端连接到用作镜像服务器的数据库服务器时所使用的名称。

      CREATE MIRROR SERVER mirror_demo_primary
      AS PRIMARY
      connection_string='SERVER=mirror_demo_primary;HOST=localhost:6871,localhost:6872';
      
      CREATE MIRROR SERVER mirror_demo_mirror
      AS MIRROR
      connection_string='SERVER=mirror_demo_mirror;HOST=localhost:6871,localhost:6872';
      
    3. 以下 SQL 语句用于为数据库镜像系统定义仲裁服务器:

      CREATE MIRROR SERVER demo_arbiter
      AS ARBITER
      connection_string ='SERVER=demo_arbiter;HOST=localhost:6870';
  4. 为镜像系统设置镜像选项。必须指定验证字符串。例如:

    SET MIRROR OPTION authentication_string='abc';
  5. 在第二个伙伴服务器所在的计算机上创建主数据库和当前事务日志以及任何其它事务日志的副本。例如,使用 BACKUP DATABASE 语句。

    主服务器计算机和镜像服务器计算机上的事务日志文件必须相同,包括当前事务日志文件的起始偏移。

  6. 在数据库镜像系统中启动第二个数据库服务器:

    dbsrv16 -n mirror_server2 -x tcpip(PORT=6872;DOBROAD=no) -su sql "c:\server2\mirror_demo.db" -xp on
  7. 启动仲裁服务器:

    dbsrv16 -n demo_arbiter -su sql -x "TCPIP(PORT=6870;DOBROAD=no)" -xf "c:\arbiter\arbiter.state" -xa "AUTH=abc;DBN=mirror_demo"

结果

客户端现在可以连接到镜像数据库。

在系统中配置数据库服务器需要主服务器和镜像服务器角色:当客户端连接至数据库服务器时,您为这些服务器提供的名称用作替代服务器名。任一伙伴服务器均可担当主服务器或镜像服务器。

下一个

将您的数据库镜像系统添加到监控器的资源列表中,以对其进行监控。

通过从 Sybase Central 连接至主数据库来检查数据库镜像系统中数据库服务器的状态。[健康和统计] 窗格提供数据库镜像的信息。

 另请参见

数据库镜像系统如何选择主服务器
数据库镜像系统中的事务日志文件管理
使用复制节点作为仲裁服务器