Steps required to create a new pmevents.db file:
Stop the services.
E.g on Linux:
# service pmserviced stop
# service pmlogsrvd stop
# service pmloadcheck stop
Make sure that the processes have stopped, or kill them if required:
# killall pmmasterd
# killall pmlogsrvd
Move the old database files:
# cd /var/opt/quest/qpm4u/
# mkdir pmevents_old
# mv pmevents.db* pmevents_old
Create the new database file by running this command:
# /opt/quest/sbin/pmlogadm create /var/opt/quest/qpm4u/pmevents.db
Restart the Privilege Manager for Sudo/Unix processes.
E.g on Linux:
# service pmloadcheck start
# service pmlogsrvd start
# service pmserviced start
Check the new database file with the following command:
# /opt/quest/sbin/pmlogadm info /var/opt/quest/qpm4u/pmevents.db
If a full filesystem caused the database corruption, then there may also be some incomplete event files in the evcache.
You should monitor the pmlogsrvd.log while pmlogsrvd processes the evcache in case there are any reports of invalid records.
These will need to be manually removed from the evcache/events directory.
Potential causes for database corruption:
- There was an issue in pmlogsrvd that could cause database corruption due to use of older sqlite libraries being used. The libraries were updated in Privilege Manager version 6.0.0(063). The fix is also available in the 6.1.0 release.
- manual manipulation of database files
- storage failure (e.g. full filesystem)
- system crash
- unclean shutdown (e.g. kill -9) of pmlogsrvd process
- multiple pmlogsrvd processes running