Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> A tale of data dictionary corruption in Oracle10gR2
I just wanted to share some information with this list on a corruption
scenario that I have recently experienced in my lab environment. I
recently upgraded an Oracle applications 11.5.9 database from version
9.2.0.6(64-bit) to version 10.2.0.2 (64-bit) on Solaris9. The upgrade
went fine. While testing the new plsql setting where the plsql code can
be natively compiled, I ran into some issues that eventually corrupted
the data dictionary. This is what happened:
The caveat of running this procedure is that it compiles everything (unconditionally) including the views.
3. This procedure first invalidated all the plsql code as well as views. It then started to compile them but the compilation process was very slow and after approximately 16 hours, I checked and the invalid-count showed that it was almost half way done. I decided to terminated the process so I issued the "startup force" command. The instance got terminated but then would not start in NORMAL mode and kept returning ORA-0600 error as shown below:
ORA-00600: internal error code, arguments:
[kksfbc-reparse-infinite-loop], [0xFFFFFFFF7A7F62F0], [], [], [], [],
[], []
I was able to start the instance only in the RESTRICT mode
4. At this point there were a lot of invalid packages owned by SYS; which was not the case when I had started the compilation of APPS code
5. I tried to re-compile the INVALID packages owned by SYS manually via SQLPLUS but I started to get the same ORA-0600 error
6. I opened a TAR. The analyst suggested running the catproc.sql script which I did but it did not help and the script errored out with message:
ERROR at line 1: ORA-04045: errors during recompilation/revalidation of SYS.DBMS_SCHEDULER ORA-00942: table or view does not exist ORA-00942: table or view does not exist ORA-00942: table or view does not exist ORA-00942: table or view does not exist I tried to also manually re-compile this package but got thesame error
7. Oracle has concluded that because I forcefully disrupted the compilation process, some of the timestamps in the dictionary dependency tree have gone out of synch and that the dictionary is now corrupted. They are suggesting that I re-run the upgrade, which I can but they have not been able to provide me the answer on how to natively compile the PLSQL code in a relatively quick time because we have mission critical systems and if the only way to compile PLSQL is via the compile_schema procedure then based upon the test timing, it is not feasible
Does anyone has any suggestions/comments on this?
Thanks
Amir
-- http://www.freelists.org/webpage/oracle-lReceived on Fri Oct 06 2006 - 07:40:49 CDT
![]() |
![]() |