From 69b0ccb4b8d6efa93772719469ae55f95eb06fca Mon Sep 17 00:00:00 2001 From: root Date: Wed, 1 Apr 2026 23:59:28 -0300 Subject: [PATCH] Fix 30 KB errors: ExaCS storage 3-10x wrong, ECPU transition, IOPS limits, missing shapes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cross-referenced all 70+ KB files against official Oracle docs. Critical fixes: - ExaCS: storage was flash cache not usable disk (76.8→190.8 TB QR), added X11M, removed X10M - ADB-S: OCPU→ECPU migration, 26ai as default, cross-region RTO 15→10 min - Compute: E5 max 94→126, A2 80→78, added E6/A4/BM shapes, 11 GPU shapes - Storage: Higher Perf IOPS 35K→50K, UHP 450K→300K, File Storage 25K→50K - DBCS: E5.Flex max 94→64, storage 80→150 TB, added 26ai - Networking: FastConnect +400 Gbps, NSG max 120 rules Co-Authored-By: Claude Opus 4.6 (1M context) --- kb/patterns/database-ha-adb-s.yaml | 2 +- kb/services/adb-serverless.yaml | 29 ++++++++------ kb/services/compute.yaml | 57 +++++++++++++++++++++++++++- kb/services/dbcs.yaml | 6 ++- kb/services/exacs.yaml | 9 +++-- kb/services/exadata-cloud.yaml | 48 +++++++++++++++++------ kb/services/networking.yaml | 3 +- kb/services/storage.yaml | 7 ++-- kb/sizing/adb-scaling-behavior.yaml | 3 +- kb/sizing/cpu-conversion-ratios.yaml | 4 +- kb/sizing/storage-iops.yaml | 9 +++-- kb/sizing/storage-performance.yaml | 8 ++-- 12 files changed, 138 insertions(+), 47 deletions(-) diff --git a/kb/patterns/database-ha-adb-s.yaml b/kb/patterns/database-ha-adb-s.yaml index 31df5f0..aad6e8d 100644 --- a/kb/patterns/database-ha-adb-s.yaml +++ b/kb/patterns/database-ha-adb-s.yaml @@ -28,7 +28,7 @@ variants: name: "Same-Region Autonomous Data Guard Standby" topology: "Primary + Standby in same region via Autonomous Data Guard" rpo: "0 (synchronous replication)" - rto: "< 30 seconds (automatic switchover)" + rto: "~2 minutes (automatic switchover)" use_when: - "Zero RPO mandatory" - "Protection against full AD or FD failure" diff --git a/kb/services/adb-serverless.yaml b/kb/services/adb-serverless.yaml index 83c13d7..9817db9 100644 --- a/kb/services/adb-serverless.yaml +++ b/kb/services/adb-serverless.yaml @@ -20,15 +20,18 @@ features: ha_dr_options: local_ha: "Built-in TAC (Transparent Application Continuity) — ~0 perceived RTO" same_region_adg: "Autonomous Data Guard standby — synchronous, RPO 0" - cross_region_adg: "Cross-region ADG — asynchronous only, RPO seconds, RTO < 15 min" + cross_region_adg: "Cross-region ADG — asynchronous only, RPO seconds (switchover RPO 0, manual failover RPO up to 1 min), RTO < 10 min" + cross_region_auto_failover: "NOT available — cross-region requires manual switchover/failover only" limits: - max_ocpu: 128 - max_storage_tb: 383 - max_auto_scale: "3x base OCPUs" + max_ecpu: 512 + max_ocpu_legacy: 128 + max_storage_tb: 384 + max_auto_scale: "3x base ECPUs" auto_scale_activation: "2-3 minutes" - min_ocpu: 1 + min_ecpu: 2 min_storage_tb: 1 + notes: "ECPU is now the default billing unit. 4 ECPUs ≈ 1 OCPU. OCPU billing is legacy." variants: - id: adb_s @@ -66,12 +69,14 @@ when_not_to_use: sizing: adb_s: - min_ocpu: 1 - max_ocpu: 128 - auto_scaling: "Up to 3x base OCPUs (takes 2-3 minutes to activate)" - sizing_guidance: "Size base OCPUs for P75 sustained load, not P50. Auto-scaling covers peaks but has activation latency." + min_ecpu: 2 + max_ecpu: 512 + min_ocpu_legacy: 1 + max_ocpu_legacy: 128 + auto_scaling: "Up to 3x base ECPUs (takes 2-3 minutes to activate)" + sizing_guidance: "Size base ECPUs for P75 sustained load, not P50. Auto-scaling covers peaks but has activation latency. 4 ECPUs ≈ 1 OCPU." storage_min_tb: 1 - storage_max_tb: 383 + storage_max_tb: 384 iops: "Proportional to OCPU count, Exadata storage servers" adb_d: @@ -105,9 +110,9 @@ gotchas: severity: MEDIUM description: "Cross-region Autonomous Data Guard is async only (RPO > 0). For zero RPO, need same-region standby or ADB-D with local Data Guard." - - id: adb_19c_only + - id: adb_version severity: LOW - description: "ADB currently runs Oracle 19c. If customer needs 23ai features, verify availability." + description: "ADB now defaults to Oracle 26ai in all commercial regions. 19c is legacy. Verify customer version requirements." implied_dependencies: - service: service_gateway diff --git a/kb/services/compute.yaml b/kb/services/compute.yaml index ff3e4e2..3a3eb5b 100644 --- a/kb/services/compute.yaml +++ b/kb/services/compute.yaml @@ -11,9 +11,16 @@ what: Virtual machines and bare metal instances. Flexible shapes allow custom shape_families: - name: VM.Standard.E5.Flex processor: "AMD EPYC 9J14 (Genoa)" - max_ocpu: 94 + max_ocpu: 126 memory_per_ocpu_gb: "1-64 GB per OCPU" use_for: "General purpose, most workloads" + - name: VM.Standard.E6.Flex + processor: "AMD EPYC 9J45 (Turin)" + max_ocpu: 126 + max_memory_gb: 1454 + memory_per_ocpu_gb: "1-64 GB per OCPU" + network_gbps: 99 + use_for: "Latest generation general purpose" - name: VM.Standard3.Flex processor: "Intel Xeon (Ice Lake)" max_ocpu: 32 @@ -21,14 +28,28 @@ shape_families: use_for: "Intel-optimized workloads" - name: VM.Standard.A2.Flex processor: "Ampere Altra (Arm)" - max_ocpu: 80 + max_ocpu: 78 memory_per_ocpu_gb: "1-64 GB per OCPU" use_for: "Arm-compatible workloads, cost optimization" + - name: VM.Standard.A4.Flex + processor: "Arm" + max_ocpu: 45 + max_memory_gb: 700 + network_gbps: 100 + use_for: "Latest Arm generation, cloud-native workloads" - name: VM.Optimized3.Flex processor: "Intel Xeon (Ice Lake)" max_ocpu: 18 memory_per_ocpu_gb: "1-64 GB per OCPU" use_for: "High-frequency trading, HPC" + - name: BM.Standard.E5 + processor: "AMD EPYC 9J14 (Genoa)" + ocpus: 192 + use_for: "Bare metal general purpose" + - name: BM.Standard.E6 + processor: "AMD EPYC 9J45 (Turin)" + ocpus: 256 + use_for: "Bare metal latest generation" - name: VM.GPU.A10.1 processor: "NVIDIA A10" gpu_count: 1 @@ -37,6 +58,38 @@ shape_families: processor: "NVIDIA H100 (8 GPUs)" gpu_count: 8 use_for: "AI/ML training, large model inference" + - name: BM.GPU.H200.8 + processor: "NVIDIA H200 (8 GPUs)" + gpu_count: 8 + use_for: "AI/ML training, large model inference (higher memory bandwidth)" + - name: BM.GPU.B200.8 + processor: "NVIDIA B200 (8 GPUs)" + gpu_count: 8 + use_for: "Next-gen AI training and inference" + - name: BM.GPU.B300.8 + processor: "NVIDIA B300 (8 GPUs)" + gpu_count: 8 + use_for: "Next-gen AI training and inference" + - name: BM.GPU.GB200.4 + processor: "NVIDIA GB200 (4 GPUs)" + gpu_count: 4 + use_for: "Grace Blackwell superchip, AI training" + - name: BM.GPU.GB300.4 + processor: "NVIDIA GB300 (4 GPUs)" + gpu_count: 4 + use_for: "Grace Blackwell next-gen AI" + - name: BM.GPU.MI300X.8 + processor: "AMD Instinct MI300X (8 GPUs)" + gpu_count: 8 + use_for: "AMD GPU AI/ML workloads" + - name: BM.GPU.MI355X.8 + processor: "AMD Instinct MI355X (8 GPUs)" + gpu_count: 8 + use_for: "AMD GPU next-gen AI/ML workloads" + - name: BM.GPU.L40S.4 + processor: "NVIDIA L40S (4 GPUs)" + gpu_count: 4 + use_for: "AI inference, graphics, video" when_to_use: - Traditional VM-based applications diff --git a/kb/services/dbcs.yaml b/kb/services/dbcs.yaml index 24e4719..e29c8b9 100644 --- a/kb/services/dbcs.yaml +++ b/kb/services/dbcs.yaml @@ -30,12 +30,14 @@ when_NOT_to_use: limits: vm_shapes: - - "VM.Standard.E5.Flex: 1-94 OCPUs" + - "VM.Standard.E5.Flex: 1-64 OCPUs" - "VM.Standard3.Flex: 1-32 OCPUs" + - "VM.Standard.x86: ECPU billing (new shape)" bm_shapes: - "BM.Standard.E5: 128 OCPUs" - "BM.DenseIO.E5: 128 OCPUs with NVMe" - max_storage_tb: 80 # block storage + max_storage_tb: 150 # block storage (Universal Credits) + supported_versions: ["19c", "21c", "23ai", "26ai"] rac_max_nodes: 2 features: diff --git a/kb/services/exacs.yaml b/kb/services/exacs.yaml index 9adf15c..b9fe2e3 100644 --- a/kb/services/exacs.yaml +++ b/kb/services/exacs.yaml @@ -27,15 +27,18 @@ limits: - name: "Exadata.Quarter3.100" base_ocpu: 100 max_ocpu: 100 - storage_tb: 49.5 + storage_tb: 149 + notes: "Legacy X8 fixed shape — storage is usable disk" - name: "Exadata.Half3.200" base_ocpu: 200 max_ocpu: 200 - storage_tb: 99 + storage_tb: 299 + notes: "Legacy X8 fixed shape" - name: "Exadata.Full3.400" base_ocpu: 400 max_ocpu: 400 - storage_tb: 198 + storage_tb: 598 + notes: "Legacy X8 fixed shape; current generation is elastic X9M/X11M" max_vm_clusters: 8 max_databases_per_cluster: "Limited by resources" max_pdb_per_cdb: 252 diff --git a/kb/services/exadata-cloud.yaml b/kb/services/exadata-cloud.yaml index af3961e..6a526e2 100644 --- a/kb/services/exadata-cloud.yaml +++ b/kb/services/exadata-cloud.yaml @@ -26,30 +26,54 @@ variants: - id: exacs_x9m name: "ExaCS X9M" description: "Exadata X9M shape — current-generation infrastructure with RDMA over Converged Ethernet and persistent memory acceleration." - - id: exacs_x10m - name: "ExaCS X10M" - description: "Exadata X10M shape — next-generation infrastructure with improved compute, storage density, and throughput." + per_db_server: + ocpus: 126 + memory_gb: 1390 + pmem_tb: 1.5 + flash_cache_tb: 25.6 + per_storage_server: + usable_tb: 63.6 + - id: exacs_x11m + name: "ExaCS X11M" + description: "Exadata X11M shape — latest generation with AMD EPYC 9J25 processors and XRMEM acceleration." + per_db_server: + ecpus: 760 + memory_gb: 1390 + xrmem_gb: 1250 + flash_cache_tb: 27.2 + per_storage_server: + usable_tb: 52.5 + type: "Extreme Flash (EF)" sizing: + model: "Elastic per-server (2-32 DB servers, 3-64 storage servers)" rack_configurations: quarter_rack: - ocpus: "100 (scalable)" - memory: "1.44 TB" - storage: "Up to 76.8 TB usable (Exadata Storage)" + ocpus: "252 (X9M: 2 × 126/server)" + memory: "2.71 TB (X9M: 2 × 1,390 GB)" + storage: "Up to 190.8 TB usable (X9M: 3 SS × 63.6 TB)" db_nodes: 2 storage_servers: 3 half_rack: - ocpus: "200 (scalable)" - memory: "2.88 TB" - storage: "Up to 153.6 TB usable" + ocpus: "504 (X9M: 4 × 126/server)" + memory: "5.43 TB" + storage: "Up to 383 TB usable" db_nodes: 4 storage_servers: 6 full_rack: - ocpus: "400 (scalable)" - memory: "5.76 TB" - storage: "Up to 307.2 TB usable" + ocpus: "1,008 (X9M: 8 × 126/server)" + memory: "10.86 TB" + storage: "Up to 766 TB usable" db_nodes: 8 storage_servers: 12 + legacy_x8_fixed_shapes: + quarter_rack: + storage_tb: 149 + half_rack: + storage_tb: 299 + full_rack: + storage_tb: 598 + notes: "X8 shapes are fixed-size (not elastic). Storage values are usable disk, not flash cache." ocpu_scaling: "OCPUs can be scaled online in increments without downtime. You pay for enabled OCPUs, not the total available in the rack." sizing_guidance: "Start with a quarter rack for most production workloads. Scale OCPUs on demand. Choose half/full rack only when storage capacity or aggregate memory requirements exceed quarter rack limits." diff --git a/kb/services/networking.yaml b/kb/services/networking.yaml index 06627bb..be9a42b 100644 --- a/kb/services/networking.yaml +++ b/kb/services/networking.yaml @@ -22,6 +22,7 @@ components: recommendation: "Prefer NSGs (Network Security Groups) for granular control" nsg: what: "Network Security Group — firewall rules at VNIC level" + max_rules: "120 (ingress + egress combined per NSG)" recommendation: "Preferred over security lists for micro-segmentation" internet_gateway: what: "Enables internet access for public subnets" @@ -45,7 +46,7 @@ components: connectivity: fastconnect: what: "Dedicated private connection to OCI (like AWS Direct Connect)" - speeds: ["1 Gbps", "2 Gbps", "5 Gbps", "10 Gbps", "100 Gbps"] + speeds: ["1 Gbps", "2 Gbps", "5 Gbps", "10 Gbps", "100 Gbps", "400 Gbps"] redundancy: "Always deploy 2 circuits for HA" notes: "Partner or co-location model, typical setup takes 2-4 weeks" ipsec_vpn: diff --git a/kb/services/storage.yaml b/kb/services/storage.yaml index fcea9ad..9bba6c3 100644 --- a/kb/services/storage.yaml +++ b/kb/services/storage.yaml @@ -22,8 +22,9 @@ services: iops_per_gb: 75 throughput_kbps_per_gb: 600 - name: Ultra High Performance - max_iops: 450000 + max_iops: 300000 max_throughput_mbps: 2680 + notes: "IOPS range 75K-300K at 30-120 VPU" max_volume_size_tb: 32 max_volumes_per_instance: 32 @@ -36,7 +37,7 @@ services: use_for: "Data accessed less than once per month" - name: Archive use_for: "Long-term retention, compliance" - retrieval_time: "1 hour (standard), 1 minute (expedited)" + retrieval_time: "1 hour (standard)" features: - "S3-compatible API" - "Versioning" @@ -49,7 +50,7 @@ services: what: "NFSv3-compatible managed file system" use_for: "Shared file access across multiple compute instances" max_size: "8 EB (exabytes)" - iops: "Up to 25,000 IOPS per file system" + iops: "Up to 50,000 IOPS per file system" throughput: "Up to 1.2 GB/s per mount target" pricing: diff --git a/kb/sizing/adb-scaling-behavior.yaml b/kb/sizing/adb-scaling-behavior.yaml index b4375eb..1be238f 100644 --- a/kb/sizing/adb-scaling-behavior.yaml +++ b/kb/sizing/adb-scaling-behavior.yaml @@ -4,9 +4,10 @@ description: ADB-S auto-scaling behavior, timing, and sizing implications. --- auto_scaling: + notes: "OCPU is legacy billing. ECPU is now default. 1 OCPU ≈ 4 ECPUs." ocpu_scaling: trigger: "CPU demand exceeds current allocation" - max_scale: "3x base OCPUs (up to 128 OCPU maximum)" + max_scale: "3x base OCPUs/ECPUs (up to 128 OCPU / 512 ECPU maximum)" ramp_up_time: "2-3 minutes to begin scaling" ramp_down_time: "After sustained low utilization (5-10 minutes)" billing: "Only billed during active scaling period, per OCPU per second" diff --git a/kb/sizing/cpu-conversion-ratios.yaml b/kb/sizing/cpu-conversion-ratios.yaml index 235c576..088a4a5 100644 --- a/kb/sizing/cpu-conversion-ratios.yaml +++ b/kb/sizing/cpu-conversion-ratios.yaml @@ -65,8 +65,8 @@ adb_s_sizing: memory_sizing: oci_shapes: standard_e4: "16 GB per OCPU (VM.Standard.E4.Flex)" - standard_e5: "16 GB per OCPU (VM.Standard.E5.Flex)" + standard_e5: "up to 64 GB per OCPU (VM.Standard.E5.Flex, default 16)" standard_a1: "6 GB per OCPU (VM.Standard.A1.Flex / Ampere)" - standard_a2: "8 GB per OCPU (VM.Standard.A2.Flex / Ampere)" + standard_a2: "up to 64 GB per OCPU (VM.Standard.A2.Flex / Ampere)" optimized3: "14 GB per OCPU (VM.Optimized3.Flex)" dense_io_e4: "32 GB per OCPU + local NVMe (VM.DenseIO.E4.Flex)" diff --git a/kb/sizing/storage-iops.yaml b/kb/sizing/storage-iops.yaml index cb06d59..a29cccd 100644 --- a/kb/sizing/storage-iops.yaml +++ b/kb/sizing/storage-iops.yaml @@ -21,18 +21,19 @@ block_volume: - name: "Higher Performance" iops_per_gb: 75 - max_iops: 35000 + max_iops: 50000 throughput_mbps_per_gb: 0.6 - max_throughput_mbps: 480 + max_throughput_mbps: 680 use_when: "Database data files, high-throughput applications" - name: "Ultra High Performance" iops_per_gb: 90 - max_iops: 120000 + max_iops: 300000 + iops_range: "75,000 - 300,000 (at 30-120 VPU)" throughput_mbps_per_gb: 0.72 max_throughput_mbps: 2680 use_when: "Extreme IOPS requirements, OLTP databases" - notes: "Only available with certain compute shapes" + notes: "Only available with certain compute shapes. IOPS scales with VPU (30-120)." sizing_guidance: | 1. Determine required IOPS (from AWR, CloudWatch, or application benchmarks) diff --git a/kb/sizing/storage-performance.yaml b/kb/sizing/storage-performance.yaml index dd91430..26e6754 100644 --- a/kb/sizing/storage-performance.yaml +++ b/kb/sizing/storage-performance.yaml @@ -33,14 +33,14 @@ storage_tiers: block_volume_higher_performance: type: "Block Volume (Higher Performance)" iops_per_gb: 75 - max_iops: 35000 + max_iops: 50000 throughput_kbps_per_gb: 600 - max_throughput_mbps: 600 + max_throughput_mbps: 680 latency_us: "Sub-millisecond" block_volume_uhp: type: "Block Volume (Ultra High Performance)" - max_iops: 450000 + max_iops: 300000 max_throughput_mbps: 2680 notes: "Requires UHP-enabled shapes" @@ -53,7 +53,7 @@ storage_tiers: file_storage: type: "File Storage (NFS)" - max_iops: 25000 + max_iops: 50000 max_throughput_mbps: 1200 latency: "Sub-millisecond" use_for: "Shared file access, NFS workloads"