![]() ![]() It is probably the function of the message that the KSR code is trying to publish on the channel to its subscribers that is causing the reliable message wait.įor this to dive deeper into, I first need to restate what I’ve said at the beginning: in order to sensibly investigate long times spend in a wait event, any wait event really, the very first thing you need to look for is if the system the database is running on is functioning in a normal way. This means that, for what I’ve seen (for what that’s worth :-D), the KSR code for reliable messaging is unlikely to be an issue itself if you see this event. The second thing to think about is that the KSR/reliable message mechanism to my knowledge itself does not suffer from issues or widespread bugs. Not all messages in the Oracle executable are ‘reliable’ if you take the log writer notification during redo generation in kcrfw_redo_gen_ext>kcrf_commit_force_int for example, it will only signal the log writer if it isn’t signalled before in the first place, and if it does, it’s just a nudge for the log writer to start its task, there is nothing stateful about the message and in the message itself, like an SCN to write up to. That is what ‘reliable’ means with reliable message: all subscribers are guaranteed to have consumed the message. So the first thing to establish is that a reliable message means that the publisher of the message does wait for all subscribers of the channel it published its message on to have finished consuming the message. ![]() – The publisher waits for up to one second and then retests if all subscribers have consumed the message. – The message publisher waits on this wait event until all subscribers have consumed the message. – A message send using the KSR intra-instance broadcast service. It does tell something about what a reliable message is: The reliable message note on My Oracle Support provides a good description: It should be noted that normally, this should not be a prominent wait, and if it does so, the most logical cause would be something that is not working as it should, either by oversubscribing something or simply because of a bug. ![]() This blog is about the oracle database wait event ‘reliable message’. ![]()
0 Comments
Leave a Reply. |