Re: Wait: Reliable message P1: Channel context

  • From: Mladen Gogala <gogala.mladen@xxxxxxxxx>
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Sun, 14 May 2023 22:08:48 -0400

On 5/14/23 21:12, Jack van Zanen wrote:

Hi All


I am trying to find out what the wait
Reliable message with P1 channel context is. I have tried google but no dice
One of my sessions seem to encounter it a fair bit

Oracle  12.2.01


Thank you

Jack van Zanen


Hi Jack!

That is normally an idle message saying that one process is waiting on an IPC message from another. However, there are some bugs:


     _Bug 32382667  High Reliable Message Wait From 8-Node RAC Database
     at ADB_

 This note gives a brief overview of bug 32382667.
 The content was last updated on: 27-MAR-2023
/Click here <https://support.oracle.com/epmos/faces/DocumentDisplay?parent=DOCUMENT&sourceId=32382667.8&id=245840.1> for details of each of the sections below./



     _Affects:_

   *Product (/Component/)*      Oracle Server (Rdbms)
   *Range of versions /believed/ to be affected*        Versions BELOW 21.3
   *Versions /confirmed/ as being affected*     

     * 19.16.0
       
<https://support.oracle.com/epmos/faces/DocumentDisplay?parent=DOCUMENT&sourceId=32382667.8&id=245840.1#AFFECTS_19.16>

     * 19.5.0
       
<https://support.oracle.com/epmos/faces/DocumentDisplay?parent=DOCUMENT&sourceId=32382667.8&id=245840.1#AFFECTS_19.5>


   *Platforms affected*         Generic (all / most platforms affected)


     _Fixed:_



So, your recourse is simple: upgrade to 21.3 or newer. Preferably, you should upgrade to 23c, as that is the next long term support version. Oh,  by the way, the "free version for developers" is what used to be know as XE. You can't exceed 12 GB and relink command doesn't work, which means that you cannot patch it.

Other than that, there is a parameter regulating the size of of the reliable message:


   SQLcl: Release 23.1 Production on Sun May 14 22:01:35 2023

   Copyright (c) 1982, 2023, Oracle.  All rights reserved.

   Last Successful login time: Sun May 14 2023 22:01:36 -04:00

   Connected to:
   Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
   Version 19.18.0.0.0

   SQL> show parameter message
   NAME                            TYPE    VALUE
   ------------------------------- ------- -----
   parallel_execution_message_size integer 16384


The smaller the message size is, the more message packets you need. You can bump up the message size to 64K (65536) and you will presumably need fewer of them. That will not fix the bug, after all we all know how solid Oracle bugs are, but will make the message a bit less frequent. Here is the manual for the parameter:


   PARALLEL_EXECUTION_MESSAGE_SIZE

|PARALLEL_EXECUTION_MESSAGE_SIZE| specifies the size of messages used for parallel execution (formerly referred to as parallel query, PDML, Parallel Recovery, replication).

Property        Description

Parameter type

        

Integer

Default value

        

Operating system-dependent

Modifiable

        

No

Modifiable in a PDB

        

No

Range of values

        

Minimum: 2148

Maximum: 65536, but some operating systems may have a smaller value

Basic

        

No

Oracle RAC

        

Multiple instances must have the same value.

On most platforms, the default value is as follows:

 *

   |16384| bytes if |COMPATIBLE| is set to |11.2.0| or higher

 *

   |2148| bytes if |COMPATIBLE| is less than |11.2.0|

The default value is adequate for most applications. Larger values require a larger shared pool. Larger values result in better performance at the cost of higher memory use. For this reason, replication gets no benefit from increasing the size.

Regards


--
Mladen Gogala
Database Consultant
Tel: (347) 321-1217
https://dbwhisperer.wordpress.com

Other related posts: