3.a Upgrade Oracle Database 11.1.0.7 to 12.1.0.2 on EBS R12.1.3

Oracle E-Business Suite 12.1.3 Upgrade to Database 12c (12.1.0.2)

Overview

This document provides a comprehensive guide for upgrading an Oracle E-Business Suite (EBS) 12.1.3 environment from Oracle Database 11.1.0.7.0 to Oracle Database 12c Release 1 (12.1.0.2). The upgrade process involves applying prerequisite patches, installing the new database binary, performing pre-upgrade checks, executing the database upgrade, and completing post-upgrade tasks.


Prerequisites

ComponentVersion
Source Database11.1.0.7.0
EBS Version12.1.3
Target Database12.1.0.2
Operating SystemOracle Enterprise Linux

Phase 1: Application Preparation

1.1 Stop Application Services

Place the application in maintenance mode and stop all application services:

bash
# Stop all application services
# Put application in maintenance mode

1.2 Apply Application Patches

Apply the following patches using the adpatch utility:

Patch NumberDescription
8796558Required patch
12923944Required patch
13473483Required patch
1628950512c Release 1 interoperability patch for Release 12.1
18843706Apply only if a Recommended Patch Collection (RPC) has been applied
19558309Required patch

Application Commands:

bash
# Apply each patch sequentially
cd /u01/patches/apps/8796558/
adpatch apply=yes driver=u8796558.drv

cd /u01/patches/apps/12923944/
adpatch apply=yes driver=u12923944.drv

cd /u01/patches/apps/13473483/
adpatch apply=yes driver=u13473483.drv

cd /u01/patches/apps/16289505/
adpatch apply=yes driver=u16289505.drv

cd /u01/patches/apps/18843706/
adpatch apply=yes driver=u18843706.drv

cd /u01/patches/apps/19558309/
adpatch apply=yes driver=u19558309.drv

Phase 2: Install Oracle Database 12c Binary

2.1 Create Oracle Home Directory

bash
cd /u01/app/FBS/db/tech_st
mkdir 12.1.0

2.2 Install Database Software

Run the Oracle Universal Installer in silent mode:

bash
cd /path/to/database_installation_files
./runInstaller

Installation Steps:

  1. Uncheck "Receive Security Updates" and click Next (acknowledge warning)


  1. Select Install Database Software Only



  1. Select Single Instance Database Installation




  1. Choose Enterprise Edition


  1. Specify ORACLE_HOME location: /u01/app/FBS/db/tech_st/12.1.0


  1. Use default groups and set all to dba


  1. Run prerequisite checks and proceed with installation





2.3 Run Root Scripts

After installation completes, run the root scripts as the root user:

bash
/u01/app/FBS/db/tech_st/12.1.0/root.sh
 

2.4 Create 12c Environment File

Copy and modify the 11g environment file:

bash
cp /u01/app/FBS/db/tech_st/11.1.0/FBS_fbsebs.env /u01/app/FBS/db/tech_st/12.1.0/FBS_fbsebs.env

Update the file to replace all 11.1.0 references with 12.1.0 and update Perl patch from 5.14.1 as needed.

2.5 Source 12c Environment

bash
. /u01/app/FBS/db/tech_st/12.1.0/FBS_fbsebs.env

# Run NLS data script
perl $ORACLE_HOME/nls/data/old/cr9idata.pl

Phase 3: Apply Database Patches

3.1 Update OPatch

Patch 6880880 - Latest OPatch version for 12.1.0

3.2 Apply Database Patches

Apply the following patches using opatch:

Patch Number
19382851
19393542
19591608
19627012
19649152
20204035
22660003
22731026
23645516

Commands:

bash
export PATH=$ORACLE_HOME/OPatch:$PATH

cd 19382851/
opatch apply

# Repeat for each patch
opatch lsinventory  # Verify all patches are applied

Phase 4: Pre-Upgrade Preparation

4.1 Stop Services

Ensure application and database listener services are down:

bash
# Stop application services
# Stop database listener

4.2 Pre-Upgrade Cleanup

Source the 11g home and connect to SQLPlus:

bash
sqlplus "/ as sysdba"

Execute cleanup commands:

sql
-- Drop SYS.ENABLED$INDEXES (conditional)
DROP TABLE sys.enabled$indexes;

-- Remove MGDSYS schema (conditional)
@?/md/admin/catnomgdidcode.sql

-- Gather dictionary statistics
EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;

4.3 Run Pre-Upgrade Information Tool

Copy the pre-upgrade scripts from the 12c Oracle Home:

bash
cd /u01/app/FBS/db/tech_st/12.1.0/rdbms/admin
cp preupgrd.sql utluppkg.sql $HOME

Execute in SQLPlus:

sql
@utluppkg.sql
@preupgrd.sql

Review the pre-upgrade log:

text
/u01/app/FBS/db/tech_st/11.1.0/cfgtoollogs/FBS/preupgrade/preupgrade.log

4.4 Apply Pre-Upgrade Fixes

sql
@/u01/app/FBS/db/tech_st/11.1.0/cfgtoollogs/FBS/preupgrade/preupgrade_fixups.sql

Key Fixes Applied:

  • Process count adjustment (set to 300)

  • OCM user removal

  • Invalid system table data fix

  • Recycle bin purge

  • Dictionary statistics gathering

4.5 Extend Tablespaces

Enable autoextend for all datafiles:

sql
-- Example: Enable autoextend for a sample datafile
ALTER DATABASE DATAFILE '/u01/app/FBS/db/apps_st/data/system01.dbf' AUTOEXTEND ON MAXSIZE UNLIMITED;

