Autonomous AI Database (Serverless) - Cross-Region

Oracle Autonomous AI Database Service provides you with the capability to set up and modify disaster recovery configurations. It is crucial to establish your recovery time objective (RTO) and recovery point objective (RPO) for different levels of failures, including both planned and unplanned events.

Follow these steps to set up the different types of disaster recovery.
  • Backup-based disaster recovery:

    Oracle Autonomous AI Database Service on Azure supports backup-based disaster recovery (DR).

  • Autonomous Data Guard:

    Autonomous Data Guard for Oracle Autonomous AI Database Service provides high availability and disaster recovery by maintaining a standby database in a separate availability zone (AZ) or region. When enabled, it ensures that the primary and standby databases remain synchronized with a RPO of 1 minute and it allows automatic failover in the event of an outage or disaster.

Note

If you have selected deployment mode as Secure access from everywhere or Secure access from allowed IPs, you may create up to 1 local peer. If you have selected deployment mode as Managed private virtual network IP only, you may create up to 1 local peer and one cross region peer for every remote paired region.

Cross-Region Disaster Recovery Region Pairs

North America (NA)

Source Region Peer Region
  • Canada Central (Toronto)
  • Canada East (Quebec)
  • East US (Virginia)
  • Canada East (Quebec)
  • Canada Central (Toronto)
  • Central US (Iowa)
  • East US (Virginia)
  • East US 2 (Virginia)
  • South Central US (Texas)
  • East US (Virginia)
  • Brazil South (Sao Paulo State)
  • Canada Central (Toronto)
  • Central US (Iowa)
  • France Central (Paris)
  • North Central US (Illinois)
  • Southeast Asia (Singapore)
  • West Europe (Netherlands)
  • West US (California)
  • West US 3 (Phoenix)
  • East US 2 (Virginia)
  • Australia East (New South Wales)
  • Australia Southeast (Victoria)
  • Brazil South (Sao Paulo State)
  • Canada Central (Toronto)
  • Canada East (Quebec)
  • Central India (Pune)
  • Central US (Iowa)
  • France Central (Paris)
  • Japan East (Tokyo, Saitama)
  • Japan West (Osaka)
  • North Central US (Illinois)
  • Southeast Asia (Singapore)
  • UK South (London)
  • UK West (Cardiff)
  • West Europe (Netherlands)
  • West US (California)
  • West US 3 (Phoenix)
  • North Central US (Illinois)
  • South Central US (Texas)
  • South Central US (Texas)
  • Central US (Iowa)
  • North Central US (Illinois)
  • West US (California)
  • East US (Virginia)
  • West US 2 (Washington)
  • West US 3 (Phoenix)
  • West US 2 (Washington)
  • West US (California)
  • West US 3 (Phoenix)
  • West US (California)
  • East US (Virginia)
  • East US 2 (Virginia)

Europe, Middle East, Africa (EMEA)

Source Region Peer Region
  • France Central (Paris)
  • East US (Virginia)
  • East US 2 (Virginia)
  • France South (Marseille)
  • Germany North (Berlin)
  • Germany West Central (Frankfurt)
  • Italy North (Milan)
  • Southeast Asia (Singapore)
  • Spain Central (Madrid)
  • Switzerland North (Zurich)
  • UK South (London)
  • France South (Marseille)
  • France Central (Paris)
  • Germany North (Berlin)
  • Germany West Central (Frankfurt)
  • Germany West Central (Frankfurt)
  • France Central (Paris)
  • Southeast Asia (Singapore)
  • Spain Central (Madrid)
  • Sweden Central (Gavle)
  • Italy North (Milan)
  • France Central (Paris)
  • North Europe (Ireland)
  • UK West (Cardiff)
  • Spain Central (Madrid)
  • France Central (Paris)
  • Germany North (Berlin)
  • Germany West Central (Frankfurt)
  • West Europe (Netherlands)
  • Sweden Central (Gavle)
  • Germany North (Berlin)
  • Germany West Central (Frankfurt)
  • Switzerland North (Zurich)
  • France Central (Paris)
  • UK South (London)
  • Australia East (New South Wales)
  • France Central (Paris)
  • UK West (Cardiff)
  • UK West (Cardiff)
  • North Europe (Ireland)
  • UK South (London)
  • UAE North (Dubai)
  • UAE Central (Abu Dhabi)
  • UAE Central (Abu Dhabi)
  • UAE North (Dubai)
  • West Europe (Netherlands)
  • East US (Virginia)
  • East US 2 (Virginia)
  • Southeast Asia (Singapore)
  • Spain Central (Madrid)

Latin America (LATAM)

Source Region Peer Region
  • Brazil South (Sao Paulo State)
  • Brazil Southeast (Rio);
  • East US (Virginia)
  • East US 2 (Virginia)
  • Brazil Southeast (Rio)
  • Brazil South (Sao Paulo State)

Asia Pacific (APAC)

Source Region Peer Region
  • Australia East (New South Wales)
  • Australia Southeast (Victoria)
  • UK South (London)
  • Australia Southeast (Victoria)
  • Australia East (New South Wales)
  • Central India (Pune)
  • South India (Chennai)
  • Japan East (Tokyo, Saitama)
  • Japan West (Osaka)
  • Southeast Asia (Singapore)
  • Japan West (Osaka)
  • Japan East (Tokyo, Saitama)
  • South India (Chennai)
  • Central India (Pune)
  • Southeast Asia (Singapore)
  • East US (Virginia)
  • East US 2 (Virginia)
  • France Central (Paris)
  • Germany North (Berlin)
  • Germany West Central (Frankfurt)
  • Japan East (Tokyo, Saitama)
  • West Europe (Netherlands)

  • Add Oracle Disaster Recovery

    Complete the following steps to set up a disaster recovery.
    1. From the Azure portal, select Oracle AI Database@Azure.
    2. From the left navigation menu, select Oracle Autonomous AI Database.
    3. Select your Autonomous AI Database that you want to modify.
    4. Expand the Settings section, and then select the Disaster recovery link.This screenshot shows how to perform disaster recovery.
    5. Click the Add button, and then complete the following substeps.
      1. From the dropdown list, select your Region.
      2. From the dropdown list, select your Resource group.
      3. Enter an unique Name. The value must contain only letters and numbers, starting with a letter. 30 characters max. Spaces are not allowed.
      4. Select your Disaster recovery type from the dropdown list. Choose either the Backup-based disaster recovery or Autonomous Data Guard option.
      5. From the Networking section, select your Virtual network and Subnet.
      6. To Enable cross-region backup replication to disaster recovery peer, select the checkbox.
      7. Select the Next button to proceed.
      8. From Review + create tab, select the Create button.
      This screenshot shows how to perform disaster recovery.
    6. Once you review your information, select the Review + create button.

    For more information, see Service Level Objectives (SLOs).

    Edit Oracle Disaster Recovery

    Complete the following steps to edit a disaster recovery.
    1. From the Azure portal, select Oracle AI Database@Azure.
    2. From the left navigation menu, select Oracle Autonomous AI Database.
    3. Select your Autonomous AI Database that you want to modify.
    4. Expand the Settings section, and then select the Disaster recovery link.
    5. Click the Edit button, and then complete the following substeps.
      1. From the dropdown list, select Peer autonomous database.
      2. The Disaster recovery type field has two options. Choose either Autonomous Data Guard or Backup-based disaster recovery.
      3. Enable the Automatic Failover with data loss limit in seconds option if it is required.
      4. Select the Edit button.

    Switchover

    Switchover is a planned transition from the primary database to its standby. This operation is typically used for maintenance, testing, or proactively shifting the workloads. When using Oracle Autonomous Data Guard, switchover ensures minimal downtime and zero data loss by promoting the standby database to primary status while demoting the original primary to standby. To perform a switchover, your Autonomous AI Database must be part of a configured Disaster Recovery Protection Group.

    Complete the following steps to perform a switchover.
    1. From the Azure portal, select Oracle AI Database@Azure.
    2. From the left navigation menu, select Oracle Autonomous AI Database.
    3. Select your Autonomous AI Database that you are using.
    4. Expand the Settings section, and then select the Disaster recovery link.
    5. Select the Switchover button and from the Swithover database state page, complete the following substeps:
      1. From the dropdown list, select your Peer autonomous database.
      2. Enter switchover into the field to confirm your action.
      3. Select the Submit button to apply the changes.This screenshot shows how to perform a switchover.
  • Cross-region disaster recovery is only available through the Azure Portal and Azure CLI.

  • You can configure cross-region Autonomous Data Guard for Autonomous AI Database Serverless by using the Azure CLI.

    This documentation describes how to:

    • Create a cross-region Autonomous Data Guard standby database.
    • Validate the relationship between the primary and standby databases.
    • Perform switchover and failover operations.
    • Change an existing cross-region disaster recovery configuration from Autonomous Data Guard to backup-based disaster recovery.

    Prerequisites

    Before you create a cross-region standby database, confirm the following requirements:

    • The primary Autonomous AI Database Serverless exists and is in a stable lifecycle state.
    • You have permission to manage Oracle AI Database@Azure resources in the Azure subscription.
    • The target region is a supported peer region for the primary database.
    • The primary database uses the Managed private virtual network IP only deployment mode.
    • A virtual network and delegated subnet are available in the target region.
    • The target subnet has sufficient IP address capacity.
    • The peer database name is unique, starts with a letter, contains only letters and numbers, does not contain spaces, and is 30 characters or fewer.
    • If the primary database uses a customer-managed encryption key, ensure that a key replica exists in the standby or clone region before you create the cross-region standby database.
    • Determine whether to enable cross-region backup replication.
    • Determine whether to use Autonomous Data Guard or backup-based disaster recovery.

    Azure CLI Prerequisites

    • Azure CLI version >= 2.87.0
    • oracle-database (extension) version >= 2.0.4

    Complete the following steps:

    1. Set Environment Variables
      1. Define variables for Autonomous AI Database Serverless:
        # Define variables for the Autonomous Database
        
        AZURE_SUBSCRIPTION="my_azure_subscription"
        AZURE_SUBSCRIPTION_ID="my_azure_subscription_id"
        RESOURCE_GROUP="my_resource_group"
        
        PRIMARY_ADB_NAME="autonomous_database_primary_name"
        PRIMARY_LOCATION="azure_location_primary"
        PRIMARY_ADB_ID="/subscriptions/${AZURE_SUBSCRIPTION_ID}/resourceGroups/${RESOURCE_GROUP}/providers/Oracle.Database/autonomousDatabases/${PRIMARY_ADB_NAME}"
        
        STANDBY_ADB_NAME="autonomous_database_standby_name"
        STANDBY_LOCATION="azure_location_standby"
        STANDBY_VNET="standby_vnet_name"
        STANDBY_SUBNET="standby_subnet_name"
        STANDBY_VNET_ID="/subscriptions/${AZURE_SUBSCRIPTION_ID}/resourceGroups/${RESOURCE_GROUP}/providers/Microsoft.Network/virtualNetworks/${STANDBY_VNET}"
        STANDBY_SUBNET_ID="/subscriptions/${AZURE_SUBSCRIPTION_ID}/resourceGroups/${RESOURCE_GROUP}/providers/Microsoft.Network/virtualNetworks/${STANDBY_VNET}/subnets/${STANDBY_SUBNET}"
      2. Select and verify the Azure subscription:
        
        az account set --subscription "$AZURE_SUBSCRIPTION"
        
        az account show \
          --query "{name:name,id:id,isDefault:isDefault,tenantId:tenantId,user:user.name}" \
          --output json
      3. Show the primary Autonomous AI Database Serverless:
        
        az oracle-database autonomous-database show \
          --resource-group "$RESOURCE_GROUP" \
          --name "$PRIMARY_ADB_NAME" \
          --query "{id:id,name:name,resourceGroup:resourceGroup,location:location,lifecycleState:properties.lifecycleState,dbVersion:properties.dbVersion,dbWorkload:properties.dbWorkload,computeModel:properties.computeModel,computeCount:properties.computeCount,storageGbs:properties.dataStorageSizeInGbs,licenseModel:properties.licenseModel,subnetId:properties.subnetId,vnetId:properties.vnetId,supportedRegionsToCloneTo:properties.supportedRegionsToCloneTo}" \
          --output json
    2. Create Cross-Region Autonomous Data Guard Standby
      1. Do not enclose the entire --cross-region-disaster-recovery object in quotation marks. The Azure CLI extension expects separate key=value tokens for this object argument.
        
        az oracle-database autonomous-database create \
          --resource-group "$RESOURCE_GROUP" \
          --name "$STANDBY_ADB_NAME" \
          --location "$STANDBY_LOCATION" \
          --subnet-id "$STANDBY_SUBNET_ID" \
          --vnet-id "$STANDBY_VNET_ID" \
          --display-name "$STANDBY_ADB_NAME" \
          --compute-model $COMPUTE_MODEL \
          --compute-count $COMPUTE_COUNT \
          --data-storage-size-in-gbs 1024 \
          --license-model $LICENSE_MODEL \
          --db-version $DB_VERSION \
          --character-set $CHARACTER_SET \
          --ncharacter-set $NCHARACTER_SET \
          --cross-region-disaster-recovery \
            remote-disaster-recovery-type=Adg \
            source=CrossRegionDisasterRecovery \
            source-id="$PRIMARY_ADB_ID" \
            source-location="$PRIMARY_LOCATION" \
            is-replicate-automatic-backups=true
      Note

      • Use --no-wait only when the runbook, script, or infrastructure automation includes a separate polling step. This option starts the long-running Azure operation and returns control immediately instead of keeping the CLI process blocked until the database operation completes. This option is useful in the following situations:
        • A shell script or pipeline needs to start the operation, log the request, and poll by using az resource wait.
        • Terraform, CI/CD, or another orchestrator manages wait, retry, and error handling outside the Azure CLI command.
        • A higher-level workflow launches and monitors multiple independent operations.
      • Do not use --no-wait during a manual run unless the next command explicitly waits for the database to reach a stable state. Always validate the final resource state before continuing with switchover, failover, encryption, or application cutover tasks.
    3. Validate Cross-Region Autonomous Data Guard
      1. View existing Autonomous AI Database.
        
        az oracle-database autonomous-database list \
          --query "[?name=='$PRIMARY_ADB_NAME' || name=='$STANDBY_ADB_NAME'].{name:name,resourceGroup:resourceGroup,location:location,lifecycle:properties.lifecycleState,provisioningState:properties.provisioningState,role:properties.role,localDG:properties.isLocalDataGuardEnabled,remoteDG:properties.isRemoteDataGuardEnabled,peerDbId:properties.peerDbId,peerDbIds:properties.peerDbIds}" \
          --output table
      2. Display the standby configuration:
        
        az oracle-database autonomous-database show \
          --resource-group "$RESOURCE_GROUP" \
          --name "$STANDBY_ADB_NAME" \
          --query "{name:name,state:properties.lifecycleState,provisioningState:properties.provisioningState,role:properties.role,remoteDR:properties.remoteDisasterRecoveryConfiguration,peerDbIds:properties.peerDbIds,vnet:properties.vnetId,subnet:properties.subnetId}" \
          --output json
    4. Obtain the Peer Database ID
      1. For cross-region switchover and failover, use with the peer database Azure resource ID from properties.peerDbIds[0] instead of the OCI OCID. The Azure CLI help text can be misleading, but the working commands use the Azure value.

        Get the peer database ID from the database where you run the action. For the working cross-region command pattern, run the action on the current standby or disaster recovery resource so the peer is the current primary database.

        
        # Define variables for the Source Autonomous Database name
        
        ACTION_SOURCE_ADB_NAME="$STANDBY_ADB_NAME"
        
        PEER_DB_ID=$(az oracle-database autonomous-database show \
          --resource-group "$RESOURCE_GROUP" \
          --name "$ACTION_SOURCE_ADB_NAME" \
          --query "properties.peerDbIds[0]" \
          --output tsv)
        
        PEER_DB_LOCATION=$(az resource show \
          --ids "$PEER_DB_ID" \
          --query location \
          --output tsv)
        
        echo "$PEER_DB_ID"
        echo "$PEER_DB_LOCATION"
        
      2. If the current primary database variables are already defined and up to date, these values are equivalent:
        
        PEER_DB_ID="$PRIMARY_ADB_ID"
        PEER_DB_LOCATION="$PRIMARY_LOCATION"
    5. Switchover

      A switchover is a planned role transition between the current primary database and the remote standby database.

      1. For cross-region Autonomous Data Guard, run the switchover against the current standby or disaster recovery resource. The peer is the current primary database. This approach matches the working failover command pattern and avoids the ResourcePostActionFailed: Conflict error that occurs when the action runs against the current primary database.
        
        SWITCHOVER_SOURCE_ADB_NAME="$ACTION_SOURCE_ADB_NAME"
      2. Perform the switchover:
        
        az oracle-database autonomous-database switchover \
          --resource-group "$RESOURCE_GROUP" \
          --autonomousdatabasename "$SWITCHOVER_SOURCE_ADB_NAME" \
          --peer-db-id "$PEER_DB_ID" \
          --peer-db-location "$PEER_DB_LOCATION"
    6. Failover

      Use failover only when the primary database is unavailable or when the disaster recovery procedure authorizes a failover test.

      1. For cross-region Autonomous Data Guard, run the failover from the current standby or disaster recovery resource. Use the current primary database as the peer database. Running the failover against the current primary database can return the ResourcePostActionFailed: Conflict error.
      2. Set the failover source and peer database details:
        FAILOVER_SOURCE_ADB_NAME="$ACTION_SOURCE_ADB_NAME"
      3. In this example, the failover operation runs on the standby or disaster recovery resource and uses the primary database as the peer database. Perform the failover:
        
        az oracle-database autonomous-database failover \
          --resource-group "$RESOURCE_GROUP"\--autonomousdatabasename"$FAILOVER_SOURCE_ADB_NAME"\
          --peer-db-id "$PEER_DB_ID"\
          --peer-db-location "$PEER_DB_LOCATION"
    7. Change Cross-Region Autonomous Data Guard to Backup-Based Disaster Recovery

      Use this procedure when an existing cross-region disaster recovery configuration must use backup-based disaster recovery instead of Autonomous Data Guard.

      1. For cross-region disaster recovery, run the change against the current standby or disaster recovery resource. Running the change against the current primary database can return the ResourcePostActionFailed: Conflict error.
        
        DR_CONFIG_SOURCE_ADB_NAME="$STANDBY_ADB_NAME"
        
        az oracle-database autonomous-database change-disaster-recovery-configuration \
          --resource-group "$RESOURCE_GROUP"\--autonomousdatabasename"$DR_CONFIG_SOURCE_ADB_NAME"\
          --disaster-recovery-type BackupBased \
          --is-replicate-automatic-backups true
      2. Set --is-replicate-automatic-backups to false if the design does not require replication of seven days of backups to the peer region.
      3. To change the relationship back to Autonomous Data Guard:
        
        az oracle-database autonomous-database change-disaster-recovery-configuration \
          --resource-group "$RESOURCE_GROUP"\--autonomousdatabasename"$DR_CONFIG_SOURCE_ADB_NAME"\
          --disaster-recovery-type Adg \
          --is-replicate-automatic-backups true
      4. Validate the disaster recovery type on the disaster recovery resource after the change:
        
        az oracle-database autonomous-database show \
          --resource-group "$RESOURCE_GROUP" \
          --name "$DR_CONFIG_SOURCE_ADB_NAME" \
          --query "{name:name,lifecycle:properties.lifecycleState,provisioningState:properties.provisioningState,role:properties.role,remoteDG:properties.isRemoteDataGuardEnabled,peerDbIds:properties.peerDbIds,remoteDR:properties.remoteDisasterRecoveryConfiguration}" \
          --output json
    8. Delete Cross-Region Autonomous Data Guard Standby
      1. Use this procedure only to remove the remote standby database from Azure.
        
        az oracle-database autonomous-database delete \
          --resource-group "$RESOURCE_GROUP"\--name"$STANDBY_ADB_NAME"\--yes\
          --no-wait
  • Cross-region disaster recovery is only available through the Azure Portal and Azure CLI.

  • There is currently no content for this page. Oracle AI Database@Azure team intends to add content here, and this placeholder text is provided until that text is added. The Oracle AI Database@Azure team is excited about future new features, enhancements, and fixes to this product and this accompanying documentation. We strongly recommend you watch this page for those updates.