Bitmap indexes are typically used for columns with low cardinality, i.e. with a small number of distinct values. This is not always the best solution. The following use case describes a situation from a real-life project and explains why and how we replaced a bitmap index with a combination of virtual column and b-tree index.
Recently I realized that the dbms_stats parameter no_invalidate is important for statistics gathering in ETL jobs. I never considered this parameter because “the default value will be good enough” – as for most other parameters of the statistics gathering procedures. But in this case, this is obviously not true.