Wednesday, 15 April 2026

 ADOP Full Cleanup in EBS R12.2 – What DBAs Must Know Before Running cleanup_mode=full

Oracle E-Business Suite R12.2 introduced Online Patching (ADOP) to support near-zero downtime patching. While most DBAs focus heavily on the apply and cutover phases, the cleanup phase is equally critical and, if misunderstood, can lead to irreversible data structure changes.


This blog explains what happens during ADOP full cleanup, how to preview cleanup actions, and how DBAs can control what gets cleaned up, especially unused columns.


Understanding ADOP Cleanup (cleanup_mode=full)

During an ADOP cycle, when we run:

adop phase=cleanup cleanup_mode=full

Oracle performs an aggressive cleanup of obsolete objects created during online patching. This includes removal of:

Unused database editions

Obsolete objects

Dropped or unused database columns

Redundant metadata from previous patch cycles

⚠️ Important:

Unused columns dropped during full cleanup cannot be recovered easily, and this can impact customizations, reports, or integrations that still reference them.

DBA Responsibility – Awareness & Team Education

As an Oracle Apps DBA, it is your responsibility to:

Fully understand the cleanup behavior

Educate team members on cleanup risks

Avoid blindly running cleanup_mode=full

Validate what will be removed before execution

Proactive Safety Step in EBS 12.2.11 – Cleanup Preview Mode

From EBS 12.2.11 onwards, Oracle provides a proactive way to preview cleanup actions without executing them.

Preview Cleanup Actions (No Execution)

adop phase=cleanup -n

This command:

Displays a list of actions that would be executed

Shows whether unused columns will be dropped

Does not perform any cleanup

✅ This is highly recommended before running a full cleanup in PROD.

How to Prevent Dropping Unused Columns During Cleanup

If your business or technical team wants to retain unused columns, Oracle allows DBAs to control cleanup behavior using a parameter file.

ADOP Cleanup Parameter File Location

The cleanup parameter file is typically located at:

$APPL_TOP/admin/<context_name>/adop_<datetime>/adopcleanup_<datetime>.envtxt

Default Cleanup Parameters (Example)

CLEANUP_UNCOMPRESSED_TABLES=Y

CLEANUP_UNUSED_INDEXES=Y

CLEANUP_UNUSED_TABLES=Y

CLEANUP_UNUSED_SEQUENCES=Y

CLEANUP_UNUSED_SYNONYMS=Y

CLEANUP_UNUSED_MATERIALIZED_VIEWS=Y

CLEANUP_UNUSED_REPLICATION_OBJECTS=Y

By default, Oracle may also clean unused columns during a full cleanup.

Excluding Unused Columns from Cleanup

To prevent unused columns from being dropped, add the following parameter:

CLEANUP_UNUSED_COLUMNS=N

Updated Parameter File Example

CLEANUP_UNCOMPRESSED_TABLES=Y

CLEANUP_UNUSED_INDEXES=Y

CLEANUP_UNUSED_TABLES=Y

CLEANUP_UNUSED_SEQUENCES=Y

CLEANUP_UNUSED_SYNONYMS=Y

CLEANUP_UNUSED_MATERIALIZED_VIEWS=Y

CLEANUP_UNUSED_REPLICATION_OBJECTS=Y

CLEANUP_UNUSED_COLUMNS=N

💡 This ensures that unused columns are skipped during cleanup.

Running ADOP Cleanup with Custom Parameters

Once the parameter file is updated, run cleanup as follows:

adop phase=cleanup cleanup_mode=<mode> hotpatch_id=<hotpatch_id> paramfile=<path_to_param_file>


Example:

adop phase=cleanup cleanup_mode=full paramfile=/u01/appl/admin/PROD/adopcleanup_20251216.envtxt

Fine-Grained Control – What You Can Choose to Clean

Using the parameter file, DBAs can selectively decide whether to clean:

✅ INDEXES

✅ TABLES

✅ SEQUENCES

✅ SYNONYMS

✅ MATERIALIZED VIEWS

✅ REPLICATION OBJECTS

❌ UNUSED COLUMNS (optional)

This flexibility allows you to balance system hygiene with business safety.

No comments:

Post a Comment

  EBS ADOP Woes: Tackling ORA-20001 in Cleanup Phase   This blog aims to support DBAs who encounter issues during the EBS application R12.2 ...