Drop materialized view (created on prebuilt table)
Date: Fri, 23 May 2008 01:33:59 -0700 (PDT)
Message-ID: <35e0b875-8405-4053-8af7-770f424ea76c@y21g2000hsf.googlegroups.com>
Hello,
I have to change a definition of a materialized view.
For example, I have mvw like this:
CREATE MATERIALIZED VIEW my_mvw
ON PREBUILT TABLE WITH REDUCED PRECISION
REFRESH FAST ON DEMAND
WITH PRIMARY KEY
AS
SELECT
some_column1,
sum(some_column2),
FROM some_table
GROUP BY some_column1;
There is materialized view log on some_table:
CREATE MATERIALIZED VIEW LOG ON some_table
WITH ROWID, SEQUENCE,
(some_column1, some_column2)
INCLUDING NEW VALUES;
Note: Some other materialized views depend on this log (my_mvw is not
the only one), i cannot truncate the log.
And I want to change my_mvw like this (for example):
CREATE MATERIALIZED VIEW my_mvw
ON PREBUILT TABLE WITH REDUCED PRECISION
REFRESH FAST ON DEMAND
WITH PRIMARY KEY
AS
SELECT
some_column1,
count(some_column2),
FROM some_table
GROUP BY some_column1;
Note: there are some indexes on my_mvw
My current approach is:
- set indexes unusable
- alter session set skip_unusable_indexes = true;
- drop my_mvw (here: preexisting table reverts to its identity as a table.)
- create my_mvw with new definition
- complete refresh of my_mvw
- rebuild indexes
The problem: I would like to speed up the 3rd step or find better approach to solve this problem.
I don't have much experience on materialized views, so I would like to ask for your hints and ideas.
Thank you. Received on Fri May 23 2008 - 03:33:59 CDT