Carl's Oracle

Carl's thougts about the Oracle Database Server

2005/11/1

Oracles Patchset 6 (9.2.0.7) Database Server arrived : time now for a Summary of all 9.2 Patchsets

@ 08:12 AM (44 months, 20 days ago)

Hello,

As i heard about the availability of the Patchset 6 (9.2.0.7) of the Oracle 9.2 Database Server i was very surprised. I thought Patchset 5/9.2.0.6 would be the last Patchset and ... that all errors would have been finally patched ;-).

For Analysis i scanned the bugs HTML document, pasted and prepared the bugs info with an editor and transformed it with awk. Now it had the right format for excel and then what else did you expect - I stored all the data in an 9.2 database (Patchset 3/9.2.0.4 ;-));

With the data in the database you could answer a lot of questions. I reduced that to two questions:

  • How many errors have been patched with each Patchset?
  • Which are the top 20 Components (of 139) have the largest amount of errors

The Total Number of fixed Bugs for the Oracle 9.2 Database Server

SQL> SELECT COUNT(*) FROM Buglist;
COUNT(*)
----------
10256

SQL>

10256 Bugs have been fixed with 6 Patchsets - about 1706 Bugs/PatchSet.



How many Bugs have been fixed with each Patchset?

I would expects that the number of bugs would decrease with every new Patchset.

 

SQL> SELECT COUNT(*), bl.FixedInRelease FROM Buglist bl group by bl.FixedInRelease;

COUNT(*)   FIXEDINRELEASE
---------- ----------------

1347       9.2.0.2
1053       9.2.0.3
1554       9.2.0.4
2547       9.2.0.5
2188       9.2.0.6
1567       9.2.0.7

6 rows selected

SQL>

http://img328.imageshack.us/img328/6498/bugstotalfixedinrelease7ts.jpg


The number of bugs was increasing and had its peak level at Patchset 9.2.0.5/9.2.0.6.

 46% of Bugs were fixed in 9.2.0.5/9.2.0.6 Patchsets!

An explanation could be: when a new version of Oracle is released a lot of customers do not switch to the new version very quickly. Some database releases are even not used at all. For example on the current customers site Oracle 10g will be allowed to be used at Main release 10.2 but not at Main release 10.1.

Patchset 6/9.2.0.5 is the one with 3rd place ranking in number of bug fixes.

For this late Patchset this is really disappointing. I will compare the 9.2 stats with the 10.2 stats and we will see if oracle is producing more quality then in past.



Top 20 Oracle Server 9.2 Bug Components?

In which areas does Oracle Server 9.2 have highest concentration on fixed bugs? Oracle separates it's errors in Components. There is a total of 139 Components listed.

http://img154.imageshack.us/img154/355/toporacle92bugcomponents5ja.jpg


From the top 20 is seeing following Components with heavy load.

 

  •     2.1.29 Error May Occur (961)

This sound a little bit strange. A Compenent which fixed bugs which were difficult to find because they may occure.

2.1.29 Error May Occur
The following table lists the Error May Occur bugs addressed in this patch set:
Fixed in Release Bug Number Description

9.2.0.7 2375764 Export fails with ORA-1455 if leaf_blocks or distinct_keys >= 2^31
9.2.0.7 2380561 "DRG-10817" from CATSEARCH with stemmed stopwords
9.2.0.7 2391697 ORA-235 doing backup with RMAN in nocatalog mode
9.2.0.7 2412991 ORA-12533 while resolving (duplicate) net services from names server
9.2.0.7 2672986 SET CONSTRAINT DEFERRED sometimes errors out with ORA-1031
9.2.0.7 2857330 ORA-1008 from Binds in CURSOR subqueries using WITH
9.2.0.7 2858082 False ORA-1652 in alert log when there is free space in RAC environment
9.2.0.7 2902077 Adding TEMP files with no size specified gives an error with ODM
9.2.0.7 2966778 Intermittent ORA-904 errors during heavy load
9.2.0.7 3026474 ORA-20000 from DBMS_STATS importing table stats with missing column

 

  •     2.1.30 Internal Error May Occur (ORA-600) (791)

This is the most famous section with ORA-00600 Errors. An ORA-00600 is an error in the oracle server code which was not catched by any exception handler.

2.1.30 Internal Error May Occur (ORA-600)

The following table lists the Internal Error May Occur (ORA-600) bugs addressed in this patch set:

