DBA SGA+PGA Memory Configuration – Oracle EBS SQL Report
Oracle E-Business Suite SQL report from the Enginatics Library powered by Blitz Report™. Oracle EBS module: Database Administration · all Database Administration reports
Overview
Current SGA and PGA memory configuration in gigabytes.
A frequent configuration problem is not making full use of the available hardware resources, especially the physical RAM of the database server. This report shows the servers SGA, PGA and CPU configuration in comparison to the available hardware. For maximum performance, configure the SGA+PGA to use the full available memory of your server minus a few gig for OS level caching, e.g. for writing and reading of PLSQL output files on the DB node and for process memory (an estimated 4MB per process, see below).
Oracle’s performance tuning guide: https://docs.oracle.com/en/database/oracle/oracle-database/12.2/tgdba/database-memory-allocation.html
Oracle’s exadata best practices whitepaper: SUM of databases (SGA_TARGET + PGA_AGGREGATE_TARGET) + 4 MB * (Maximum PROCESSES) < Physical Memory per Database Node
Tom Kyte’s recommendation: “… if you want it all automatic, give ALL FREE MEMORY on your machine to the SGA and be done with it. No more monitoring, no more thinking about how it could be, should be, would be used. Set the PGA aggregate target and the SGA target to be a tad less than physical memory on the machine and you are done.” https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:30011178429375
Database created or cloned is the date of the last clone: the latest of the controlfile creation date (reset by Rapid Clone and RMAN DUPLICATE), the last open with resetlogs (a clone restored from a backup or a storage snapshot keeps the source’s creation date) and, on a multitenant database, the PDB creation date.
The report also shows the status of system statistics. select * from sys.aux_stats$
If CPUSPEEDNW still shows the default of 4096, it either means that the stats have never been gathered or it could also mean that your storage is too fast to gather them with the standard NOWORKLOAD method and you should set reasonable values manually then. exec dbms_stats.gather_system_stats(); exec dbms_stats.set_system_stats(‘IOSEEKTIM’,1); exec dbms_stats.set_system_stats(‘IOTFRSPEED’,85782);
There is also an Exadata mode, considering the faster storage correctly and updating the MBRC too exec dbms_stats.gather_system_stats(‘EXADATA’);
The following command checks if hugepages are configured and how many are in use: grep Huge /proc/meminfo https://access.redhat.com/solutions/320303
The SGA and PGA of every other Oracle instance on the host (other databases, ASM, a second EBS environment) share its memory. To list them and the free memory: ps -eo user,args | grep -E ‘[o]ra_pmon_|[a]sm_pmon_’ grep -v ‘^#’ /etc/oratab free -g
To configure hugepages, set the vm.nr_hugepages in the /etc/sysctl.conf file and hard and soft memlock in /etc/security/limits.conf for the oracle user. /etc/sysctl.conf vm.nr_hugepages = SGA GB x 512 + 5 /etc/security/limits.conf oracle soft memlock (SGA GB x 512 + 5) * 2048 oracle hard memlock (SGA GB x 512 + 5) * 2048 https://www.enginatics.com/blog/how-to-configure-hugepages-for-oracle-ebs/?utm_source=oraclereporting.com&utm_medium=referral&utm_campaign=oracle-ebs-sql&utm_content=dba-sga-pga-memory-configuration
Check if all database parameters are set according to Oracle’s requirement: Database Initialization Parameters for Oracle E-Business Suite Release 12 (KA1002) https://support.oracle.com/support/?kmContentId=11158187
To perform this check automatically, install and run Oracle’s ‘Database Performance and Statistics Analyzer’ concurrent program (KB627702) https://support.oracle.com/rs?type=doc&id=2126712
Run this report in Excel in seconds: download Blitz Report™ free (your first 30 reports are free) or try it in the online demo.
Report Parameters
Container Data
Oracle EBS Tables Used
dba_hist_snapshot, dba_hist_sqlstat, dba_hist_sqltext, gv$osstat, gv$system_parameter, gv$sgainfo, gv$instance, dba_hist_pgastat, aux_stats$, v$parameter, dba_feature_usage_statistics, v$database, dba_editions, dba_tablespace_usage_metrics
Report Categories
Related Reports
DBA AWR SQL Performance Summary, DBA AWR System Metrics Summary, DBA AWR Active Session History, DBA AWR Blocking Session Summary, DBA AWR PGA History, DBA Sessions, DBA AWR Tablespace Usage, DBA AWR Settings, DBA SGA Buffer Cache Object Usage
Running This SQL Without Blitz Report
The SQL source can be run in any SQL client. Some Oracle EBS SQL reports in this library use functions from the utility package xxen_util – install it first. Blitz Report™ adds parameters, Excel output with pivots, scheduling and security on top.
Download & Import Options
| Resource | Link |
|---|---|
| Excel Example Output | DBA SGA+PGA Memory Configuration 29-Jul-2018 103004.xlsx |
| Blitz Report™ XML Import | DBA_SGA_PGA_Memory_Configuration.xml |
| SQL Source | DBA SGA-PGA Memory Configuration.sql |
| Full Report on Enginatics | www.enginatics.com/reports/dba-sga-pga-memory-configuration/ |
Case Study & Technical Analysis
Abstract
The DBA SGA+PGA Memory Configuration report is a comprehensive audit of the database server’s memory architecture. It compares the Oracle instance configuration (SGA_TARGET, PGA_AGGREGATE_TARGET) against the physical hardware resources to ensure optimal utilization. It also validates critical system statistics that influence the Cost-Based Optimizer (CBO).
Technical Analysis
Core Checks
- Memory Utilization: Calculates the total potential memory footprint (SGA + PGA + Process Overhead) and compares it to the server’s physical RAM.
- System Statistics: Checks
SYS.AUX_STATS$forCPUSPEEDNW,IOSEEKTIM, andIOTFRSPEED. Default values (like 4096 for CPU speed) indicate that system stats have not been gathered, potentially leading the CBO to make suboptimal plan choices. - HugePages: (Contextual) The description emphasizes the importance of HugePages for large SGAs to reduce page table overhead.
Best Practices
- Sizing: The sum of SGA and PGA should generally consume most of the available RAM on a dedicated database server, leaving a safety margin for the OS.
- Exadata: Specific checks for Exadata-optimized system statistics.
Key Views
V$PARAMETER: For memory settings.SYS.AUX_STATS$: For optimizer system statistics.
Operational Use Cases
- Health Check: Standard validation for new deployments.
- Performance Tuning: Ensuring the CBO has accurate information about the hardware’s I/O and CPU capabilities.
- Cost Optimization: Verifying that expensive RAM hardware is actually being allocated to the database instance.
Useful Links
- Blitz Report™ – World’s Fastest Oracle EBS Reporting Tool
- Oracle Discoverer Replacement – Import Worksheets into Blitz Report™
- Oracle EBS Reporting Toolkits by Blitz Report™
- Blitz Report™ FAQ & Community Q&A
- Supply Chain Hub by Blitz Report™
- Blitz Report™ Customer Case Studies
- Oracle EBS Reporting Blog
- Oracle EBS Reporting Resource Centre
© Enginatics GmbH