An Oracle materialized view is really just that: a query whose results are stored in a table instead of disappearing into the ether. You can schedule to run on just about any schedule, or no schedule at all. You can have it run once a week, once a month, but in my experience, once a day is about the average.
Today (but not 12 years ago), you can have "fast refreshes" for materialized views based on join queries. This way, only the changed rows come over. That would make the query run faster after the initial load, but that wasn't available in those days.