Upgrade Oracle Database 10g to 11g R1 (11.1.X)

This post covers step by step upgrade of Oracle Database from version 10g (10.2.0.1) to 11g R1 (11.1.0.6) on Unix. You can use this document (with few additional steps mentioned in upgrade guide) to upgrade from 9i or for database on Windows Operating System.
.

Important points before you start 11g upgrade

1. Read Chapter 1, 2 & 3 of Database Upgrade Guide here here
2. Read 11g Installation Guide for your operating system from here
3. Direct Upgrade is possible from 10.2.0.1 and higher
4. There are two methods to upgrade database
a)
Database Upgrade Assistant (DBUA) and
  b) Manual Upgrade
We are going to use Manual Upgrade
5. Install 11g database software in different ORACLE_HOME from source Database

.

Upgrade Steps

1. Prepare to Upgrade

1.1 Install 11g in different (new) ORACLE_HOME with following consideration
a) When prompted for Upgrade an Existing Database (Select NO)

b) On Select Configuration Option  select Install Software Only

.
Use Installation Guide from here
1.2 Analyze database using pre-upgrade information tool ( utlu111i.sql sql script available at 11g_oracle_homne/rdbms/admin/utlu111i.sql  run it from source database i.e. 10g)

sqlplus “/as sysdba”
SQL>spool upgrade_info.log
SQL>@/11g_oracle_home/rdbms/admin/utlu111i.sql

1.3 Check the output of the Pre-Upgrade Information Tool in upgrade_info.log and fix any issues

Obsolete/Deprecated Parameters: [Update Oracle Database 11.1 init.ora or spfile] **************************************************
–> “background_dump_dest” replaced by  “diagnostic_dest”
–> “user_dump_dest” replaced by  “diagnostic_dest”
–> “core_dump_dest” replaced by  “diagnostic_dest”

To fix this obsolete parameter, comment out from initialization parameter file and replace with new parameter like comment above three deprecated parameters and add *.diagnostic_dest

WARNING: –> Database is using an old timezone file version.
…. Patch the 10.2.0.1.0 database to timezone file version 4
…. BEFORE upgrading the database.  Re-run utlu111i.sql after
…. patching the database to record the new timezone file version.

To find time zone file version on source database (10g) run
SQL> select * from v$timezone_file;
If time zone file version is less than 4 then apply time zone patch  5632264 manually for 10.2.0.1 database (more on How to manually upgrade time zone file version on database coming soon … )

1.4 Check invalid objects
SQL> select object_name, owner, object_type from all_objects where status like ‘INVALID’;

1.5 Check version & status of all database components
SQL>select comp_name,version, status from dba_registry;

1.6 Take backup of source database i.e. 10g database

1.7 If you are using spfile, create pfile
SQL> create pfile from spfile ;

This will create pfile in 10g $ORACLE_HOME/dbs/init[SID].ora

1.8 Copy initialization file (pfile) from source (10g) to target (11g)

1.9 Adjust initialization parameter specific to 11g like

a) Remove *.background_dump_dest, *.core_dump_dest, *.user_dump_dest and add
*.diagnostic_dest=’/11g_base’  (11g Base Directory)
b) Change
*.compatible=’10.2.0.1.0′
to
*.compatible=’11.1.0′

.

.

2. Upgrade Database

2.1 Shut down source database (10g) – Your downtime starts here
sqlplus “/as sysdba”
SQL>shutdown immediate

2.2 Set your environment variables to Oracle Database 11g Release 1 (11.1) :

export ORACLE_HOME=/u01/oracle/11gbase/11.1.0
export ORACLE_SID=TEST
export PATH=$ORACLE_HOME/bin:$PATH

2.3 Start Upgrade
sqlplus “/as sysdba”

SQL> startup upgrade
Check shared_pool & java_pool size, to set new values

SQL>alter system set java_pool_size=512M;
SQL>alter system set shared_pool_size=800M;

SQL> spool upgrade.log
SQL> @?/rdbms/admin/catupgrd.sql  (Upgrade process shut down database after catupgrd.sql)

Check alert log in 11g at
/11gBase_Install/diag/rdbms/[sid]/[SID]/trace/alert_[SID].log

2.4 Run Post-Upgrade Status Tool provides a summary of the upgrade
SQL> startup
SQL>@?/rdbms/admin/utlu111s.sql

If you hit error like”ORA-00001: unique constraint (SYS.I_DIANA_VERSION) violated” check metalink note # 744693.1

2.5 Perform upgrade actions that do not require the database to be in UPGRADE mode
SQL>@?/rdbms/admin/catuppst.sql

2.6 Compile Invalid Objects
SQL>@?/rdbms/admin/utlrp.sql
Check invalid objects
SQL> select count(*) from dba_objects where status like ‘INVALID’;

.

.

3. Post Upgrade steps

3.1 Check status of database components
SQL>select comp_name,version, status from dba_registry;

3.2 Copy tnsnames.ora, listener.ora, sqlnet.ora and include file from source (10g) oracle_home to target (11g) oracle_home

3.3 Back up upgraded (11g) database

.

References

  • Oracle 11g Installation Guide
  • Oracle Database 11g Upgrade Guide
  • 429825.1  Complete Checklist for Manual Upgrades to 11gR1
  • 744693.1  ORA-00001 For SYS.DIANA_VERSION$ During RDBMS Upgrade From 11.1.0.6 To 11.1.0.7
  • 413671.1  Applying “version 4” Time Zone Files on an Oracle Database
  • 396387.1  Workarounds when Database time zone patches are not available for your patchset
  • 396671.1  Usage of utltzuv2.sql before updating time zone files in Oracle 10
  • 730057.1  Upgrading to 11g Fails with ORA-01722: invalid number

Issues during Oracle 11g Database upgrade and how to upgrade 11i/R12 database to 11g coming soon…

About the Author Masroof Ahmad

Leave a Comment:

33 comments
Add Your Reply