Chinaunix首页 | 论坛 | 博客
  • 博客访问: 854873
  • 博文数量: 63
  • 博客积分: 1317
  • 博客等级: 中尉
  • 技术积分: 686
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-30 22:07
文章分类

全部博文(63)

文章存档

2015年(4)

2014年(1)

2013年(1)

2012年(2)

2011年(54)

2010年(1)

我的朋友

分类: LINUX

2011-02-16 18:51:04

单位使用SybaseMobilink实现手持设备与中心数据库的数据同步,需要安装配置Mobilink服务器,记录一下安装配置过程。Mobilink功能很强大,我们只是用了一小部分,知识有限,欢迎大家交流。

参考文档:http://blog.csdn.net/wuxiaoyan_home/archive/2009/11/18/4826440.asp

1、获取安装文件

Mobilink的安装文件可以从sybase的官方网站下载到60天的试用版,也可以购买正版,到时候Sybase提供下载地址或光盘。

SQL Anywhere 11.0.1 Developer Edition Download Page

在测试中发现,有些功能必须更高的版本才能提供(具体啥功能忘了:)),所以我们还安装了一个版本升级包。需要2个安装文件:

linux_x86_GA_sa1101_2044_l10n.tar.gz;基本安装文件

sa11_full_linux_x86+x64.1101_2475_ebf.tar.tar;版本升级包,将版本升级到2475.

2、安装过程

安装过程非常简单,解压后,先安装基本文件(ga1101),再安装升级包(ebf1101)。

执行./setup,按照提示一步步执行就可以了,如果是试用版,可以不用输入license

安装组件根据需要选择。不需要数据库功能的可以不安装数据库。

安装完成后,执行sqlanywhere11/bin32/sa_config.sh设置环境变量。

3、查看目前的版本(前提是安装的时候选择了安装监控器)

执行sqlanywhere11/bin32/mlmon,在输出文件末尾有如下信息:

application_version_build="2475" application_version_patch="1"

application_version_minor="0" application_version_major="11"

application="MobiLink 监控器" product="SQL Anywhere Studio"

版本信息一目了然。

4、确定启动项

初始化环境变量以后,就可以执行mlsrv11启动mobilink server了,mobilink的启动参数非常丰富,大部分功能都是 通过启动参数设定的,这些参数也是以后性能调优的主要修改对象。详细用法可以参考官方文档。

基本参数是-c,必须正确指定才能连接到数据库。可以直接在连接串中指定数据库的用户名和密码,如:-c "DSN=test;UID=name;PWD=password";

也可以在odbc.ini文件中配置用户名和密码,此时连接串只需简单写成-c  "DSN=test"

5、配置odbc文件

我们是通过odbc连接中心数据库(有的也叫统一数据库)的,需要配置odbc连接文件,默认情况下是$HOME/.odbc.ini,可以通过export ODBCINI=~/.odbc.ini修改文件名和路径。编辑这个文件,设定odbc驱动,用户名,密码,数据库SID。如

[test]

Description=iAnywhere Solutions 11 - Oracle Driver

Driver=/opt/sqlanywhere11/lib64/libdboraodbc11_r.so

UserID=uid

Password=pwd

SID=

ProcResults=[yes|no]

ArraySize=60000

6、配置tnsnames.ora

在编辑odbc.ini时需要指定数据库的SID,因此还需要配置tnsnames.ora。开始我都是先安装oracle10.2.0,然后配置tnsnames.ora。过程很复杂,而且空间需求很大。后来参考http://blog.csdn.net/wuxiaoyan_home/archive/2009/11/18/4826440.aspx这篇文章,不需要安装整个数据库了,只需简单几步就可完成。引用如下:

SqlPlus安装配置

一、下载oracle 10g sqlplus软件

oracle-instantclient-basic-10.2.0.4-1.i386.rpm

oracle-instantclient-sqlplus-10.2.0.4-1.i386.rpm

oracle-instantclient-devel-10.2.0.4-1.i386.rpm

二、安装rpm

rpm -ivh oracle-instantclient-basic-10.2.0.4-1.i386.rpm

rpm -ivh oracle-instantclient-sqlplus-10.2.0.4-1.i386.rpm

rpm -ivh oracle-instantclient-devel-10.2.0.4-1.i386.rpm

三、指定sqlplus运行所需要的库

由于是RPM包安装的,因此,oracle客户端默认所在的路径为/usr/lib/oracle/10.2.0.4/client/lib/

#vi /etc/ld.so.conf

在最后加入:/usr/lib/oracle/10.2.0.4/client/lib

四、重启ldconfig

ldconfig

五、启动sqlplus

sqlplus /nolog

一、配置oracle环境变量

#vi /etc/profile最后加入

export ORACLE_HOME=/usr/lib/oracle/10.2.0.4/client

export LD_LIBRARY_PATH=:$ORACLE_HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH:.

export TNS_ADMIN=$ORACLE_HOME

export PATH=$PATH:$ORACLE_HOME/bin:.

六、配置连接tnsnames.ora

#cd $ORACLE_HOME加入

test =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = ip)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SID = test )

      (SERVER=DEDICATED )

    )

  )

 7、启动mobilink server

至此,mobilink server就可以启动了。注意日志参数的设置,默认是debug级别,如果业务繁忙,日志量非常大,会影响性能。

8、特别说明
1、高可用设置

这里只说我知道的。
Mobilink启动时可以设定为服务器群模式(增加-ss-lsc-zs参数),文档上说这是个高可用选项,但是我不太清楚具体的用法,咨询sybase的工程师,没有给一个明确的答复。有哪位大侠知道,希望能告知一下。

设置为这个模式以后,当启动两个mobilink server时,日志中显示他们能互相发现,并且加入到一个服务器群中。当一个server停掉时,另一个server能够发现。重新启动以后,有个3分钟的识别过程。具体的用法还有待进一步研究。

实际应用的高可用设置还是通过F5实现的,既负载均衡,又高可用。

2、与数据库有关的一个BUG

前面提到,开始的时候我都是通过安装oracle10.2.0,来实现编辑tnsnames.ora的功能的。在使用了一段时间之后,发现mobilink server无法连接到数据库了。反复检查Mobilink的各个参数之后都没有发现问题。后来发现在mobilink服务器上手工sqlplus数据库也失败,进而查询了解到,这是oracle客户端的一个bug,需要重启系统才能连接或者升级到10.2.0.4版本以后才能解决。

阅读(2666) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~