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 服务器 - 数据库管理 » 高可用性和只读向外扩展系统 » SQL Anywhere Veritas 聚簇服务器代理 » SADatabase 代理配置

 

测试 SADatabase 代理

您可以在 Interactive SQL 中测试 SADatabase 代理故障转移。

前提条件

要使用 SQL Anywhere Veritas 聚簇服务器代理,系统必须进行如下设置:

  • 必须使用 Veritas Cluster Server 4.1 或更高版本。

  • 在聚簇中的每个系统节点上必须以完全相同的方式来安装 SQL Anywhere。

  • 数据库文件必须存储在聚簇中所有系统均可访问的共享存储设备上。

  • 聚簇中所有系统的实用程序数据库口令必须相同。

    SADatabase 代理使用实用程序数据库启动和停止特定数据库文件。参与聚簇的所有系统必须具有相同的实用程序数据库口令。通过在启动数据库服务器时指定 -su 服务器选项,可以设置实用程序数据库口令。

  • 在 Unix 上,VCS 代理安装在 $SQLANY16/vcsagent/saserver 中。

您必须对从中进行选择的表具有 SELECT 特权,或具有 SELECT ANY TABLE 系统特权。

停止网络服务器上的数据库所需要的特权由数据库服务器 -gd 选项决定。用于停止网络服务器上的数据库的缺省系统特权为 SERVER OPERATOR。

 任务
  1. 从 Interactive SQL 连接到数据库。例如:

    dbisql -c "UID=DBA;PWD=sql;Server=VCS;HOST=HostName"
  2. 执行以下查询:

    SELECT * FROM Departments;

    该查询应无错误地执行。

  3. 假定数据库发生故障,并且在第一个系统节点上运行的数据库服务器不能访问数据库文件。这将创建数据库文件到在第二个系统节点上启动的数据库服务器的故障转移。通过发出以下类似命令会导致第一个节点上的数据库文件发生故障:

    dbisql -q -c "UID=DBA;PWD=sql;Server=VCS1;DBN=utility_db" STOP DATABASE DEMO ON VCS1 UNCONDITIONALLY;

结果

第一台计算机上的数据库文件发生故障。在 Veritas 聚簇服务器能够识别出该文件已出现故障之前会有一个延迟,因为在缺省情况下,Veritas 聚簇服务器会每隔 60 秒钟监控一次其资源的运行状况(可在资源配置中将此间隔设置小些)。随后,该数据库文件会故障转移到第二台计算机上,并使用第二台计算机上的数据库服务器启动该数据库文件,这个数据库服务器的名称可能与原数据库服务器的名称不同。

例如,如果新数据库服务器称为 VCS2,则客户端必须在各自的连接字符串中指定新的数据库服务器名称:

"UID=DBA;PWD=sql;Server=VCS2;DBN=DEMO;HOST=HostName"

下一个

从 Interactive SQL 重新连接。您应该能够成功地连接和执行查询。

 另请参见