How to Refresh an Autonomous Database and Reconfigure APEX
Abotts Logo Abotts Partners with singapore based tech giant to help migrate their public sector customer from Sybase to SQL server.
Upworks Logo Abotts partners with NYPL to integrate with their partner libraries.
Abotts Logo ABOTTS partners with County in Los Angeles to upgrade their court infrastructure into new technologies.
Upworks Logo Upworks Inc partners with ABOTTS to build their Oracle Cloud Infrastructure (OCI) and migrate their custom applications to OCI.
Abotts partners with startup to manage and maintain their IT infrastructure and support SOC2 reporting.
Gnorth Logo Abotts Inc Partners with Gnorth consulting to deploy exadata and ODA for a large public sector customer.
Abotts Logo Abotts Partners with singapore based tech giant to help migrate their public sector customer from Sybase to SQL server.
Upworks Logo Abotts partners with NYPL to integrate with their partner libraries.
Abotts Logo ABOTTS partners with County in Los Angeles to upgrade their court infrastructure into new technologies.
Upworks Logo Upworks Inc partners with ABOTTS to build their Oracle Cloud Infrastructure (OCI) and migrate their custom applications to OCI.
Abotts partners with startup to manage and maintain their IT infrastructure and support SOC2 reporting.
Gnorth Logo Abotts Inc Partners with Gnorth consulting to deploy exadata and ODA for a large public sector customer.

Autonomous Database Refresh Activity (ADB & APEX)

This document provides a structured approach for performing a Database Refresh Activity using Oracle Autonomous Database (ADB) and reconfiguring Oracle APEX after refresh.

 

Overview of Database Refresh

A Database Refresh typically involves:

  • Cloning Production ADB to Dev/Test
  • Reconfiguring network settings
  • Downloading and updating the wallet
  • Resetting passwords
  • Updating APEX authentication & roles
  • Reconfiguring email credentials
  • Reapplying for required grants

This ensures the Dev/Test environment is aligned with Production data and structure.

 

Pre-Refresh Information Collection (Source Database)

Navigate in OCI:

Root Compartment → Dev → Database

Open the existing Dev database and collect:

  • Private Endpoint IP
  • Private Endpoint URL
  • Subnet details
  • VCN details
  • NSG configuration

If required as part of the refresh policy:

  • Stop and terminate the old Dev database.

 

Create a clone from Production (Refresh Process)

Navigate:

Root Compartment → Prod → Database

Open the Production ADB and select:

More Actions → Create Clone

Clone Configuration Steps

Step 1: Select Clone Type

  • Full Clone (commonly used for refresh)

Step 2: Choose Target Compartment

  • Dev → Database

Step 3: Provide Basic Details

  • Display Name
  • Database Name
  • Workload Type

Step 4: Configure Database Settings

  • Database Version
  • ECPU Count
  • Storage Size
  • Backup Retention Period

Step 5: Set ADMIN Password

Step 6: Configure Network

  • Select VCN
  • Choose Private Endpoint access
  • Select Subnet
  • Assign Private IP
  • Provide Hostname
  • Select NSG

Click Create Clone.

Database status flow:

  • Provisioning → Available

 

Wallet Download & Configuration

After the database becomes Available:

  1. Go to Database Connection
  2. Click Download Wallet
  3. Extract wallet
  4. Update tnsnames.ora if the private endpoint IP needs adjustment
  5. Re-zip wallet for application or SQL Developer usage

 

Change APEX Authentication Mode (If Required)

Log in as ADMIN in SQL Developer and execute:

BEGIN

 apex_instance_admin.set_parameter(

   ‘APEX_BUILDER_AUTHENTICATION’,

   ‘DB’

 );

END;

/

COMMIT;

This changes authentication from SSO to Database authentication.

 

Execute Post-Refresh SQL Scripts

Execute:

  • Procedure creation SQL
  • Job creation SQL

Steps:

  1. Copy SQL file path
  2. Open SQL Developer
  3. Connect as ADMIN
  4. Execute scripts

 

Reset Database User Passwords

After refresh:

  1. Go to Administration
  2. Select Database Users
  3. Search user
  4. Edit user
  5. Update password
  6. Save

Repeat for all required application users.

 

APEX Application Reconfiguration

Login to APEX workspace.

Navigate:

App Builder → Application → Shared Components

1. Update Authentication Scheme

  • Go to Security → Authentication Schemes
  • Open Oracle APEX Accounts
  • Click Make Current
  • Ensure Is Current = Yes

2. Update Authorization Schemes

Navigate:

Shared Components → Security → Authorization Schemes

For each scheme (Admin / Developer / User):

  • Type → Application Role
  • Name → Corresponding Role Name
  • Click Apply Changes

3. Update Security Attributes

Navigate:

Security → Security Attributes

Set:

Source for Role or Group Schemes 

Click Apply Changes.

4. Access Control User Role Assignments

Configure Application Access Control

Navigate to:

Application Access Control

  1. Click Add User Role Assignment
  2. Enter username
  3. Assign required roles
  4. Create Assignment

5.Manage APEX Users

Navigate:

Administration → Manage Users and Groups

To create user:

  • Click Create User
  • Enter username & email
  • Assign Developer role if needed
  • Set password
  • Save

To update:

  • Select user
  • Update password
  • Save

 

Recreate Email Credential

Log in as the application schema and recreate the credentials:

BEGIN

 DBMS_CLOUD.DROP_CREDENTIAL(‘EMAIL_CRED’);

END;

/

 

BEGIN

 DBMS_CLOUD.CREATE_CREDENTIAL(

   credential_name => ‘EMAIL_CRED’,

   username        => ‘<email-username>’,

   password        => ‘<email-password>’

 );

END;

/

Test email:

BEGIN

 DBMS_CLOUD_NOTIFICATION.SEND_DATA(

   provider        => ’email’,

   credential_name => ‘EMAIL_CRED’,

   query           => ‘SELECT SYSDATE FROM dual’,

   params          => json_object(

     ‘recipient’ VALUE ‘<recipient>’,

     ‘subject’   VALUE ‘Test Subject’,

     ‘message’   VALUE ‘Test Message’

   )

 );

END;

/

Successful execution will generate a confirmation email.

 

Apply Required Grants

Log in as ADMIN:

GRANT EXECUTE ON DBMS_SQL TO <schema_name>;

GRANT SELECT ON DBA_TAB_PRIVS TO <schema_name>;

GRANT SELECT ON DBA_USERS TO <schema_name>;

 

Post-Refresh Validation Checklist

  • Database status = Available
  • Wallet updated and tested
  • APEX authentication verified
  • All SQL scripts executed
  • User passwords reset
  •  Authorisation roles verified
  • Access control assignments update
  •  Email credential tested
  • Required grants applied.