Fixed in Release Bug Number Description
9.2.0.7 2307997 OERI [kolaHashFind:hash table] from SELECT xmltypeview over a database link
9.2.0.7 2489130 OERI:1112 can occur while dumping PROCESSSTATE informatio
9.2.0.7 2707302 OERI[KSSRMP1] in PMON during shutdown
9.2.0.7 2736591 OCI-21500 [KGHALO2] with large value_sz values for OCIDefineByPos
9.2.0.7 2783333 OERI[voprsla1] can occur when running a query
9.2.0.7 2818800 OERI[kjzcwaitX] may occur in RAC
9.2.0.7 2847303 OERI:kkofkrMarkK with FIRST_ROWS_N from GROUP BY
9.2.0.7 2881246 Incorrect OERI[kcblibr_1] / OERI[kxttdropobj-1] can occur
9.2.0.7 2887209 UGA memory leak / OERI:729 with failed shared database link connection
9.2.0.7 2924135 False OERI:6074 can occur
9.2.0.7 2972961 OERI[ktcdso-1] during refresh on commit of materialized view
9.2.0.7 3032886 OERI[kjatioc:!ver] possible in RAC
9.2.0.7 3048658 OERI [ksires_1] [BADOPTIONS] in RAC
9.2.0.7 3116865 Various dumps can occur using XML clonenode

 

  •     2.1.31 Process May Dump (ORA-7445) / Abend / Abort (604)

An Abortion of a server process/user process terminates the oracle session, an abortion of a backround process like DBWriter terminates the complete instance.

 
2.1.31 Process May Dump (ORA-7445) / Abend / Abort

The following table lists the Process May Dump (ORA-7445) / Abend / Abort bugs addressed in this patch set:

Fixed in Release Bug Number Description
9.2.0.7 4059639 * ORA-7445 SKGXPDMPCTX Instance Crash with 9.2.0.5 or 9.2.0.6 Patchset . This bug is alerted in Note:297306.1
9.2.0.7 2000938 A process may dump in kjrgpar in OPS/RAC if an ORA-4031 occurs
9.2.0.7 2314193 Dump from SELECT with query rewrite which uses MVIEW with functional index
9.2.0.7 2363758 Returning NULL from an EXTPROC callout may dump
9.2.0.7 2484985 Dump from anti or semi joins involving collections
9.2.0.7 2487943 Bulk insert in PLSQL may dump (kprcdt / memcpy)
9.2.0.7 2630783 Dump occurs inserting a VARRAY with 65535 elements
9.2.0.7 2718235 Dump (evacnt) when query uses WINDOW NOSORT over an aggregation
9.2.0.7 2763625 Some function pointers are stored in the SGA
9.2.0.7 2768251 Query against composite partitioned table fails with ORA-900 or dumps
9.2.0.7 2892189 Dump updating columns in a nested table with a trigger on the table
9.2.0.7 2953897 Dump (kkqucpon) can occur during semantic analysis

 

  •     2.1.28 Wrong Results (501)

This error hurts a lot. Data could get wrong values due to wrong results of a Query.

2.1.28 Wrong Results

The following table lists the Wrong Results bugs addressed in this patch set:
Fixed in Release Bug Number Description
9.2.0.7 4080972 + Wrong results from RBO range predicate on concatenated index with NULLs
9.2.0.7 2055862 OracleCachedRowSet.getRow() returns wrong value after last()
9.2.0.7 2339943 Query using OR between two subtypes returns a wrong number of rows
9.2.0.7 2562253 Wrong results due to lost join predicate with predicate move around
9.2.0.7 2628526 Wrong results from outer join to inline view in SELECT list
9.2.0.7 2859498 Incorrect sort order when ORDER BY DESC against a view with PQ
9.2.0.7 2925619 JDBC Thin always default timezone to +00:00
9.2.0.7 2960012 Incorrect (large) 'logons current' in GV$SYSSTAT in RAC
9.2.0.7 2974848 GetElementsByTagName in DBMS_XMLDOM returns nodes in wrong order
9.2.0.7 3017095 ALTER MVIEW COMPILE does not update LAST_DDL_TIME in DBA/ALL/USER_OBJECTS

 

  •    Conclusion

From the point of technology the Oracle Database Server has a leading role. This leading role must be confirmed by hi gher quality of the Oracle code. Is generating High Quality Code not an important technical feature too?
The Code is written in C/C++ and thus a great challenge to create solid modules with it - even with a excellent staff of programmers. Microsoft has moved its programming model from low level C++ and an very low level component model (COM/DCOM) to .NET. This assures better software with more solid features in future.

The Code - the number of lines - seems to be growing as the demand for larger databases. In future we will have to fight even with more bugs and Patchsets - if nothing changes.

 

This article is not to blame oracle but to improve its quality of it's most exciting product - the Oracle Server!

I will publish an update when the first Patchset of the Oracle 10G R2 was released.

Carl