How to avoid gc current block busy

  • From: GG <grzegorzof@xxxxxxxxxx>
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Wed, 25 Sep 2019 10:13:53 +0200

Hello,

I've got this 2 node RAC 11.2.0.4 and an app (actually 3 app servers) which is realy rac unfriendly.

There is a table 'clusternode' with 3 rows  (64kb = 8 blocks) and ever 1-3 sec there is an update run on one of the rac node:

update clusternode set lastheartbeat = sysdate where clusterid = 'oneOftheStringwitClusterId' .

Normaly this query takes 8 li/o and takes below 1sec it is doing full table scan (there is no index on clusteridand Full  table scan is the only possible plan).

But out of nothing it can take ~30 sec (but still 8 logical i/o) and the app is hanging, during that time I can see 'gc current block busy' .

It is 11.2.0.4 and the odd thing is I can not see any interconnect activity on AWR  during the time of the issue (seems like a bug to me).

Is there any way to mitigate such behaviour, my current thoughts:

- node affinity via singleton service

- shutdown 1 rac node and run on 1 node only

- make this table pctfeee 99 ?

Any other ideas ?

Regards.

Greg





--
//www.freelists.org/webpage/oracle-l


Other related posts: