Consultor Eletrônico



Kbase P148796: Clients connected to one database are getting records from a different database.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   30/06/2009
Status: Unverified

SYMPTOM(s):

Clients connected to one database are getting records from another database.

Database does not appear to get shutdown appropriately as there are times that message 334 is missing from the database log file.

<time><Multi/Single> session end. (334)

Multi-user session end. (334)

Databases getting started during system bootup procedures.

Nightly cleanup procedures not completing prior to early morning system reboot.

FACT(s) (Environment):

Windows
PowerPC 64-bit
OpenEdge 10.1C
OpenEdge Category: Database

CAUSE:

Cleanup processes that were suppose to shutdown the database and then remove any left behind <dbname>.lk files were not completing successfully. This meant that there were PID (Process Identifiers) left over in dbname.lk files that were no longer associated with the _mprosrv process created for a specific database. Instead some of these PIDs were now associated with different _mprosrv processes that were associated with different databases.

FIX:

Correct cleanup procedures to ensure that databases are shutdown appropriately using the Progress Explorer or proshut command. If a database is shutdown appropriately via the proshut command or via Progress Explorer, there shouldn't be any leftover .lk files to clean up after. Use of these commands or vehicles to shutdown the database would also ensure that the database log file would contain a valid shutdown message followed by a Multi-user session end message. Example:

[2009/06/30@14:49:40.353-0400] P-4256 T-5980 I BROKER 0: (2248) Begin normal shutdown
[2009/06/30@14:49:41.494-0400] P-4256 T-5980 I BROKER : (334) Multi-user session end.
Also make sure that whatever your cleanup process is, that the database is shutdown appropriately before doing anything else that could negatively impact the database. Removing of .lk files is not a valid manner in getting the database to shutdown. If a database is not shutting down for one reason or another, you can always make use of the force shutdown command/option: proshut <dbname> -F.