天天看点

<<Sybase ASE in Action全程实践>>之一: 第2章 License的使用

Sybase ASE 15.X IN ACTION (Sybase ASE 15.X数据库全程实践>>终于马上要面市了。到时候,会给出详细的链接地址。

我们在介绍安装ASE的时候,我们可以选择安装评估版(Evaluation),也可以选择基于已有的license执行安装。对于已经购买了ASE的正式用户而言,他们都可以得到正式的license文件。(Sybase的license基于SySAM:Sybase软件资产管理进行统一的许可管理,这个许可,就是license。)

2.1 评估版License

对于初学者,或者没有正式购买Sybase数据库的用户而言,使用评估版(Evaluation)License是最合适的,它提供了30天的完全免费试用,支持当前版本的所有功能。一旦License过期,ASE则不能正常启动,在错误日志文件:%SYBASE%\%SYBASE_ASE%\install\errorlog里会提示相关信息:

下边的输出显示的是一个License过期的示例:

00:00000:00000:2012/04/13 07:49:29.09 kernel  Registry keys for event logging are missing.

00:00000:00000:2012/04/13 07:49:29.45 kernel  SySAM: Using licenses from:D:\SybaseASE\\SYSAM-2_0\licenses

00:00000:00000:2012/04/13 07:49:29.67 kernel  SySAM: Failed to obtain 1 license(s) forASE_CORE feature from license file(s) or server(s).

00:00000:00000:2012/04/1307:49:29.67 kernel  SySAM: Feature hasexpired.

00:00000:00000:2012/04/1307:49:29.67 kernel  SySAM: Licensefeature name:  ASE_CORE

00:00000:00000:2012/04/1307:49:29.67 kernel  SySAM: Expiredate:   31-mar-2010

00:00000:00000:2012/04/13 07:49:29.67 kernel  SySAM: License search path:  D:\SybaseASE\\SYSAM-2_0\licenses\SYBASE.lic;D:\SybaseASE -

00:00000:00000:2012/04/13 07:49:29.67 kernel  SySAM:   \\SYSAM-2_0\licenses\SYBASE_ASE_DE.lic

00:00000:00000:2012/04/13 07:49:29.67 kernel  SySAM: FLEXnet Licensing error:-10,32

00:00000:00000:2012/04/13 07:49:29.67 kernel  SySAM: For further information, refer to theSybase Software Asset Management website at http://www.sybase.com/sysam

00:00000:00000:2012/04/13 07:49:29.67 kernel  There is no valid license for ASE serverproduct. Installation date is not found or installation grace period hasexpired. Server will not boot.

上边提示这个License已经在2010年3月21号过期了。对于初始学习ASE数据库的人来说,如果License过期,重装ASE是比较费时的一个工作。

其实ASE采用的License类型取决于一个一个属性文件,它位于%SYBASE%\%SYBASE_ASE%\sysam\<hostname>.properties里,它的头几行有这样的内容:

PE=EE

LT=SR

            它们分别表示Product Edition和Licence Type,这里EE表示企业版(Enterprise Edition),如果没有有效的License,最多只有30天的使用期。如果是评估版,对应的LT应该是CP。

其实,ASE对某些版本已经放开了,比如如果PE值为DE(个人开发版)时,15.x以后已经没有使用期限的限制了,这时LT值必须为DT(Developing and Test)。当PE值为XE(试验版ExpressEdition),LT为CP。

所以,遇到这种情况,我们可以直接修改这个属性文件,使其成为开发版或者个人免费体验版。

            1)  开发版

PE=DE

LT=DT

2)  个人体验版

PE=XE

LT=CP

这两种配置一般都能让ASE正常启动,只不过多了一些限制了。

如果想一直使用企业版的评估版,有一种方法,是安装一个与目标主机名相同的虚拟机,安装一个评估版的ASE,然后复制上述属性文件到目标主机的相同位置。这样也是可行的。

2.2 License的正式获取及使用

你在安装和使用了一段时间评估版的ASE之后,如果购买了正式的License,需要重新安装ASE吗?答案是不用重装。因为除了License信息以外,评估版和其它版本没有任何区别。

在购买完Sybase产品以后,会让你去官网注册一个帐户,并登记一个邮箱。获取License的官网地址是:SPDC(Sybase Product Download Center):  https://sybase.subscribenet.com/

申请成功之后,会收到具体的生成License文件的网址,按照那个网址上的提示,可以一步步生成想要的License。

生成License的输入信息就是你机器的hostid,如何得知自己机器的hostid呢?

运行目录%SYBASE%\SYSAM-2_0\bin下的命令行:

lmutil lmhostid 可以得到相应值。

该命令得到的hostid的具体值类型跟具体的操作系统有关,它对应的操作系统底层命令如下表所示:

操作系统 HostID类型 原始命令
Windows 网卡mac地址 Ipconfig /all 查看physical address那一段
Solaris 32位hostid hostid
Linux/Mac OS 网卡mac地址 ifconfig echo0
IBM AIX 32位hostid

uname -m (返回

 000276513100), 这时要掉首尾的0,保留中间的8位

SGI 32位hostid /etc/sysinfo –s (转换成16进制)
HP-UX PA-RISC 32位hostid uname –I ((转换成16进制)
HP-UX Itanium 机器ID getconf CS_PARTITION_IDENT (加上前缀"ID_STRING=")

比如在我的测试机器上,得到的是这样的hostid信息:

D:\SybaseASE\SYSAM-2_0\bin>lmutil lmhostid

lmutil - Copyright (c) 1989-2006 Macrovision Europe Ltd. and/or MacrovisionCorporation. All Rights

Reserved.

The FLEXlm host ID of this machine is ""00ff30cc1c8b 00234ed7891a 0024e891ec18 08002700582f""

Only use ONE from the list of hostids.

这里出现了4个网卡地址。我们只能用其中的一个MAC地址去申请License。一般来说,你用的MAC地址必须是你主机上提供对外网络访问的网卡的MAC地址,也就是主IP地址对应的MAC地址。

当然你也可以换成主机上硬盘的ID来代替hostid。其命令是:

D:\SybaseASE\SYSAM-2_0\bin>lmutil lmhostid -vsn

lmutil - Copyright (c) 1989-2006 Macrovision Europe Ltd.and/or Macrovision Corporation. All Rights

Reserved.

The FLEXlm host ID of this machine is"DISK_SERIAL_NUM=8060e304"

最终结果是在硬盘序列号前头加了前缀:DISK_SERIAL_NUM=,在没有网卡的机器上或者网卡太多的机器上使用这种hostid还是有意义的。

在获取完license文件以后,将其放到%SYBASE%\SYSAM-2_0\licenses目录下边,找到该license对应的PE=<>;LT=<>实际值,然后修改%SYBASE%\%SYBAS_ASE%\sysam\<host>.properties,将PE和LT的值改成跟license文件中的值保持一样即可。

这就是使用license文件的基本过程。Sybase的产品获取license和最终使用license的过程基本上都是这样。