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

SQL Anywhere 12.0.1 » SQL Anywhere 服务器 - 数据库管理 » 数据库维护 » SQL Anywhere 高可用性

 

数据库镜像系统设置

在启动即将参与镜像系统的数据库服务器时,必须指定 -xp on。还建议您包括 -su 选项以指定实用程序数据库的口令。这样,您可以使用实用程序数据库来关闭数据库服务器,或者在必要时强制镜像服务器成为主服务器。请参见停止镜像系统中的数据库服务器强制数据库服务器成为主服务器

有关在数据库镜像系统中涉及的升级 SQL Anywhere 或重建数据库的信息,请参见在数据库镜像系统中升级 SQL Anywhere 软件和数据库

注意

当设置数据库镜像系统时,在以下所有示例中,localhost 和端口号需要更改为即将运行相应数据库服务器的计算机名和端口。

 ♦ 设置镜像系统
  1. 使用 -su-xp on 选项启动将在数据库服务器中进行镜像的数据库。例如:

    dbsrv12 -n mirror_server1 -x tcpip(PORT=6871;DOBROAD=no) -su sql 
    "c:\server1\mymirrordb.db" -xp on

    请参见-su dbeng12/dbsrv12 服务器选项-xp dbsrv12 数据库选项

  2. 使用 CREATE MIRROR SERVER 语句定义数据库的伙伴服务器和仲裁服务器。必须将一个数据库服务器定义为主服务器,将一个数据库服务器定义为镜像服务器,仲裁服务器亦如此。还必须在数据库镜像系统中将主服务器和镜像服务器定义为伙伴服务器。

    第一个语句用于定义客户端连接至数据库镜像系统中担当主服务器的数据库服务器所使用的名称。第二个语句用于将 mirror_server1 服务器定义为数据库镜像系统中的伙伴服务器。

    CREATE MIRROR SERVER myprimary
    AS PRIMARY
    connection_string='SERVER=myprimary;HOST=localhost:6871,localhost:6872';
    
    CREATE MIRROR SERVER mirror_server1
    AS PARTNER
    connection_string='SERVER=mirror_server1;host=localhost:6871'
    state_file='c:\\server1\\server1.state';

    以下 SQL 语句用于定义在数据库服务器中担当镜像服务器的数据库服务器的名称,还定义数据库镜像系统中的第二个伙伴服务器:

    CREATE MIRROR SERVER mymirror
    AS MIRROR
    connection_string='SERVER=mymirror;HOST=localhost:6871,localhost:6872';
    
    CREATE MIRROR SERVER mirror_server2
    AS PARTNER
    connection_string='SERVER=mirror_server2;host=localhost:6872'
    state_file='c:\\server2\\server2.state';
    注意

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

    以下 SQL 语句用于为数据库镜像系统定义仲裁服务器:

    CREATE MIRROR SERVER myarbiter
    AS ARBITER
    connection_string ='SERVER=myarbiter;HOST=localhost:6870';

    请参见CREATE MIRROR SERVER 语句

  3. 为镜像系统设置镜像选项。必须指定验证字符串。例如:

    SET MIRROR OPTION authentication_string='abc';

    请参见SET MIRROR OPTION 语句

  4. 在将运行第二个数据库服务器的计算机上制作数据库、当前事务日志以及任何其它事务日志的副本。

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

    如果您将运行着将要制作镜像的数据库的数据库服务器停止,您可以复制文件;否则使用 BACKUP DATABASE 语句或备份实用程序 (dbbackup)。请参见BACKUP 语句备份实用程序 (dbbackup)

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

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

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

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

    提示

    将您的数据库镜像系统添加到 SQL Anywhere 监控器的资源列表中即可对其进行监控。 请参见第 3 课:监控数据库镜像系统

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

 配置镜像服务器间的连接字符串
 另请参见
 连接到镜像数据库服务器

初始主服务器
首选数据库服务器
配置在镜像服务器上运行的数据库的只读访问
强制数据库服务器成为主服务器
使用复制节点作为仲裁服务器
主服务器上的故障转移
停止镜像系统中的数据库服务器
镜像服务器删除
主服务器故障
数据库镜像和 MobiLink
数据库镜像和事务日志文件
数据库镜像系统事件
数据库镜像和性能
数据库镜像和备份
数据库镜像情形
数据库镜像断开连接的情形