since Exadata only stores 8 storage indexes per storage region and these are likely chosen by the where clauses of the first sqls that run against a particular table, does it make sense to prewarm the cache by running a standard set of queries after any storage cell reboot ? Wouldn't this increase the predictability of Storage indexes without violating the hands off approach ? As i see it the uncertainty of whether a particular column has a storage index built on it is a problem if consistent performance is desired along with extreme performance :)
The storage index actually doesn’t live in Exadata flash cache but in Exadata memory.
For prewarming you will need to do a smart scans with full table scans to rebuild the indexing. Such smart scans will run and use resources on all the cells maybe causing a degradation in extreme performance, defeating the purpose to rebuild the storage indexes on one cell. Also you could be doing double work without knowing if the database is open and available for other users (I guess you do not want to restrict access to your databases after a cell reboot). But if you have the knowledge on how your smart scans run on your tables and time and resources available prewarming might be an option.