This bug is only relevant when using Real Application Clusters (RAC) and Parallel Query (PQO)
Hang issue during slave join period and have to kill slave process to end the
hang.
Rediscovery:
A PPA* slave that is busy is thought to be available by a QC and
is asked to join, but the slave cannot report back to the QC, so
it hangs and has to be killed.
You may run the following queries and see no rows returned from
the first one, and PPA* slaves returned from the second one:
1. No Query slaves running.
select
decode(px.qcinst_id,NULL,username,
' - '||lower(substr(s.program,length(s.program)-4,4) ) ) "Username",
decode(px.qcinst_id,NULL, 'QC', '(Slave)') "QC/Slave" ,
to_char( px.server_set) "Slave Set",
to_char(s.sid) "SID",
decode(px.qcinst_id, NULL ,to_char(s.sid) ,px.qcsid) "QC SID",
px.req_degree "Requested DOP",
px.degree "Actual DOP"
from
v$px_session px,
v$session s
where
px.sid=s.sid (+)
and
px.serial#=s.serial#
order by 5 , 1 desc
/
no rows selected
...
2. But PPA4/PPA5/PPA6/PPA7 are busy.
SQL> select SLAVE_NAME from V$PQ_SLAVE where STATUS='BUSY';
SLAV
----
PPA4
PPA5
PPA6
PPA7
Additional Info:
Any parallel slave process (p00*) can be affected by this bug and is not constrained to PPA* slaves.
Workaround
None.