-- Repeat for all datafiles listed in dba_data_files
SELECT 'ALTER DATABASE DATAFILE ''' || file_name || ''' AUTOEXTEND ON MAXSIZE UNLIMITED;' 
FROM dba_data_files;

-- For tempfiles
ALTER DATABASE TEMPFILE '/u01/app/FBS/db/apps_st/data/temp01.dbf' AUTOEXTEND ON MAXSIZE UNLIMITED;

4.6 Manual Configuration Updates

sql
-- Set parameters in init file
PROCESSES=300
job_queue_processes=65

-- Comment out underscore parameters:
-- _b_tree_bitmap_plans = FALSE
-- _disable_fast_validate = TRUE
-- (etc.)

-- Gather dictionary statistics
EXECUTE dbms_stats.gather_dictionary_stats;

4.7 Copy Network Files

Copy admin directory from 11g to 12c:

bash
cp -r /u01/app/FBS/db/tech_st/11.1.0/network/admin/* /u01/app/FBS/db/tech_st/12.1.0/network/admin/

Update paths in:

  • listener.ora

  • sqlnet.ora

  • tnsnames.ora

Phase 5: Database Upgrade

5.1 Launch Database Upgrade Assistant (DBUA)

bash
# Source 12c environment
. /u01/app/FBS/db/tech_st/12.1.0/FBS_fbsebs.env

# Unset ORA_TZFILE
unset ORA_TZFILE

# Launch DBUA
cd /u01/app/FBS/db/tech_st/12.1.0/bin/
./dbua

DBUA Configuration Steps:

  1. Select database to upgrade (FBS)







  1. Review pre-upgrade checks


  1. Configure recovery options








  1. Set parallel degree


  1. Review summary and execute




Note: Ignore any XML parsing errors encountered during the upgrade.



Phase 6: Post-Upgrade Tasks

6.1 Verify Invalid Objects

sql
SELECT COUNT(*) FROM dba_objects WHERE status='INVALID';

6.2 Run Application Grants Script

Copy adgrants.sql from application server to database server:

bash
cp $APPL_TOP/admin/adgrants.sql /u01/app/FBS/db/tech_st/11.1.0/appsutil/admin/

# Execute on database server
sqlplus "/ as sysdba" @$ORACLE_HOME/appsutil/admin/adgrants.sql apps

6.3 Grant CTXSYS Privileges

sql
@?/rdbms/admin/dbmsxdbschmig.sql
@?/rdbms/admin/prvtxdbschmig.plb

-- Grant create procedure privilege
sqlplus apps/apps @adctxprv.sql manager CTXSYS

6.4 Set CTXSYS Parameters

sql
sqlplus "/ as sysdba"
exec ctxsys.ctx_adm.set_parameter('file_access_role', 'public');

6.5 Validate Workflow Ruleset

sql
sqlplus apps/apps @$FND_TOP/patch/115/sql/wfaqupfix.sql APPLSYS APPS

6.6 Gather Statistics for SYS Schema

sql
sqlplus "/ as sysdba"
ALTER SYSTEM ENABLE RESTRICTED SESSION;
@adstats.sql
ALTER SYSTEM DISABLE RESTRICTED SESSION;

6.7 Run FND_CONC Cleanup

sql
sqlplus apps/apps
exec fnd_conc_clone.setup_clean;

6.8 Recreate appsutil

Application Tier:

bash
cd $APPL_TOP
. APPFBS_fbstest.env
perl $AD_TOP/bin/admkappsutil.pl

Copy appsutil.zip to the database server:

bash
cp /u01/app/FBS/inst/apps/FBS_fbstest/admin/out/appsutil.zip $ORACLE_HOME/
unzip -o appsutil.zip

6.9 Recreate Context File (Database Tier)

bash
cd $ORACLE_HOME/appsutil/bin
perl adbldxml.pl appsuser=apps appspasswd=apps jtop=$ORACLE_HOME/jdk

6.10 Run AutoConfig

Database Tier:

bash
perl adconfig.pl contextfile=/u01/app/FBS/db/tech_st/12.1.0/appsutil/FBS_fbstest.xml

Application Tier:

bash
# Clear OC4J caches
rm -fr $INST_TOP/ora/10.1.3/j2ee/oacore/persistence/*
rm -fr $INST_TOP/ora/10.1.3/j2ee/oafm/persistence/*
rm -fr $INST_TOP/ora/10.1.3/j2ee/forms/persistence/*

# Update httpd.conf
# Set KeepAlive Off and Timeout 600

6.11 Apply Final Application Patch

bash
cd /u01/patches/apps/18039691/
adpatch apply=yes driver=u18039691.drv

6.12 Disable Maintenance Mode

Start all application services and disable maintenance mode.


Verification

  1. Verify application services are running

  2. Confirm database version:

    sql
    SELECT version FROM v$instance;
  3. Check for invalid objects

  4. Validate application functionality



Reference Documentation

  • Interoperability Notes EBS 12.0 or 12.1 with RDBMS 12cR1 (Doc ID 1524398.1)


Summary of Critical Path

  1. ✅ Apply application patches

  2. ✅ Install 12c database binary

  3. ✅ Apply database patches

  4. ✅ Run pre-upgrade checks and fixes

  5. ✅ Extend tablespaces

  6. ✅ Execute DBUA upgrade

  7. ✅ Run post-upgrade scripts

  8. ✅ Recreate appsutil and context

  9. ✅ Run AutoConfig on both tiers

  10. ✅ Apply final application patch

  11. ✅ Verify and start services


Important Notes

  • Always perform these steps in a test environment before production

  • Ensure adequate backup of the source database

  • Monitor tablespace usage during the upgrade

  • Address all pre-upgrade errors before proceeding

  • Set PROCESSES=300 as recommended for 12c

  • Remove or comment out underscore parameters from the init file

No comments:

Post a Comment