Thursday, July 06, 2006

ORACLE: Unpredictable Query Results and Core Dumps.

I ran in to this issue on our 10.0.2.1 instance. On SunOS 10.

I was getting these error messages:
ORA-00600: internal error code, arguments: [KGHLKREM1], [0x3C1120018], [], [],
[], [], [], []
Wed Jul 5 10:43:35 2006
Errors in file /u01/app/oracle/admin/gedb/udump/gedb_ora_12927.trc:
ORA-07445: exception encountered: core dump [kgscDump()+232] [SIGSEGV] [Address
not mapped to object] [0x000000010] [] []
ORA-00600: internal error code, arguments: [KGHLKREM1], [0x3C1120018], [], [],
[], [], [], []

This was causing the same query (using PQ's) when execute over and over to return different results.

The core dumps were constanly filling up the /var directory.

In Oracle the heapdump shows that the problem resides in a chunk called qesblFilter_seg which is used for "bloom filter"
functionality. These issues are being caused by Bug 4927717 and Bug 5076183.
.
The "bloom filter" functionality is a new feature in 10 R2 for PQ related operations.

I have set the following parameter on hulk in the init.ora file as well as “altering the system” so that it is now in effect for the instance.
The following parameter turns off the “bloom filter" functionality.

_bloom_filter_enabled=FALSE

There might be a small performance impact on PQ operations, however, it should be minor, as turning this off causes it to simply revert back to the 10 R1 behavior. There are several other bloom filter related bugs on 10.2.0.1 as well. Turning this off will also prevent those issues from occurring as well.

There is no patch for these bugs at this time.

Note: I had to add double quotes around the param. since it is a hidden param. to get it to work with the alter system statement:

1* alter system set "_bloom_filter_enabled"=FALSE
10:59:05 SQL> /

System altered.
Elapsed: 00:00:00.02