Forum Replies Created
-
AuthorReplies
-
We don’t want to loose messages in the recovery DB. The problem using
Code:keybuild rlog; dchain rlog
keybuild elog; dchain elog
did not correct the “Unable to read msg data chain” errors in the DB and we don’t know of any other way (short of totally blowing away the DB) to clear the “Unable to read msg data chain” errors.Of course, if there are no other messages in the recovery DB then re-initializing the DB isn’t a problem. However we’ve seen the case where the recovery DB had several hundred other valid messages. But since these could be for multiple threads it’s hard to extract these messages to a file for later resending.
So, what is the best way to address the issue of “Unable to read msg data chain” errors when the above code does not do the trick?
Thanks much!
We recently had our AIX server with Cloverleaf 5.8.5 go down due to a hardware issue and had “Unable to read msg data chain” errors on recovery DB for several sites. Our troubleshooting directs us to basically follow the same process that Russ indicated (though it also includes an initial removal of rdm.taf from the etc/database folder). After doing this our doc inicates to check hcidbdump -r to see if the error is still present, and if so to basically re-initialize the DB.
I would love more information on how this error occurs and how to correct it without having to re-initialize the database when
Code:keybuild rlog; dchain rlog
keybuild elog; dchain elog
does not resolve the error. Failing that, it would be nice to have information on how to extract what is in the recovery DB (in an easy fashion) before having to re-initialize the DB (and then how to easily resend what was extracted from recovery).Good luck!
I’ve had to pass parse %R in scripts that fire for alerts that are set on multiple threads in order to determine which thread triggered the alert. Having access to the process/thread and other specifics would be very useful.
Ironically something similar to this was part of an training project I just did. I acomplished this using a copy action with the following pre-proc:
set last [lindex $xlateInVals 0]
# iterate over PID;5 to add the OBX with
for {set i 0} {$i < [string length $last]} {incr i} {
xpmstore $xlateId 1(0).OBX($i).#1(0) c [expr $i+1]
xpmstore $xlateId 1(0).OBX($i).#3(0) c Space^Mountain
xpmstore $xlateId 1(0).OBX($i).#5(0) c [string index $last $i]
}
Hope this helps.
-
AuthorReplies