EXPUNGE (Project Administration)
- Last UpdatedJan 31, 2025
- 2 minute read
Function:
Removes Users who are accessing the Project, and releases claimed elements in multiwrite Databases (DBs).
Description:
This command can be used to remove phantom Users after abnormal exits. Users who are actually accessing the Project will be removed as soon as they change module.
Note:
Expunging Users removes them from the Comms DB but does not end their session or remove
the file-locks on the DB. To remove these locks, the administrator can use the Microsoft
NETFILE API or proprietary tools like pstools from Sysinternals.
In a Global Project, the administrator can use this command on constructor DBs at Locations which they are administering remotely by prefixing it with the REMOTE <loc> command, where <loc> is the Location identifier. For examples, refer to REMOTE.
In a Global Project, the administrator can use the EXPUNGE DB SYSTEM command to expunge the current administered System DB. The administrator will have to give the ADMINISTER SYSTEM command first if they are administering a Location remotely.
Alternatively the administrator can set the LCPOVW attribute to true, which allows the daemon to overwrite locked files provided there are no DB READERS (as recorded in the Session data in the Comms Database).
Note:
Do not use this facility if the Project has Users from other Projects. Such Users are valid
DB READERS but are not recorded in the Session data for the current Project.
Examples:
EXPUNGE
Expunges all Users. (This should be used with care.)
EXPUNGE ’29f’
Expunges a User identified by their process number.
EXPUNGE USER ’USERA’
Expunges a User identified by their name.
EXPUNGE USER nnnn
Expunges the specified User slot number.
EXPUNGE DB dbname USER usernumber
Expunges given User from given DB. This is allowed even if there are Users accessing the DB. It is the preferred way of freeing unreleased claims.
EXPUNGE DB dbname
Releases elements which have been claimed in a multiwrite DB. These elements may be inaccessible after a User has exited abnormally. This is not allowed if there are current Users accessing the DB.
EXPUNGE DB SYSTEM
Releases elements which have been claimed in a System DB. These elements may be inaccessible after a User has exited abnormally.
EXPUNGE DAEMON
Expunges the Global daemon User (Global Projects only).
Note:
The EXPUNGE DAEMON command does not stop the Global daemon process. The Global daemon User is not expunged
by default - however certain commands (such as MERGE CHANGES on a transaction DB) will fail if there is still a session for the Daemon User.
Command Syntax:
|
.-----<--------------------------------. |
Note:
All the EXPUNGE syntax can be applied to a remote Location in a Global Project by prefixing the command by REMOTE <loc>, where <loc> is the Location identifier. For examples, refer to REMOTE.
Querying:
Q ACTIVE
Related Commands:
For Global Projects:
REMOTE (Global Project Administration)
REMOTE EXPUNGE