Tuning the Audit Vault Server
With use the Audit Vault Server database might run into performance issues. Adjusting database parameters to tune the Audit Vault Server to your needs will help resolve performance issues.
Preventing Shutdown of the Listener Due to Too Many Audit Trails
If there are more than 1024 audit trails on a single Audit Vault Server, the database listener might shutdown with errors TNS-01159: Internal connection limit has been reached; listener has shut down and TNS-12540: TNS:internal limit restriction exceeded. Adjust the MAX_ALL_CONNECTIONS_LISTENER parameter to resolve the issue.
Steps to adjust the MAX_ALL_CONNECTIONS_LISTENER parameter:
-
Stop all the audit trails running on the Audit Vault Server and the Audit Vault Agent.
-
Log in to the appliance through SSH and switch to the
rootuser.See Logging In to Oracle DBSecCentral Appliances Through SSH.
-
Stop the following services by running the following commands:
systemctl stop monitor systemctl stop javafwk systemctl stop controller systemctl stop dbfwlistener -
Make a backup copy of the
listener.orafile:cp /var/lib/oracle/dbfw/network/admin/listener.ora /var/lib/oracle/dbfw/network/admin/listener.ora.backup -
Open the
listener.orafile for editting:vi listener.ora -
Add the following line in the
listener.orafile:MAX_ALL_CONNECTIONS_LISTENER=<Number of trails | Number of trails > 1024>For example, if you have 1500 audit trails running:
MAX_ALL_CONNECTIONS_LISTENER=1500It will be necessary to adjust this number if you intend to start more audit trails in the future.
-
Start the previously stopped services by running the following commands:
systemctl start monitor systemctl start javafwk systemctl start controller systemctl start dbfwlistener -
Start the audit trails that were previously stopped on the Audit Vault Server and the Audit Vault Agent.
Related Topics
Adjusting Memory Allocation for Oracle DBSecCentral
Oracle Database Security Central (Oracle DBSecCentral) uses a memory allocation helper to dynamically calculate optimal memory settings for the operating system, RDBMS, and Oracle DBSecCentral components based on the system’s total RAM, CPU count, and configuration.
The memory allocation helper reads configuration from the memory-layout.yaml file, which defines proportions, minimums, and margins for memory distribution. The file ensures that Oracle DBSecCentral operates efficiently while reserving resources for the host OS and database processes.
By default, Oracle DBSecCentral allocates memory conservatively to avoid overcommitment, leaving headroom for overhead, for example 10% of total RAM. Customizing this file allows administrators to fine-tune allocations for specific environments, such as high-memory systems, Real Application Clusters (RAC), or workloads with heavy PGA usage. However, improper changes can lead to insufficient memory for critical processes, causing instability or performance degradation.
The memory-layout.yaml file is located at: /opt/avdf/etc/memory-layout.yaml
This file is owned by the root user (or the Oracle DBSecCentral service account) and has restrictive permissions. Edit it using a text editor with appropriate privileges, such as switching to root with su - root and then using vi.
Follow these steps to edit the memory-layout.yaml file:
-
Log in to the source Audit Vault Server through SSH and switch to the
rootuser.See Logging In to Oracle DBSecCentral Appliances Through SSH.
-
Backup the original file by running the following command:
-c 'cp /opt/avdf/etc/memory-layout.yaml /opt/avdf/etc/memory-layout.yaml.bak' -
Open the original file by running the following command:
vi /opt/avdf/etc/memory-layout.yaml -
Modify the values in the
memory-layout.yamlfile. Update the values as needed based on your system’s requirements. See Table 17-1 below for more information. Keep the following in mind:-
The file uses YAML format. Ensure indentation is preserved by using spaces, not tabs and note that two spaces per level is standard.
-
Do not add extra keys or remove required ones, as validation will fail.
-
Keys are symbols (for example,
:usable), and values are floats or integers. -
Proportions (for example,
:usable: 0.9) must be between 0.0 and 1.0. -
Absolute values (for example,
:core_per_cpu: 1.5) are in GiB and converted to bytes internally.
Exit the root shell after editing with
exit. -
-
Save the file.
-
Validate the file by testing the memory helper manually by extracting a calculated value such as usable memory. This command will similar to the following command:
-c 'ruby /opt/avdf/lib/ruby/avdf/avs_memory_helper.rb mem_usable -u 1048576'The above command outputs the usable memory value.
If this check runs without errors, such as errors about bad configuration or missing keys, the file is valid. If validation fails, check the logs at
/var/log/avdf/avdf.logfor errors likeErrors in memory-layout.yaml. -
Apply the changes to the memory file by
-
Restart the Audit Vault Server by running the following command as the
rootuser:systemctl reload avdf -
Verify the new settings by querying the memory helper:
-c 'ruby /opt/avdf/lib/ruby/avdf/avs_memory_helper.rb mem_usable'This outputs the calculated usable memory in bytes (use `-u` option for human-readable output if customized, e.g., `-u 1048576` for MiB). -
Table 1 Memory File Parameters
| Name | Type | Description | Range | Default | Example | Usage Notes |
|---|---|---|---|---|---|---|
:usable |
Float | Proportion of total system RAM safely allocated to Oracle DBSecCentral and related processes (e.g., OS + RDBMS). Reserves ~10% for overhead. | 0.0 to 1.0 | 0.9 | 0.85 (Set on low-memory systems to reserve more for OS) | Lower values increase stability but reduce Oracle DBSecCentral performance. |
:core_as_share |
Float | Proportion of usable RAM allocated to core OS and RDBMS processes. Excess goes to Oracle DBSecCentral. | 0.0 to 1.0 | 0.8 | 0.7 (Reduce if Oracle DBSecCentral needs more memory) | |
:core_per_cpu |
Float (GiB) | Minimum RAM per CPU core for core processes (capped by core_as_share). | ≥ 1.5 GiB | 1.5 | 2.0 (Increase for multi-core systems) | Ensures baseline allocation; logs warnings if total RAM insufficient. |
:rac_requirement |
Float (GiB) | Additional RAM reserved for RAC (Real Application Clusters). Applied only if RAC is detected. | ≥ 10.0 GiB | 10.0 | 15.0 (Increase for large RAC clusters) | Only affects calculations in RAC mode; adjust based on cluster size/workload. |
:core_split_os |
Float | Proportion of core allocation dedicated to pure OS processes (remainder to RDBMS). | 0.0 to 1.0 | 0.2 | 0.3 (Increase OS share) | Must sum with core_split_rdbms to 1.0 implicitly. |
:core_split_rdbms |
Float | Proportion of core allocation for RDBMS (complements core_split_os). | 0.0 to 1.0 | 0.8 | ||
:rdbms_split_pga_target |
Float | Proportion of RDBMS allocation for PGA (Process Global Area) target. Remainder to SGA. | 0.0 to 1.0 | 0.2 | 0.3 (For PGA-heavy workloads, e.g., sorting) | |
:pga_limit |
Float | Multiplier for PGA target to set the hard limit (e.g., target × 2.0). | ≥ 0.0 | 2.0 | 1.5 (Tighten limit) | |
:dev_shm_margin |
Float | Multiplier for SGA size to set /dev/shm size (shared memory). | ≥ 1.0 | 1.2 | 1.5 (Increase for large SGA) | |
:kernel_shmall_margin |
Float | Multiplier for /dev/shm to set kernel.shmall (shared memory pages). | ≥ 1.0 | 1.1 | 1.2 | |
:usable_min |
Float (GiB) | Minimum usable RAM threshold. If below, warnings are logged and minimums assumed. | ≥ 7.0 GiB | 7.0 | 4.0 (For small VMs) | Do not set below hardware minimums. |
:swap_max |
Float (GiB) | Maximum desired swap space (capped to prevent over-allocation). | ≥ 0 GiB | 32.0 | 64.0 (Increase for swap-heavy systems) | Shortfalls are warned if current swap < desired. |