Skip to main content
ExLibris
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    GUI "License limit exceeded"

    • Article Type: General
    • Product: Aleph
    • Product Version: 20
    • Relevant for Installation Type: Dedicated-Direct; Direct; Local;

    Problem Symptoms:

    Users are unable to log into any GUI module, and receive the "License limit exceeded" error when attempted.

    When looking at the log directory (e.g. /exlibris/aleph/a22_1/log) on the UNIX sever, this message appears in the pc_server_<port>.log:
    Licensed GUI users: nnnnnnnnn
    Active GUI users: nnnnnnnnn
    Error: License limit exceeded

    Causes:
    The "Error: License limit exceeded" message in the pc_server log can be due to one of the following:
    1. Too many GUI users (thus exceeding the license limit).
    2. Missing z65_id Oracle index

    Resolutions:

    1. Too many GUI users: see Article 000037619 ("License limit exceeded or System is overloaded **MASTER RECORD**").
    (Direct link provided in "Additional Information" section of this article).

    2. Missing z65_id Oracle index:
    This is a more common cause for the error.
    Often the most recent (nightly) run to the clear_vir01 process is the cause for the missing z65_id.

    The z65_id is the index of the GUI session table where a new record created every time a computer connects to the pc_server.
    See Article 000036887 ("What is the Z65 table?") for more information; a direct link is provided in "Additional Information" section of this article.

    The vir01 library is a shared library that holds temporary information.
    The clear_vir01 process removes these temporary records.
    See Article 000034880 ("What is the VIR01 library?") for more information; a direct link is provided in "Additional Information" section of this article.

    After logging into the server as the "aleph" user, enter these commands:

    1. dlib vir01
    To access the VIR01 library on the server.

    2. util a/17/14
    To open the Utilities menu and select the "List Exisiting Indexes for a Table" options.

    3. z65
    To view the z65 Oracle table.
    If "Z65_ID" does not appear under "Exist in the Database", this means it is missing.

    4. CTRL+C
    To exit the util menu.

    5. aes
    To open the ./alephe/scratch directory.

    6. ls -lrt *clear_vir01*
    To find only the clear_vir01 log files, sorted oldest to newest.

    7. view <most recent clear_vir01 file>
    To check the latest log to see if it contains messages such as:

    SQL-ALEPH_ADMIN> CREATE UNIQUE INDEX VIR01.Z65_ID ON VIR01.Z65 (Z65_REC_KEY ASC).
    ERROR at line 1:
    ORA-01452: cannot CREATE UNIQUE INDEX; duplicate keys found

    or

    ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired

    The above text confirms the problem's cause because it indicates that a z65 pc_server session was created while clear_vir01 was dropping/creating the z65, preventing the Z65_ID from being built.

    The "Active GUI users" count seen in the pc_server log starts to build until it exceeds the maximum specified in the license.

    Run the clear_vir01 process:

    1. dlib vir01
    To access the VIR01 library on the server.

    2. util x/8
    To open the Utilities menu and select the "Clean Virtual Library (VIR01)" process

    IMPORTANT: If users are currently using the web OPAC or GUI, running clear_vir01 will abort their sessions.
    If the GUI/z65 is the only problem, enter the following commands:

    1. dlib vir01

    2. util a/17/1

    3. vir01

    4. z65
    To "Drop & Create" the z65 table.

    Additional Information

    The cause can be further confirmed after logging into the server as the "aleph" user, and entering these commands:

    1. s+ vir01
    To access the SQL database in the VIR01 library.

    2. select count(*) from z65 where z65_type like 'PC-SERVER%';
    To determine the number of pc_server records exist in the Z65 table.

    3. quit
    To exit the SQL database

    If no clear_vir01 log is found in $alephe_scratch, consult Article 000045416 (clear_vir01 doesn't run *MASTER RECORD*).

    If there is no clear_vir01 log to check for messages, look in the most recent pc_server_<port>.log in the ./log directory (e.g. /exlibris/aleph/a22_1/log) for messages such as:

      Oracle error: update_cursor z65
      ORA-00942: table or view does not exist
    (or io_z65_count, io_z65_write, or "WRITE ERROR")

    If running clear_vir01, in order to prevent servers from interfering, they must be stopped prior to running, and restarted after.
    See Article 000044208 (Restart Servers from job_list) for information.

    To check if clear_vir01 has run without error, use the following commands:
    1. aes
    2. grep ERROR *vir01*
    This will search all the vir01 logs for the word 'ERROR'.
    If no results appear, than it has run successfully.

    [For a general discussion of the "License limit exceeded" condition, see Article 000037619 (License limit exceeded or System is overloaded **MASTER RECORD**).  
    This article describes how to see who is connected.]

    Other articles referenced in this article:
    For more information on Z65, see Article 000036887 (What is the Z65 Oracle Table?)
    For more information on vir01, see Article 000034880 ** What is the VIR01 library? **)

    Category: System management


    • Article last edited: 4/16/2014