Friday, August 7, 2009

Upgrade Oracle 8i to 10g

Here are the simple steps to upgrade your oracle 8i database to 10g.

Please see the below guidelines:-

. Direct upgrade to 10g supported from 9.2.0,9.0.1,8.1.7,8.0.6.
. Make sure you take a cold backup of the database before upgradation.
. Make sure that required oracle version already installed on the system.
. Make sure you backup configuration files before you update for ex: - init.ora.
. Apply security patches after database upgraded to higher version, if necessary

Step:-1 Pre-upgradation check
Login to the Oracle 8i Database and run the utlu102i.sql from <10g_oracle_home>/rdbms/admin/utlu102i.sql.

Spool the contents of the file.
SQL> spool pre_check.log
SQL> @<10g_oracle_home>/rdbms/admin/utlu102i.sql
SQL> spool off

Review the spool file and make the necessary Database/parameter changes based on the recommendation.

Step:-2 Take cold backup of the database
Take backup using RMAN or command line file level backup

Step:-3 update oratab (/etc/oratab) and copy the init.ora from oracle 8i to 10g
Change the oracle home from 8i to 10g home to which it is being upgraded to.

For ex:-testdb:/oracle/v8174:N:UTF8 <-- 8i entry testdb:/oracle/v1020:N:UTF8 < --10g entry Copy init.ora from 8i to 10g oracle home. For ex:- $cp <8i_oracle_home>/dbs/init.ora <10g_oracle_home>/dbs/init.ora

If you are upgrading a RAC database, then set CLUSTER_DATABASE to “FALSE” during the upgrade.

Step:-4 Set the environment and Start the upgrade
Set the ORACLE SID and ORACLE_HOME

$ORACLE_SID=; export ORACLE_SID
$ORACLE_HOME=<10g_oracle_home>; export ORACLE_HOME

Run the upgrade script
$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup upgrade

Create a SYSAUX tablespace.
SQL> CREATE TABLESPACE sysaux DATAFILE ‘’ SIZE 512M REUSEEXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

SQL> spool upgrade_10g.log
SQL> @<10g_oracle_home>/rdbms/admin/catupgrd.sql
SQL> spool off

Step:-5 Post upgradationCheck weather all components successfully upgraded or not.

SQL> @<10g_oracle_home>/rdbms/admin/utlu102s.sql
Run the script to recompile invalid objects.
SQL> @<10g_oracle_home>/rdbms/admin/utlrp.sql

Step:-6 make the database security compliant.
Check the current CPU Version.
SQL> select * from registry$history;

Please see the below link to check available Critical Patch Updates to your 10g Oracle version.http://www.oracle.com/technology/deploy/security/alerts.htm

Regards,
Satishbabu Gunukula
http://www.oracleracexpert.com/

6 comments: