本教程介绍如何向现有只读向外扩展系统添加镜像系统。只读向外扩展系统的根服务器同时变为镜像服务器。
前提条件
本教程假定您拥有教程:创建只读向外扩展系统中介绍的向外扩展系统,且该系统正在运行。
将只读向外扩展系统中的根节点配置为镜像系统中的主服务器,方法是定义镜像服务器、创建仲裁服务器,并将复制节点转换为镜像系统的镜像伙伴服务器。
您必须具有 MANAGE ANY MIRROR SERVER 系统特权。
本教程涉及到备份数据库副本。请根据所选的备份方法参见适用于该方法的特权。
上下文和注释
在本教程中,所有数据库服务器都运行在同一台计算机上。但是在生产环境中,每个数据库服务器必须安装在单独的计算机上。
如果本教程用于运行在不同计算机上的数据库服务器,则连接字符串中 localhost 的引用必须改为实际计算机的名称。
连接到只读向外扩展系统的根节点。运行以下命令:
dbisql -c "UID=DBA;PWD=sql;SERVER=scaleout_root_demo" |
定义主服务器和镜像服务器。执行以下语句:
-- Alter existing primary to include both partners ALTER MIRROR SERVER scaleout_primary_demo connection_string='SERVER=scaleout_primary_demo;HOST=localhost:6871,localhost:6873'; -- Alter existing Partner to include state file ALTER MIRROR SERVER scaleout_root_demo state_file='c:\\scaleoutdemo\\server1\\server1.state'; -- Define mirror CREATE MIRROR SERVER scaleout_mirror_demo AS MIRROR connection_string='SERVER=scaleout_mirror_demo;HOST=localhost:6871,localhost:6873'; --Convert an existing copy node to the mirror server ALTER MIRROR SERVER scaleout_child_demo connection_string='SERVER=scaleout_child_demo;HOST=localhost:6873' state_file='c:\\scaleoutdemo\\copynode\\server3.state'; |
将现有复制节点转换为镜像服务器。执行以下语句:
--Convert an existing copy node to the mirror server ALTER MIRROR SERVER scaleout_child_demo connection_string='SERVER=scaleout_child_demo;HOST=localhost:6873' state_file='c:\\scaleoutdemo\\copynode\\server3.state'; |
启动将成为镜像系统仲裁服务器的服务器。运行以下命令:
mkdir c:\scaleoutdemo\arbiter |
dbsrv16 -n scaleout_arbiter_demo -su sql -x "TCPIP(PORT=6870)" -xf "c:\\scaleoutdemo\\arbiter\\arbiter.state" -xa "AUTH=abc;DBN=scaleoutdemo" |
连接到根节点并添加仲裁服务器。执行以下语句。
dbisql -c "UID=DBA;PWD=sql;SERVER=scaleout_primary_demo" |
CREATE MIRROR SERVER scaleout_arbiter_demo AS ARBITER connection_string ='SERVER=scaleout_arbiter_demo;HOST=localhost:6870'; |
将现有复制节点转换为镜像服务器。执行以下语句:
ALTER MIRROR SERVER scaleout_child_demo AS PARTNER state_file='c:\\scaleoutdemo\\copynode\\server3.state' |
检查 SYSMIRRORSERVER 表的内容,以验证 scaleout_child_demo 是否为镜像服务器。运行以下命令:
dbisql -c "UID=DBA;PWD=sql;SERVER=scaleout_primary_demo" "SELECT server_name, server_type FROM SYSMIRRORSERVER" |
现在,scaleout_child_demo 服务器成为第二个伙伴服务器。
在客户端应用程序中更新连接字符串,以在 Host 连接参数中指定两个伙伴服务器的地址。例如:
dbping -c "UID=DBA;PWD=sql;SERVER=scaleout_primary_demo;HOST=localhost:6871,localhost:6873" |
(可选)添加其它复制节点。
制作主数据库的备份副本,将其放入 c:\scaleoutdemo\copynode2 目录。
执行以下语句:
BACKUP DATABASE DIRECTORY 'c:\\scaleoutdemo\\copynode2'; |
启动数据库的备份副本,作为 scaleout_root_demo 数据库服务器的子节点(复制节点)。运行以下命令:
dbsrv16 -n scaleout_child2_demo -su sql -x TCPIP(port=6874) "c:\scaleoutdemo\copynode2\scaleoutdemo.db" -xp on |
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |