piątek, 19 sierpnia 2011

CTWR Consuming Lots Of Cpu

OS: Red Hat Enterprise Linux AS release 4 (Nahant Update 5) 
Oracle: 11.2.0.2

I received an alert that CPU utilization is high on one of the server.


First look at top command.






oracle@asrwed003(/home/oracle)$ ps auxw | grep 4149 | grep -v grep
oracle    4149 84.9  0.2 2525648 18540 ?     Rs   Aug16 3366:47 ora_ctwr_emrep



CTWR process is the block change tracking one.
Let`s search on the Metalink.
Bingo.

Bug 10170431 - CTWR consuming lots of CPU cycles with block tracking (Doc ID 10170431.8)

CTWR Consuming Lots Of Cpu Cycles With Block Tracking (Doc ID 1310304.1)

There are solution to apply the patch but it requires a downtime.
I use a workaround: disable block change tracking.

Let`s check the session on the database using SQL*Plus.


SQL> select * from v$block_change_tracking;

STATUS FILENAME  BYTES
----------
----------------------------------------------------------------------------------------------------
ENABLED /opt/oracle/admin/emrep/bct/blockchange.track   11599872

SQL> alter database disable block change tracking;

Database altered. 



After that CPU utilization came back to normal.