Yes you are correct, I am using nested views that cotains CTEs to process data from various source tables and views. So can't use materilized views. I believe Materilized view will have to be based on actual tables and cannor reference other views.
My problem is that I have few level of tables that involves huge amount of data processing, If I was to convert each of them into table, it would result in various updated that I will need to manage to refresh those tables. Some of them needs to happen when set of records are inserted in source table, so calling such process to refresh destination in trigger would be bad ideda as it would process thousands of records for every record inserted where as it is required only after set of records are inserted in source.
Updates has a ripple effect, that means when two or more source tables are updated they result in updates for two or more destination tables, which in turn would result in further level updates (need to reprocess data). I need to find out alternative way to achieve performance as well as to handle concurant updates to same tables in multi user scenario.