

# High Performance Networking for Oracle Database@AWS
High Performance Networking

## Overview


Oracle Database@AWS High Performance Networking provides consistent, sub-millisecond network roundtrip latency between your Amazon EC2 application instances and Oracle Database@AWS databases. This capability is designed for latency-sensitive workloads such as payment processing, securities trading, high-volume transaction processing, and manufacturing execution systems that require predictable, low-latency connectivity to Oracle Exadata databases.

When you create an ODB network, a placement group is automatically associated with it. You can use this placement group when launching Amazon EC2 instances to ensure optimized instance placement that delivers consistent sub-millisecond latency to your Oracle Database@AWS database.

### How It Works


Oracle Database@AWS High Performance Networking uses Amazon EC2 placement groups to ensure that your application instances are placed in close physical proximity to your Oracle Exadata infrastructure within an AWS Availability Zone (AZ). This proximity minimizes network hops and reduces latency variability, delivering consistent and predictable performance for your most demanding database workloads.

Key characteristics:
+ **Automatic placement group provisioning** – A placement group is automatically created and associated with every new ODB network.
+ **Consistent latency** – Consistent sub-millisecond network roundtrip latency between Amazon EC2 instances and Oracle Database@AWS databases.
+ **Compatible with existing Amazon EC2 workflows** – Works with standard Amazon EC2 APIs, the AWS Management Console, and supports Amazon EC2 On-Demand Capacity Reservations (ODCR), Savings Plans, and Reserved Instances.
+ **No additional cost** – High performance networking is available at no extra charge. Standard Amazon EC2 usage charges apply for launched instances.

# Getting started with High Performance Networking
<a name="hpn-setup-procedure"></a>

**To set up High Performance Networking**

