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