--- last_verified: 2026-03-14 description: Memory sizing guidelines for OCI compute and database workloads. --- compute_memory: flexible_shapes: min_gb_per_ocpu: 1 max_gb_per_ocpu: 64 default_gb_per_ocpu: 16 recommendation: | Start with 16 GB per OCPU for general workloads. Java applications: 8-16 GB per OCPU. In-memory caches (Redis, Memcached): size for data set + 20%. Database client/app servers: 8 GB per OCPU usually sufficient. common_ratios: general_purpose: 16 # GB per OCPU memory_intensive: 32 compute_intensive: 8 java_application: 12 web_server: 8 database_memory: adb_s: notes: "Memory managed automatically by ADB. Not directly configurable." sga_estimate: "~7 GB per OCPU" pga_estimate: "~2.5 GB per OCPU" exacs: notes: "Memory allocated per VM cluster from Exadata infrastructure pool" recommendation: "Size VM cluster memory based on SGA+PGA requirements" typical_sga_per_ocpu: 8 typical_pga_per_ocpu: 3 dbcs: notes: "Memory = compute shape memory. Choose shape accordingly." recommendation: | Total DB memory = SGA + PGA aggregate SGA = 60-80% of available memory PGA = 10-20% of available memory OS overhead = 10-15% sizing_from_source: on_prem_oracle_to_oci: steps: - "Get current SGA + PGA sizes from AWR/ASH" - "Add 15% for OS overhead" - "Map to compute shape with sufficient memory" - "For ADB: translate to OCPU count (memory scales automatically)" notes: "ADB auto-tunes memory, so OCPU sizing is the key input" aws_rds_to_oci: steps: - "Note current instance class memory" - "Map to equivalent OCI shape memory" - "For ADB: divide memory by 10 to estimate OCPU count"