ORA-600 … While Upgrading Or Patching Databases To 10.2.0.3
If you’re upgrading (or patching) database created as 32-bit to Oracle 10.2.0.3 (64-bit) make sure you read and understand the Metalink note: 412271.1 ORA-600  and ORA-600 [KOKEIIX1] Reported While Upgrading Or Patching Databases To 10.2.0.3.
Without installing the necessary patch, on top of 10.2.0.3 and before you start your upgrade, you’ll likely hit the bug which will end in corrupted database.
To check, if your database was created as 32-bit, Oracle is suggesting examining string returned by query:
sql> select metadata from sys.kopm$ ;
It you find B023 in the string then database was created as 32-bit, otherwise you’ll find B047.
Metalink note is also telling us that this bug will happen if we patch the 32-bit 10.2.0.2 release to 10.2.0.3 (64-bit). I performed several tests (on Windows x64, with Oracle EE 10.2.0.3 and without any Patch on top of that!) and could not reproduce the ORA-600 error.
Btw. performing the word size change and patching at the same time is not recommended by Oracle – but nevertheless a valid option, otherwise I would expect from Oracle to prevent us from doing that in the first place, by including check in upgrade script or something similar.
Despite of my test results that are suggesting that ORA-600 will not happen during upgrade of ours 32-bit 10.2.0.2 databases, I’ll (of course) follow the recommendation from Oracle and install the Patch 5 (or higher) on top of 10.2.0.3, before I’ll run upgrade/patch script.
For a long time, I thought Oracle will never provide the patch for Windows platform and that we’ll have to wait for 10.2.0.4 release.
(Un)fortunately, Oracle updated the Metalink note with the information about the fix for the bug being included in Patch 5 (and higher) for Windows platform on 14th of September 2007 – four months after the release of Patch 5. May I say, that I’m not a happy camper! :-(