创建包含三个镜像数据库的数据库镜像系统,这三个镜像数据库均使用同一个仲裁服务器。
前提条件
本课假定您开始下面教程时拥有权限部分中列出的角色和特权: 教程:创建多个数据库共享一个仲裁服务器的数据库镜像系统
创建以下目录:
使用 newdemo.bat 创建 SQL Anywhere 16 示例数据库 (demo.db) 的副本。运行以下命令:
newdemo.bat c:\server1\one.db |
运行以下命令:
newdemo.bat c:\server1\two.db |
从 c:\server1 目录运行以下命令:
newdemo.bat c:\server1\three.db |
启动名为 server1 的数据库服务器:
dbsrv16 -n server1 -x tcpip(PORT=6871) -su sql c:\server1\one.db -xp on c:\server1\two.db -xp on c:\server1\three.db -xp on |
建议您加入 -su 选项以指定实用程序数据库的口令,这样您就可以在需要时连接到实用程序数据库以关闭数据库服务器。请参见停止镜像系统中的数据库服务器。
从 Interactive SQL 连接到数据库一,并定义所需的镜像对象:
dbisql -c "UID=DBA;PWD=sql;SERVER=server1;DBN=one" |
将 server1 定义为数据库一的伙伴服务器:
CREATE MIRROR SERVER server1 AS PARTNER connection_string='SERVER=server1;host=localhost:6871' state_file='c:\\server1\\server1state.txt'; |
将数据库服务器 primary_one 定义为数据库一的逻辑主服务器:
CREATE MIRROR SERVER primary_one AS PRIMARY connection_string='SERVER=primary_one;host=localhost:6871,localhost:6872'; |
将 server2 定义为数据库一的伙伴服务器:
CREATE MIRROR SERVER server2 AS PARTNER connection_string='SERVER=server2;host=localhost:6872' state_file='c:\\server2\\server2state.txt'; |
将数据库服务器 mirror_one 定义为数据库一的逻辑镜像服务器:
CREATE MIRROR SERVER mirror_one AS MIRROR connection_string='SERVER=mirror_one;host=localhost:6871,localhost:6872'; |
定义仲裁服务器:
CREATE MIRROR SERVER arbiter AS ARBITER connection_string='SERVER=arbiter;HOST=localhost:6870'; |
为数据库镜像系统设置镜像选项:
SET MIRROR OPTION authentication_string='abc'; |
与 Interactive SQL 断开连接。
为 c:\server2 目录中的数据库制作备份副本:
dbbackup -c "UID=DBA;PWD=sql;SERVER=server1;DBN=one" c:\server2 |
从 Interactive SQL 连接到数据库二,并定义所需的镜像对象:
dbisql -c "UID=DBA;PWD=sql;SERVER=server1;DBN=two" |
将 server1 定义为数据库二的伙伴服务器:
CREATE MIRROR SERVER server1 AS PARTNER connection_string='SERVER=server1;host=localhost:6871' state_file='c:\\server1\\server1state.txt'; |
将数据库服务器 primary_two 定义为数据库二的逻辑主服务器:
CREATE MIRROR SERVER primary_two AS PRIMARY connection_string='SERVER=primary_two;host=localhost:6871,localhost:6872'; |
将 server2 定义为数据库二的伙伴服务器:
CREATE MIRROR SERVER server2 AS PARTNER connection_string='SERVER=server2;host=localhost:6872' state_file='c:\\server2\\server2state.txt'; |
将数据库服务器 mirror_two 定义为数据库二的逻辑镜像服务器:
CREATE MIRROR SERVER mirror_two AS MIRROR connection_string='SERVER=mirror_two;host=localhost:6871,localhost:6872'; |
定义仲裁服务器:
CREATE MIRROR SERVER arbiter AS ARBITER connection_string='SERVER=arbiter;HOST=localhost:6870'; |
为数据库镜像系统设置镜像选项:
SET MIRROR OPTION authentication_string='def'; |
与 Interactive SQL 断开连接。
为 c:\server2 目录中的数据库制作备份副本:
dbbackup -c "UID=DBA;PWD=sql;SERVER=server1;DBN=two" c:\server2 |
从 Interactive SQL 连接到数据库三,并定义所需的镜像对象:
dbisql -c "UID=DBA;PWD=sql;SERVER=server1;DBN=three" |
将 server1 定义为数据库三的伙伴服务器:
CREATE MIRROR SERVER server1 AS PARTNER connection_string='SERVER=server1;host=localhost:6871' state_file='c:\\server1\\server1state.txt'; |
将数据库服务器 primary_three 定义为数据库三的逻辑主服务器:
CREATE MIRROR SERVER primary_three AS PRIMARY connection_string='SERVER=primary_three;host=localhost:6871,localhost:6872'; |
将 server2 定义为数据库三的伙伴服务器:
CREATE MIRROR SERVER server2 AS PARTNER connection_string='SERVER=server2;host=localhost:6872' state_file='c:\\server2\\server2state.txt'; |
将数据库服务器 mirror_three 定义为数据库三的逻辑镜像服务器:
CREATE MIRROR SERVER mirror_three AS MIRROR connection_string='SERVER=mirror_three;host=localhost:6871,localhost:6872'; |
定义仲裁服务器:
CREATE MIRROR SERVER arbiter AS ARBITER connection_string='SERVER=arbiter;HOST=localhost:6870'; |
为数据库镜像系统设置镜像选项:
SET MIRROR OPTION authentication_string='ghi'; |
与 Interactive SQL 断开连接。
为 c:\server2 目录中的数据库制作备份副本:
dbbackup -c "UID=DBA;PWD=sql;SERVER=server1;DBN=three" c:\server2 |
启动名为 server2 的数据库服务器:
dbsrv16 -n server2 -x tcpip(PORT=6872) -su sql c:\server2\one.db -xp on c:\server2\two.db -xp on c:\server2\three.db -xp on |
启动仲裁服务器。
dbsrv16 -n arbiter -su sql -x tcpip(port=6870) -xf c:\arbiter\arbiterstate.txt -xa "AUTH=abc,def,ghi;DBN=one,two,three" |
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |