RelationalDBDesign RelationalDBDesign 



OS Memory Usage   «Prev  Next»
Lesson 7

Oracle Virtual Memory Conclusion

You should now have a firm grasp of the concepts behind virtual memory and its use in the UNIX environment. During this module, you learned to:

Managing Virtual Memory and Paging using Oracle GoldenGate

Because Oracle GoldenGate replicates only committed transactions, it stores the operations of each transaction in a managed virtual-memory pool known as a cache until it receives either a commit or a rollback for that transaction. One global cache operates as a shared resource of an Extract or Replicat process. The Oracle GoldenGate cache manager takes advantage of the memory management functions of the operating system to ensure that Oracle GoldenGate processes work in a sustained and efficient manner. The CACHEMGR parameter controls the amount of virtual memory and temporary disk space that is available for caching uncommitted transaction data that is being processed by Oracle GoldenGate. When a process starts, the cache manager checks the availability of resources for virtual memory, as shown in the following example:

CACHEMGR virtual memory values (may have been adjusted)CACHESIZE:
32GCACHEPAGEOUTSIZE (normal): 8M PROCESS VM AVAIL FROM OS (min): 63.97GCACHESIZEMAX
(strict force to disk): 48G

If the current resources are not sufficient, a message like the following may be returned:
2013-11-11 14:16:22 WARNING OGG-01842 CACHESIZE PER DYNAMIC DETERMINATION (32G) LESS
THAN RECOMMENDED: 64G (64bit system)vm found: 63.97GCheck swap space.
Recommended swap/extract: 128G (64bit system).
If the system exhibits excessive paging and the performance of critical processes is affected, you can reduce the CACHESIZE option of the CACHEMGR. parameter. You can also control the maximum amount of disk space that can be allocated to the swap directory with the CACHEDIRECTORY option.

Module review

You should be familiar with the following concepts in order to tune the memory of your OS:
  1. The OS will freely allocate memory to all tasks on the database server.
  2. When the Oracle database starts, RAM memory is allocated for the SGA.
  3. Dedicated listener processes will also consume memory according to the sort_area_size init.ora parameter.
  4. vmstat utility is a great way to monitor memory swapping.
  5. The pi column in vmstat shows memory swapping.
  6. Savvy DBAs often store vmstat data inside Oracle tables for later analysis.
  7. If you experience memory swapping you can reduce the SGA size, reduce sort_area_size, or implement the multi-threaded server.
  1. Explain virtual memory
  2. Explain UNIX memory management
  3. Check the vmstat run queue
  4. Place statistics into Oracle tables
  5. Reduce memory usage

Glossary

Here are terms from this module that may be new to you:
  1. memory paging: A operation system function where by the contents of RAM memory are temporarily moved into a "swap" disk device.
  2. swap disk: Special disk reserved for memory paging operations.
  3. virtual memory: Memory that is in excess of the physical RAM memory capacity of the database server.
The next module explores tuning for CPU usage.

OS-Memory - Quiz

To complete this module, click the Quiz link below to test your knowledge of OS memory.
OS-Memory - Quiz