Managing Server Resources
Extract interacts with an underlying logmining server in the source database and Replicat interacts with an inbound server in the target database. This section provides guidelines for managing the shared memory consumed by the these servers.
When Automatic (Shared) Memory Management is enabled (recommended), there is no need to set the STREAMS_POOL_SIZE environment variable for Oracle Database. This is because no minimum memory is required for the Streams Pool.
If Automatic (Shared) Memory Management is not enabled, then the Streams Pool can use up to 10% of the Shared Pool if STREAMS_POOL_SIZE is not specified and a root-level Extract (for Downstream Capture) or integrated Replicat (deprecated in Oracle GoldenGate 26ai) is in use.
For per-PDB Extract and parallel Replicat, there is no need to set the STREAMS_POOL_SIZE parameter in Oracle Database explicitly. For higher efficiency and preventing memory wastage, it is recommended not to explicitly set this parameter.
The following table summarizes components and the use of Streams Pool:
| Process Type | Use of Streams Pool | Description |
|---|---|---|
| Integrated Extract (per-PDB-Level) | No | Per-PDB Extract is the recommended Extract to use. |
| Integrated Extract (Root-Level) | Yes | Root-Level-Extract is only needed by Downstream Capture. By default, up to 1G is allocated from the Streams Pool. |
| Classic Replicat | No | - |
| Coordinated Replicat | No | - |
| Parallel Replicat (non-integrated mode) | No | - |
| Parallel Replicat (integrated mode) | No | - |
| Integrated Replicat | Yes | It is recommended to use Parallel Replicat rather than integrated Replicat. If Integrated Replicat still in use: Set parameter `MAX_SGA_SIZE` to limit Streams Pool utilization. |
If using root-level Extract or integrated Replicat, the size of the Streams Pool depends on the MAX_SGA_SIZE parameter defined in the Extract and Replicat parameter file:
-
For root-level Extract, the default
MAX_SGA_SIZEis 1 GB. -
For integrated Replicat, the default
MAX_SGA_SIZEis unbound (INFINITE).If there are multiple processes, it is recommended to set the
MAX_SGA_SIZEfor each integrated Replicat.
The size of Streams Pool size should be 25% higher than the sum of the MAX_SGA_SIZE settings of root-level Extract, Integrated Replicats, and XStream processes.
Note: Streams pool is also used by other components of the database (like Oracle Stream and Advanced Queuing), so make certain to take them into account while sizing the Streams pool for Oracle GoldenGate.