SQL Anywhere 11 (Panorama) 评审指南 Part IV

例程可通过http://www.sybase.com/files/Technical_Documents/PanoramaRevGuide.zip下载
本文档中出现的SQL Anywhere 11在其它地方可能出现为SQL Anywhere Panorama。

镜像服务器上的转移报表功能

数据库镜像是三个数据库服务器的配置,分别运行在不同的计算机上,以维护独立的数据库和事务日志文件的拷贝。主服务器和镜像服务器分别维护着这些文件的备份,而第三个服务器,判定服务器,则用来在需要的时候决定上述两个服务器何时接管数据库。

为了能更充分利用硬件资源,SQL Anywhere 11支持连接至镜像服务器并执行查询。这可将可能会耗费很多资源的报表操作转移至镜像服务器,使主服务器能应对OLTP的压力。

只读镜像服务器例程
本例程演示了如何搭建服务器镜像,故障切换如何发生,以及如何使用镜像服务器达到只读目的。

1. 启动命令行工具,浏览至例程的ReadOnlyMirror目录,并运行setup.bat文件。

本脚本将初始化demo数据库并搭建镜像环境。

2. 运行arbiter.bat以启动判定服务器。
3. 运行server1.bat以启动主服务器。

命令行使用了-sm新选项。该选项用来提供备选镜像服务器名,当连接至只读镜像服务器时必须指定。-sn参数继续提供用来连接至主服务器的备选服务器名。

4. 运行server2.bat启动镜像服务器。

一旦所有的服务器均启动后,可在不同的服务器窗口中检查消息,或在状态文件(./Mirror/*.txt)中查看内容,找出哪个服务器是主服务器,哪个服务器是镜像服务器。

5. 在命令行中执行以下语句,启动Interactive SQL并连接至主服务器:

dbisql -c "uid=DBA;pwd=sql;eng=mirrordemo;links=tcpip"

6. 执行以下SQL语句查看连接的是哪个服务器(server1或server2):

SELECT PROPERTY( 'ServerName' ), DB_PROPERTY( 'ArbiterState' ),
DB_PROPERTY( 'MirrorState' ), DB_PROPERTY( 'PartnerState' );

 主服务器名出现在结果集中。

7. 执行以下语句,将例程数据加入demo数据库中:

CREATE TABLE test ( col1 INTEGER, col2 CHAR(32) );
INSERT INTO test VALUES( 1, 'Hello from '+PROPERTY( 'ServerName' ) );
COMMIT;

8. 通过命令行中执行以下语句启动另一个Interactive SQL实例,并连接至镜像服务器:

dbisql -c "uid=DBA;pwd=sql;eng=mirrorreadonly;links=tcpip"

9. 执行以下SQL语句查看连接的是哪个服务器(server1或server2):

SELECT PROPERTY( 'ServerName' ), DB_PROPERTY( 'ArbiterState' ),
DB_PROPERTY( 'MirrorState' ), DB_PROPERTY('PartnerState' );

 镜像服务器名应出现在结果集中。

10. 对镜像demo数据库执行以下SQL语句:

SELECT * FROM test;

 请注意,test表的数据通过主服务器传送至镜像服务器。

11. 停止第三步启动的主服务器,触发故障切换(点击数据库消息窗口的关闭,或通过Windows任务管理器终止进程)。

如果警告消息显示服务器上尚存一个连接,请点击确定,即强制关闭。

注意:数据库服务器消息窗口通过双击系统托盘上的SQL Anywhere图标打开。

12. 在第五步中启动的Interactive SQL会话就失去连接了。注意,链接到只读镜像服务器的会话依然保持。实际上,镜像服务器现在已经升级为主服务器,只读连接自动变为可读可写。可通过以下SQL语句验证:

INSERT INTO test VALUES( 1, 'Hello from '+PROPERTY( 'ServerName' ) );
COMMIT;

13. 查看test表的数据:

SELECT * FROM test;

14. 可再次运行server1.bat文件重启server1。注意server2将保持主服务器状态直至server2被关闭或server2被主动告知成为镜像服务器。

这样就完成了演示。关闭Interactive SQL并保持服务器窗口。运行clean.bat文件删除本例程生成的文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值