ORA-07445 [qesaAggDistincts_1] Using Bitmap Functions
(Doc ID 3037966.1)
Last updated on JULY 28, 2024
Applies to:
Oracle Database - Enterprise Edition - Version 19.1.0.0.0 and laterInformation in this document applies to any platform.
Symptoms
19c introduced some New Functions for Bitmap Operations
- BITMAP_BIT_POSITION:Use
BITMAP_BIT_POSITION
to construct the one-to-one mapping between a number and a bit position.The argumentexpression
is of typeNUMBER
. It is the absolute bit position in the bitmap.BITMAP_BIT_POSITION
returns aNUMBER
, the relative bit position. If expression is NULL, the function returns NULL. - BITMAP_BUCKET_NUMBER: Bucket number within the bitmap. Each bucket contains 16000 numbers. The input parameter must be of type NUMBER. BITMAP_BUCKET_NUMBER returns a NUMBER. It represents the relative bit position.
If expression is NULL, the function returns NULL. - BITMAP_CONSTRUCT_AGG: is an aggregation function that operates on bit positions and returns the bitmap representation of the set of all input bit positions. It essentially maintains a bitmap and sets into it all the input bit positions. It returns the representation of the bitmap. The argument expression is of type NUMBER. The return type is of type BLOB. If expression is NULL, the function returns NULL.
- BITMAP_COUNT: Counts the bits set to “1” in a bitmap array. The input parameter is the result of the function BITMAP_CONSTRUCT_AGG. The argument expression is of type Blob. The return value is the number of bits set to “1”.
- If expression is null, it returns 0
- BITMAP_OR_AGG: is an aggregation function that operates on bitmaps and computes the OR of its inputs. The argument expression must be of type BLOB. The return type is of type BLOB. It returns the bitmap representing the OR of
- all the bitmaps it has aggregated. The input parameter is the result of the function BITMAP_CONSTRUCT_AGG. The result is a bitmap array that combines all bitmaps with an OR predicate. This is useful for aggregations on higher hierarchy levels.
We have a complex query that is using the bitmap functions (bitmap_construct_agg, etc.) to do a number of simultaneous distinct counts that generates the following errors
ERRORS
-----------------------
ORA-07445 [qesaAggDistincts_1()+266] [SIGSEGV] [ADDR:0x0] [PC:0x234B67A] [SI_KERNEL(general_protection)]
It appears that precisely the same query against a smaller dataset (10% the size) does not produce the error.
The error always happens against the larger dataset.
Changes
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |