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的过程基本上都是这样。