1. <a name="create-odb-network"></a>**Step 1: Create an Oracle Database@AWS Network**
**Note**  
High Performance Networking is not currently available in [these Availability Zones](#unsupported-availability-zones). When you create an ODB network in an AZ where this capability is not available, the API will create the ODB network without a placement group. The get response will include a status reason saying the placement groups are not supported in this AZ.

   Create an Oracle Database@AWS network using the AWS Management Console or the AWS CLI. A placement group is automatically created and associated with your ODB network.

   **AWS CLI example:**

   ```
   aws odb create-odb-network \
     --display-name value \
     --availability-zone value
   ```

1. <a name="retrieve-placement-group"></a>**Step 2: Retrieve the placement group ID**

   After creating your ODB network, retrieve the placement group ID using the `GetODBNetwork` API or from the Oracle Database@AWS console.

   **AWS CLI example:**

   ```
   aws odb get-odb-network --odb-network-id odb-network-id
   ```

   **Sample response:**

   ```
   {
     "odbNetwork": {
       "availabilityZone": "us-east-2a",
       "availabilityZoneId": "use2-az1",
       "ec2PlacementGroupId": "pg-017f45f602aba9085",
       "backupSubnetCidr": "[IP_ADDRESS]"
     }
   }
   ```

1. <a name="launch-ec2-instances"></a>**Step 3: Launch Amazon EC2 Instances Using the placement group**

   When launching Amazon EC2 instances for your application, specify the placement group ID retrieved in Step 2. This ensures your instances are placed in close proximity to your Oracle Database@AWS database for optimal latency.

   **AWS CLI example:**

   ```
   aws ec2 run-instances \
     --placement GroupId=pg-017f45f602aba9085 \
     [other parameters]
   ```

   You can also specify the placement group when launching instances through the AWS Management Console under **Advanced Details > placement group**.

1. <a name="use-odcr"></a>**Step 4 (Recommended): Use On-Demand Capacity Reservations**

   Amazon EC2 On-Demand capacity is subject to availability. To ensure high availability of capacity for your latency-sensitive workloads, we recommend using **Amazon EC2 On-Demand Capacity Reservations (ODCR)** with the Oracle Database@AWS placement group.

## Permissions required for Oracle Database@AWS placement groups


Oracle Database@AWS requires the following additional permissions for creating and deleting ODB networks with placement groups:

### Create ODB network permissions

+ `ec2:CreatePlacementGroup`
+ `ec2:AttachResourcesToPlacementGroup`
+ `ec2:CreateTags`

### Delete ODB network permissions

+ `ec2:DeletePlacementGroup`
+ `ec2:DetachResourcesFromPlacementGroup`

## Identifying Oracle Database@AWS placement groups


Placement groups associated with ODB networks can be identified by:
+ **Name prefix** – All Oracle Database@AWS placement groups have an `ODB-` prefix in their name, making them easy to identify in the Amazon EC2 console.
+ **System tag** – Each Oracle Database@AWS placement group includes an immutable system tag indicating its association with an Oracle Database@AWS network.

## Deleting an Oracle Database@AWS Network


When an Oracle Database@AWS network is deleted:
+ The associated placement group is **automatically deleted**.
+ Amazon EC2 instances that were previously associated with the placement group **remain running** but become unassociated from any placement group.

**Important**  
If you are creating a new Oracle Database@AWS network and need these instances to be in the new Oracle Database@AWS network's placement group, then make sure you use [modify-instance-placement](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/change-instance-placement-group.html).

```
aws ec2 modify-instance-placement \
  --instance-id instance-id \
  --group-id new-placement-group-id
```

## Unsupported Availability Zones


Oracle Database@AWS High Performance Networking is not available in the following Availability Zones:


| Region | Availability Zone(s) | 
| --- | --- | 
| US East (N. Virginia) | use1-az4 and use1-az6 | 
| US West (Oregon) | usw2-az3 and usw2-az4 | 
| Europe (Frankfurt) | euc1-az2 | 
| Asia Pacific (Seoul) | apne2-az1 | 

# Sharing the placement group across AWS accounts


You can share the Oracle Database@AWS placement group across AWS accounts in the same AWS organization using **AWS Resource Access Manager (AWS RAM)**. This allows application teams in different AWS accounts to launch Amazon EC2 instances with optimized placement for low-latency connectivity to your Oracle Database@AWS database.

For more details, see [shared placement groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/share-placement-group.html).

# Measuring network latency


To measure and validate network latency between your Amazon EC2 instances and Oracle Database@AWS databases, we recommend using **sockperf**, an open-source TCP-level latency measurement tool. sockperf provides complementary network metrics that help you:
+ Establish network performance baselines
+ Compare performance before and after infrastructure changes
+ Validate that sub-millisecond latency targets are being met

You can also use Oracle database performance tools such as [https://docs.oracle.com/en/engineered-systems/exadata-database-machine/sagug/awr.html](https://docs.oracle.com/en/engineered-systems/exadata-database-machine/sagug/awr.html), [https://docs.oracle.com/en/database/oracle/oracle-database/26/tgdba/ash-report-ui.html](https://docs.oracle.com/en/database/oracle/oracle-database/26/tgdba/ash-report-ui.html), and [https://docs.oracle.com/en/database/oracle/oracle-database/26/tgsql/performing-application-tracing.html#GUID-31EF2BD5-28DB-488F-A855-8DA324F6970B](https://docs.oracle.com/en/database/oracle/oracle-database/26/tgsql/performing-application-tracing.html#GUID-31EF2BD5-28DB-488F-A855-8DA324F6970B) for database-level performance analysis.

# Troubleshooting


## Handling Insufficient Capacity Errors (ICE)


If you receive an **Insufficient Instance Capacity Error (ICE)** when launching Amazon EC2 instances with the Oracle Database@AWS placement group:
+ **Retry with a different instance type** – ICE errors are typically instance-type specific. Retrying with a compatible alternative instance type often resolves the issue.
+ **Use [On-Demand Capacity Reservations (ODCR)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-create.html)** – To minimize the risk of ICE occurrences, reserve capacity in advance using ODCR with your Oracle Database@AWS placement group.
+ **Use placement groups selectively** – Reserve placement group usage for workloads that truly require consistent sub-millisecond latency.