Applying Patchset 10.2.0.3 - A Warning
I will soon be installing Oracle Database 10g 10.2.0 at several customer locations, so I began going through our local installation procedures using an old Pentium III single CPU with 512MB RAM running Windows 2000. Thought it might be a good idea to apply the 10.2.0.3 patchset. No problems until I got to these post-installation instructions:
Determine the current values of these parameters:So I ran the commands and got the following response:
SQL> SHOW PARAMETER SHARED_POOL_SIZE
SQL> SHOW PARAMETER JAVA_POOL_SIZE
NAME TYPE VALUEHmmm. . . 0, as in ZERO. So I followed the next step in the readme:
------------------------------------ ----------- -----
shared_pool_size big integer 0
NAME TYPE VALUE
------------------------------------ ----------- -----
java_pool_size big integer 0
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;
I executed the above commands without errors, and then attempted to start the database in upgrade mode. This was the response I got:
SQL> startup upgradeThe readme addresses this error:
ORA-00821: Specified value of sga_target 160M is too small, needs to be at least 320M
Note:So I tried to start the instance using the nomount option:
The value of the SGA_TARGET parameter depends on the environment. If you receive a system error when you restart the database, increase the value of the SGA_TARGET parameter to the value specified in the error.
SQL> startup nomountI went ahead and tried setting the SGA_TARGET parameter anyways:
ORA-00821: Specified value of sga_target 160M is too small, needs to be at least 320M
SQL> alter system set sga_target='320m' scope=spfile;Okay, let's use the pfile I made before applying the patchset (and successfully started the database with):
alter system set sga_target='320m' scope=spfile
*
ERROR at line 1:
ORA-01034: ORACLE not available
SQL> startup pfile=D:\oracle\foobardb_init.oraLooks like it's well and truly hosed. I could spend several hours (more likely days) on the OTN forums and Metalink looking for a fix, or I could wipe Oracle from the registry, delete the ORACLE_HOME from the hard drive, and re-install the database saving myself hours (likely days) of confusion and frustration.
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 1289484 bytes
Variable Size 88081140 bytes
Database Buffers 71303168 bytes
Redo Buffers 7098368 bytes
Database mounted.
ORA-01092: ORACLE instance terminated. Disconnection forced
I don't know what I did wrong. The SHARED_POOL_SIZE and JAVA_POOL_SIZE parameters returned values of 0. Did I really need to alter them to run the catupgrd.sql script?
But if anyone out there does know what went wrong, I'd be interested to know.