It really depends. In my experience it was not necessary for me to index on all dimensions. Bitmap indexing is useful for fields containing data like yes/no, male/female. In my project I generally used B-Tree indexing.
I used Oracle and one that really helped me improve performance, aside from properly indexing, is to use the Cost Base Analyzer (CBO) through the use of ANALYZE and COMPUTE commands. These commands will help the CBO plan and create the most efficient way to execute SQL commands. I use these commands whenever I make changes (like loading) to a particular table or index.