Why Are There a Large Number of HVR Processes Running on My Oracle RAC Source Operating System?
Question
Why are there a large number of HVR processes running on my Oracle RAC source operating system?
Environment
- HVR 6
- Source: Oracle RAC
Answer
HVR reads multi-node source transaction logs from Automatic Storage Management (ASM). By default, each capture job creates the following processes:
- Three reader processes for every thread (node)
- One coordinator process
- One parser process
In addition, you may notice more processes than usual if multiple channels feed from the same source. The number of processes each capture job creates multiplies according to the number of channels. To determine the expected number of processes for every capture job, use the following calculation: b = 1 + 3a, where:
- a is the number of RAC nodes on the cluster used by the database being captured from.
- 3 is the default number of reader/parser processes per instance
- b is the total number of processes used by the capture job
If you run N capture jobs against the same source database, expect roughly N × b processes. Depending on your configuration (or failover), a channel’s processes may be placed on different RAC nodes.
Another reason for a large number of HVR processes running on Oracle RAC is that you have defined the action Environment with the parameter Name=HVR_VASM_COUNT, configured with a large number of reader processes for each capture job. Therefore, you may notice more reader processes than the default three if you have set a higher value using this parameter.
To reduce the number of processes running on your Oracle RAC source operating system,
- consolidate your tables into fewer channels
- if you have defined HVR_VASM_COUNT with a large number of reader processes, you can either reduce the number of reader processes or else remove the action definition.