Skip to Content

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.

To report this post you need to login first.

2 Comments

You must be Logged on to comment or reply to a post.

  1. Oleksii Kolosov

    Additionaly sp_lmconfig is more prefered because in case of the servered license, there is noting more than sysam host name in the local .lic file. Example:

    SERVER server_host ANY port

    USE_SERVER

    Another one way to obtain license information is a monitoring table master.dbo.monLicense. This table is human-readable and it can be accessed programmatically (when sp_lmconfig is an interface to dbcc lmconfig, what produces output which cannot be so easily captured for example in custom stored procedure).

    Also this table has column LicenseID which contains SIGN2 property from .lic file, so you may identify which exactly lic was picked by server (when you have more than one suitable license)

    Example for monLicense:

    exec master..sp_autoformat ‘monLicense’, ‘Quantity, Name, Edition, Type, Version’

    go

    Quantity Name     Edition           Type                         Version 

    ——– ——– —————– —————————- ———

           4 ASE_CORE Developer Edition Development and test license 2013.1231

    (there more columns)

    (0) 
    1. Jonathan Wesley-James Post author

      True enough and thats also fine.  I’ll just add to your info and say if one wants to look at any of the monitoring tables you need “mon_role” rights.  Thanks for adding your tip to this topic…JWJ

      (0) 

Leave a Reply