Saturday, March 24, 2007

Upgrading Oracle Database Server 10g Release 10.2.0.1 to Oracle Database 10g Release 10.2.0.3 on Linux/Fedora core 6

We had recently upgraded one of our test databases from 10.2.0.1 to 10.2.0.3 on Fedora Core 6. I would like to share the steps followed for this task.

Note: This is only for Oracle Database Server Upgrade.
If you have Oracle E-Business Suite, Physical/Logical Standby database, RAC, and Other separate options (i.e. RMAN) enabled in place, please read the README.html document included in the Patchset (5337014).


Details:

Operating Version Details: Linux localhost.localdomain 2.6.18-1.2798.fc6 #1 SMP Mon Oct 16 14:54:20 EDT 2006 i686 i686 i386 GNU/Linux
Oracle Version Details (Current) : Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
Oracle Instance Name: testdb
Patchset (to be applied on) : p5337014_10203_LINUX.zip (Downloaded from http://www.metalink.oracle.com/)

Requirements for installing the Patchset # 5337014

Oracle Universal Installer Version Requirements
The Oracle Universal Installer release must be 10.1.0.3 (This includes in the Patchset).

System Requirements
* Operating System must be redhat-3, SuSE-9, SuSE-10, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
Note: Installation/Upgrade of Oracle 10g on Fedora Core 6 Is not supported by Oracle, but as a workaround, we had to change the the /etc/redhat-release file replacing the current release information (Fedora Core release 6 (Zod)) with redhat-4
* Oracle Database 10g (10.2.0.1) or later

Preinstallation Tasks

To download and extract the patch set installation software:
* Download the p5337014_10203_LINUX.zip patch set installation archive to a directory "/home/oracle/patches" that is not the Oracle home directory or under the Oracle home directory.
* To unzip and extract the installation files:
$ unzip p5337014_10203_LINUX.zip

Set the ORACLE_HOME and ORACLE_SID Environment Variables
Bourne, Bash, or Korn shell:·
$ ORACLE_HOME=/u01/app/oracle
$ ORACLE_SID=testdb·
$ export ORACLE_HOME ORACLE_SID
C shell:·
% setenv ORACLE_HOME /u01/app/oracle
% setenv ORACLE_SID testdb
The oracle_home is the Oracle home directory where the Oracle10g installation that you want to upgrade is installed, and sid is the SID of the database that you want to upgrade.


Stopping All Processes for a Single Instance Installation
### To stop Listener Service
$lsnrctl
LSNRCTL> stop
### To stop Enterprise Manager Service
$ emctl stop dbconsole
### To stop iSQLPlus Service
$ isqlplusctl stop
### To Shut Down Oracle Databases
$ sqlplus /nolog
$ connect /as sysdba
SQL> SHUTDOWN IMMEDIATE;

Back Up the System
Oracle recommends that you create a backup of the Oracle10g installation before you install the patch set.We took the backup of Oracle home and all the database files.

Installation Tasks

Installing the Oracle Database 10g Patch Set Interactively
** Log in as the oracle user.
su - oracle
password:
** If you are not installing the software on the local system then, run the following command on remote machine:
Bourne, Bash, or Korn shell:
$ export DISPLAY=localhost:0.0
C shell:
% setenv DISPLAY local_host:0.0
Now to enable X applications, run the following command on the machine that you want to use to display Oracle Universal Installer (your workstation or PC):
$ xhost + [fully_qualified_remote_host_name]
** To start Oracle Universal Installer, where patchset_directory is the directory where you unpacked the patch set software
$ cd /home/oracle/patches/Disk1
$ ./runInstaller
** On the Welcome screen, click Next.
** In the Specify Home Details screen, select the name of the Oracle home that you want to update, or select the Path that you want to update from the list, then click Next.
** On the Summary screen, click Install.
This screen lists all of the patches available for installation.
** When prompted, run the $ORACLE_HOME/root.sh script as the root user.
** On the End of Installation screen, click Exit, then click Yes to exit from Oracle Universal Installer.

Postinstallation Tasks

Upgrading of Oracle 10g Software from Release 10.2.0.1 to 10.2.0.3 is now successfully done. Now, earlier Oracle Database needs to be upgraded from 10.2.0.1 to 10.2.0.3. Oracle recommends two ways to upgrade the database, one is using DBUA (Database Upgrade Assistance), and another is Manual database upgrade. Here we have followed manual method for upgrade.

Manually Upgrading a Release 10.2 Database

* Required Preupgrade Checks
** Check the SYSTEM Tablespace Size
SQL> SELECT sum(bytes/1024/1024) "Size in MB"
2 FROM dba_free_space
3 WHERE tablespace_name='SYSTEM';

Size in MB
----------
97.125

We have enough free space in SYSTEM tablespace.
If not enough free space in SYSTEM tablespace, then add/resize the datafile as below.
## TO add a datafile
ALTER TABLESPACE SYSTEM
ADD ' /u02/app/oradata/unic/system02.dbf'
SIZE 100M;

## To resize a existing datafile.
ALTER DATABASE DATAFILE ' /u02/app/oradata/unic/system01.dbf'
RESIZE 500M;


* Set the SHARED_POOL_SIZE and JAVA_POOL_SIZE Initialization Parameters
##Start the database with the NOMOUNT option:
SQL> STARTUP NOMOUNT
## To check initialization parameter file (initsid.ora or spfilesid.ora)
SQL> SHOW PARAMETER PFILE;
## To determine the current values of these parameters:
SQL> SHOW PARAMETER SHARED_POOL_SIZE
SQL> SHOW PARAMETER JAVA_POOL_SIZE
##If the system is using a server parameter file:
If necessary, set the value of the SHARED_POOL_SIZE initialization parameter to at least 150 MB:
SQL> ALTER SYSTEM SET SHARED_POOL_SIZE='150M' SCOPE=spfile;
If necessary, set the value of the JAVA_POOL_SIZE initialization parameter to at least 150 MB:
SQL> ALTER SYSTEM SET JAVA_POOL_SIZE='150M' SCOPE=spfile;
##If the system uses an initialization parameter file
If necessary change the values of the SHARED_POOL_SIZE and the JAVA_POOL_SIZE initialization parameters to at least 150 MB in the initialization parameter file (initsid.ora).

Shut down the database:
SQL> SHUTDOWN

Upgrading a Release 10.2 Database

##Login as Oracle User
Su – oracle
Password:
##Start the Listener
$lsnrctl
LSNRCTL> START
##Connect to sqlplus as sysdba and start the database in upgrade mode
$sqlplus /nolog
SQL> connect /as sysdba
SQL> STARTUP UPGRADE;
##Run the catupgrd.sql scrips

SQL> SPOOL patch.log

SQL> @?/rdbms/admin/catupgrd.sql

SQL> SPOOL OFF;

Review the patch.log file for errors and inspect the list of components that is displayed at the

end of catupgrd.sql script.

## Restart the database:

SQL> SHUTDOWN IMMEDIATE;

SQL> STARTUP;

Run the utlrp.sql script to recompile all invalid PL/SQL packages now instead of when the packages are accessed for the first time.

SQL> @?/rdbms/admin/utlrp.sql

Start All Oracle Related Services

To Check Current Oracle Version

SQL> select * from v$version;
BANNER

----------------------------------------------------------------

Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - ProdPL/SQL Release 10.2.0.3.0 - ProductionCORE 10.2.0.3.0 ProductionTNS for Linux: Version 10.2.0.3.0 - ProductionNLSRTL Version 10.2.0.3.0 - Production

Common Errors:

** If you attempt to install this patch set in an Oracle home directory that does not contain an Oracle Database 10g release 10.2.0.1 or 10.2.0.2 installation, Oracle Universal Installer displays a warning dialog with the following error:

OUI-10091: There are no patches that need to be applied from the patch set Oracle Database 10g Release 2 Patch Set 2
10.2.0.3

The Oracle Universal Installer does not allow the installation to proceed. Click OK, then click Cancel to end the installation.

** If you do not run the Oracle Database Upgrade Assistant as described in this section, then the following errors are displayed:
ORA-01092: ORACLE instance terminated.
ORA-39700: database must be opened with UPGRADE option.

$sqlplus /nolog
SQL> connect /as sysdba
SQL> STARTUP UPGRADE;

Reference:

Follow the README.html document of patch set # 5337014

Regards,

Sabdar Syed.

12 comments:

Mohammed Taj said...

Good Work Sabdar...

Regards
Taj

canuckrider said...

You are a freakin genius man! I struggled with this issue for days now its fixed. Thanks

Vamshee said...

The information was to the point, Thanks for sharing this information, Sabdar.

Regards,
Vamshee

Sabdar Syed said...

Thank you all for the comments !

Regards,
Sabdar Syed,
http://sabdarsyed.blogspot.com

Unknown said...

I like the youe explanation Sabdar it was really awesome. Keep it up!!!

Sabdar Syed said...

Thanks Fareedul for the comments.

Regards,
Sabdar Syed.

Unknown said...

Excellent Documentation. Because the correct information not able to get. Keep it up.

Thanks
Chandrahasan

Unknown said...

Excellent Documentation. Because the correct information not able to get. Keep it up.

Thanks
Chandrahasan

Unknown said...

Hi Sabdar,

I happend to see Ur blog while I was searching for 10.2.0.1 upgrade. In fact found many sites on this, but Ur blog is too good. You are indeed helping so many ppl. Appreciate it. I would be really thankfull If You can write a to the point blog on installing 11i applications. I saw the site which U had referred, but I dint understand the concept of SLES9 server. I have downloaded the S/w (in the form of .zip files from edelivery.com)on to my PC and have a hard disk to install... But am not very sure how to proceed.
I do work for Oracle placed in Bangalore, India.

Thanks,
Poornima.

Sabdar Syed said...

Thanks chandrahasan and poornima for your comments.

Regards,
Sabdar Syed.

Unknown said...

Hello,

I want the same upgradation,oracle database server 10g release 10.2.0.1 to oracle database 10g release 10.2.0.3 on windowsXP could you guide me.

Thanks,
Uma

oradbahelp said...

Thanks Safder that is awesome , u mentioned every minute details, gud work