A common task for any SAP ASE Consultant is the ability to assist the Customer in initiating and determining the most appropriate license for their specific SAP ASE Server. I was asked to validate a number of SAP ASE licenses after a migration to the Linux platform. While there is never a wrong way to determine the licensing setup, there are more efficient methods that have been introduced in later releases of the SAP ASE Server.
Determining the type and validation dates of your SAP ASE license can be a somewhat cryptic and labor intensive operation. Of course you can go to the SAP Self Service Marketplace web site and get an enterprise view of your SAP ASE Server counts and type of licenses. Lets assume for the sake of argument that we are approaching this discovery from the other end, looking at the installed ASE Server base.
For an individual Server instance, SAP ASE licenses are contained in the SYSAM_2_0 directory for both the Windows and Linux environments. In the licenses subdirectory you will find a file typically with the extension *.lic. This contains the licensing information that the ASE Server uses upon startup. Shown is a typical license file with generic details for this demonstration.
Software Asset Management License File. CP License for Sybase ASE
# Enterprise Edition
PACKAGE ASE_EE SYBASE COMPONENTS=ASE_CORE OPTIONS=SUITE SUPERSEDE \
ISSUED=<date> SIGN2="1234 5678 etc"
# License for 012345678 <my hostname>
INCREMENT ASE_EE SYBASE 2014.MMDD permanent uncounted \
VENDOR_STRING=SORT=200;PE=EE;LT=CP HOSTID=<12345678> \
ISSUER="CO=Sybase, Inc.;V=15.0;AS=A;MP=325;CP=4;EGO=" \
ISSUED=<date> NOTICE="<my company name>" \
SIGN2="<1234 5678 etc>"
Extracting the information regarding type and whether this license file is valid can be a daunting and somewhat confusing exercise. These files are meant to be cryptic in nature and are not meant for human consumption to determine licensing type or dates. Additionally one would need file permissions to read the contents of the licensing file. I would rate this method of license discovery as doable but I certainly would not want to do audits on more than one or two of these at a time.
Another common method is to locate the SAP ASE error log and locate the initial ASE Server startup 'point in time' and look at the typical wording to indicate a valid license. Here is an example of the same ASE Server's error log:
00:00:00000:00000:2012/05/20 14:47:34.88 kernel SySAM: Using licenses from: /SYSAM-2_0/licenses/<server name>.lic
00:00:00000:00000:2012/05/20 14:47:34.99 kernel SySAM: Checked out license for 4 ASE_CORE (2014.MMDD/permanent/).
00:00:00000:00000:2012/05/20 14:47:34.99 kernel This product is licensed to: <my company name>
00:00:00000:00000:2012/05/20 14:47:34.99 kernel Checked out license ASE_CORE
00:00:00000:00000:2012/05/20 14:47:34.99 kernel Adaptive Server Enterprise (Enterprise Edition)
00:00:00000:00000:2012/05/20 14:47:34.99 kernel Using config area from primary master device.
00:00:00000:00000:2012/05/20 14:47:35.00 kernel Internal run-time model set for Linux - Native
00:00:00000:00000:2012/05/20 14:47:35.00 kernel Using 8192 file descriptors.
00:00:00000:00000:2012/05/20 14:47:35.00 kernel Adaptive Server Enterprise/15.5/EBF 19902 ...
While there is no issues with this method it might be somewhat time consuming due to the fact we need to again log into the OS and edit the file, locate the startup point and then read the results. I would rate this method of license discovery as just adequate and if I have more than 5 or 10 servers then this could get labour intensive. I might be inclined to write a hunt and seek script featuring the Linux egrep command to help locate the license results.
The latest method available in version 15.5 ASE Servers, is to discover SAP ASE licenses by using the stored procedure: sp_lmconfig . This procedure is designed to avoid locating the licensing information outside of the SAP ASE Server and thereby creating a one-stop shopping approach to information gathering. Here is an example:
exec sp_lmconfig
Parameter Name Config Value
----------------- ------------
edition EE
license type CP
....
License Name Version Quantity Status Expiry Date Server Name
--------------- ---------- -------- ------------ -------------------- --------------------
ASE_HA null 0 not used null null
ASE_ASM null 0 not used null null
ASE_EJB null 0 not used null null
ASE_EFTS null 0 not used null null
ASE_DIRS null 0 not used null null
ASE_XRAY null 0 not used null null
ASE_ENCRYPTION null 0 not used null null
ASE_CORE 2014.MMDD 4 OK Permanent null
ASE_PARTITIONS null 0 not used null null
.......
Property Name Property Value
------------- --------------
PE EE
LT CP
......
CP 4
AS A
While one can argue that this output is still somewhat cryptic, it really is quite readable. This Customer had two questions for me: What type of license do I have and is it a valid license (as opposed to the ASE Server being out of licence of in a grace period)?
From the above output I determined that the license was created as a CPU count license authorized to access 4 CPUs and the license in this case was a valid license that expires in the year 2014.
"ASE_CORE 2014.MMDD 4 OK Permanent "
We can also determine that this Customer has no other options for this ASE Server as the other options are "NULL." The Property value fields as you have probably surmised are: "EE" - Enterprise Edition, "LT" - License Type of CP (CPU count)
The sp_lmconfig command gives us the idea of actually determining what the SAP ASE Server licensing configuration is in a readable format without the bother of looking outside of the ASE Server into the various OS files.
This same licensing discovery path can be done for SAP Replication Server by using the command: "admin lmconfig."
This Field Notes Series is dedicated to observations from the field taken from personal consulting experiences. The examples used have been created for this blog and do not reflect any existing SAP Customer configuration.