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…
Related Posts for DB Upgrade
- Upgrade overview for Oracle Database to 11g Release 1 (11.1)
- Upgrade Oracle Database 10g to 11g R1 (11.1.X)
Popularity: 23% [?]




Good hands-on exercises (installation, patching, cloning), very experienced trainer worth every penny
13 users commented in " Upgrade Oracle Database 10g to 11g R1 (11.1.X) "
Follow-up comment rss or Leave a TrackbackHi atul,
Nice doc..
Appreciate your efforts.
Thanks a ton for you to keep us updated to latest oracle technologies.
Thanks,
Venu
One doubt..
Is is mandatory to modify compatibility parameter before 11g upgrade?
Thanks,
Venu
Hi Atul
Could you please let me know the downtime of upgrade.
Rgds
DBA.
Good document….Thanks.
Hi Atul
Post db upgrade when trying to bring db up,got below error message.
Kindly let me know the possibility of error.
SQL> startup
ORACLE instance started.
Total System Global Area 284565504 bytes
Fixed Size 1299428 bytes
Variable Size 92277788 bytes
Database Buffers 188743680 bytes
Redo Buffers 2244608 bytes
Database mounted.
ORA-01092: ORACLE instance terminated. Disconnection forced
Process ID: 12879
Session ID: 155 Serial number: 3
Rgds
ORA-01092: ORACLE instance terminated Disconnection forced is a generic error when Oracle detects a serious problem at database start time.
Check alert log and see root cause of issue
After upgrade I found file_name is comming null as selecting from dba_data_files
SQL> alter tablespace USERS add datafile ‘/u/07/ORACLE/psgdba/users02.dbf’ size 500m;
Tablespace altered.
SQL> select file_name from dba_data_files;
5 rows selected.
thanks alot
Hello, Thanks for the information. We are upgrading and moving the database from one server to another at the same time. What should the process of upgrade be? Should we upgrade the db first before moving it to the new server or upgrade it after?
Did you already upgrade an Oracle 10g RAC instance to Oracle 11g RAC with ASM?
Hi Atul,
What would be the additional steps in case of a physical standby database?
Can you please post the sequence of that also and where it fits in the list of steps that you have mentioned here?
Many thanks for this article.
Thanks
Nagarajan
hi
this is very good Doc .. I was Done successfully done Oracle 10g to 11g up gradation.
thx a lot…
we r excepting Doc’s from ur side.
thanks
Boopathi.P
Hi Shiva,
Even i too came across the same situvation, pls try to run the catuprd script or try to query the dba_data_files from another window. Probably you could see all the datafiles.
Thanks,
Dhanasekar
Leave A Reply