分类: LINUX
2011-02-16 18:51:04
参考文档: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.
安装过程非常简单,解压后,先安装基本文件(ga1101),再安装升级包(ebf1101)。
执行./setup,按照提示一步步执行就可以了,如果是试用版,可以不用输入license,
安装组件根据需要选择。不需要数据库功能的可以不安装数据库。
安装完成后,执行sqlanywhere11/bin32/sa_config.sh设置环境变量。
执行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"
版本信息一目了然。
初始化环境变量以后,就可以执行mlsrv11启动mobilink server了,mobilink的启动参数非常丰富,大部分功能都是 通过启动参数设定的,这些参数也是以后性能调优的主要修改对象。详细用法可以参考官方文档。
基本参数是-c,必须正确指定才能连接到数据库。可以直接在连接串中指定数据库的用户名和密码,如:-c "DSN=test;UID=name;PWD=password";
也可以在odbc.ini文件中配置用户名和密码,此时连接串只需简单写成-c "DSN=test"
我们是通过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
在编辑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 )
)
)
至此,mobilink server就可以启动了。注意日志参数的设置,默认是debug级别,如果业务繁忙,日志量非常大,会影响性能。
这里只说我知道的。
Mobilink启动时可以设定为服务器群模式(增加-ss,-lsc,-zs参数),文档上说这是个高可用选项,但是我不太清楚具体的用法,咨询sybase的工程师,没有给一个明确的答复。有哪位大侠知道,希望能告知一下。
设置为这个模式以后,当启动两个mobilink server时,日志中显示他们能互相发现,并且加入到一个服务器群中。当一个server停掉时,另一个server能够发现。重新启动以后,有个3分钟的识别过程。具体的用法还有待进一步研究。
实际应用的高可用设置还是通过F5实现的,既负载均衡,又高可用。
前面提到,开始的时候我都是通过安装oracle10.2.0,来实现编辑tnsnames.ora的功能的。在使用了一段时间之后,发现mobilink server无法连接到数据库了。反复检查Mobilink的各个参数之后都没有发现问题。后来发现在mobilink服务器上手工sqlplus数据库也失败,进而查询了解到,这是oracle客户端的一个bug,需要重启系统才能连接或者升级到10.2.0.4版本以后才能解决。