Materialized view (fast refresh mode) + Materialized view log on another DB

Hi all,
I created a materizalied view using this script :
CREATE MATERIALIZED VIEW GIPS.DOSSIER_MEDICAL_MV2
TABLESPACE GIPS_T
NOCACHE
NOLOGGING
NOCOMPRESS
NOPARALLEL
BUILD IMMEDIATE
USING INDEX
TABLESPACE GIPS_I
+ REFRESH FAST ON DEMAND +
START WITH TO_DATE('11-janv.-2011 16:00:00','dd-mon-yyyy hh24:mi:ss')
NEXT sysdate (1/96)+
AS
SELECT N0_SEQ_BLOB_PDF,
EXAM_ID,
MPR,
RSM,
rub,
date_deb,
SPE,
commentaire,
SPR,
MEP,
MSJ,
TTD,
exam_type
FROM DOSSIER_MEDICAL@dbdoc_lk
WHERE DOSSIER_MEDICAL.EXAM_TYPE IN ('TELEM', 'SCANNER', 'EPPO_SECMED');
So you can see I'm using a dblink in the select statement ( DBDOC_LK )
On the DB referenced by this dblink, I created a materialized view log using this script :
CREATE MATERIALIZED VIEW LOG ON "DOSMED"."DOSSIER_MEDICAL"
TABLESPACE "DOC_T"
WITH PRIMARY KEY
INCLUDING NEW VALUES;
The problem is that my materialized view has never refreshed since its creation ! and I don't understand why ?
Can someone help me ?
Thank you.

The REFRESH schedule causes a job to be created for the execution of the Refresh. You should see this job in DBA_JOBS / USER_JOBS.
The job would run only if the instance parameter JOB_QUEUE_PROCESSES is set to 1 or higher (the default is 0). This parameter can be modified dynamically with an ALTER SYSTEM command.
Hemant K Chitale
http://hemantoracledba.blogspot.com

Similar Messages

  • Materialized view - fast refresh logs

    I understand that there will be a Change Data Capture(CDC) log maintained internally for materialized view fast refresh to happen.
    My question is, will this log get purged once the changes are applied to corresponding materialized view or will it persist with further changes getting appended to it ?
    What would be the size of change log for 150 million records covering 40 base tables ?

    MV log entries are deleted when all registered materialized views that depend on them have refreshed.
    For example: Suppose you have a table T and materialized views A and B that are fast-refresh and depend on the MV log for T.
    On Monday you refresh MV A. The log entries are nto purged because B has not yet incorporated them.
    On Tuesday you refresh MV B. At this point the log entries are purged up to the time on Monday that A was refreshed, because all MVs have processed them.
    On Wednesday you refresh MV A again. At this point the log entries are purged up to the time on Tuesday that A was refreshed. etc.

  • Fast Refresh Nested Materialized View problem in ORACLE 9i 9.2.0.7

    Hello
    My problem is in creating fast refresh nested materialized view in oracle 9i
    In below is an example of my problem
    ( I need to say when I run this example in Oracle 11g all things is OK )
    create table ali.alitest1(id number primary key,n1 number,n2 number);
    create table ali.alitest2(id number primary key,n3 number);
    CREATE MATERIALIZED VIEW LOG ON ali.alitest1 WITH ROWID,PRIMARY KEY ,SEQUENCE
    (n1,n2)
    INCLUDING NEW VALUES;
    CREATE MATERIALIZED VIEW LOG ON ali.alitest2 WITH ROWID,PRIMARY KEY ,SEQUENCE
    (n3)
    INCLUDING NEW VALUES;
    CREATE MATERIALIZED VIEW ali.alitest1_mv
    REFRESH WITH PRIMARY KEY FAST
    AS
    select id,n1 from ali.alitest1;
    CREATE MATERIALIZED VIEW LOG ON ali.alitest1_mv WITH ROWID,PRIMARY KEY ,SEQUENCE
    (n1)
    INCLUDING NEW VALUES;
    CREATE MATERIALIZED VIEW ali.alitest2_mv
    REFRESH WITH PRIMARY KEY FAST
    AS
    select t1.id,t1.n1,t2.n3,t1.rowid "t1_rowid",t2.rowid "t2_rowid" from ali.alitest1_mv t1,ali.alitest2 t2 where t1.id=t2.id;
    SQL Error: ORA-12053: this is not a valid nested materialized view
    12053. 00000 - "this is not a valid nested materialized view"
    *Cause:    The list of objects in the FROM clause of the definition of this
    materialized view had some dependencies upon each other.
    *Action:   Refer to the documentation to see which types of nesting are valid.
    do you know what is problem ?
    thanks

    Take look for this link :
    http://rwijk.blogspot.com/2009/08/fast-refreshable-materialized-view.html

  • Materialized view - fast refresh not working on joins

    Hello,
    Is it true that fast refresh for materialized view is not possible when I do a union of 2 tables, although both tables have materialized view logs ?

    there are a number of restrictions with fast refresh, read Materialized View Fast Refresh Restrictions and ORA-12052 [ID 222843.1]
    edit: his royal kyteness has posted on this before
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:6506967884606
    Edited by: deebee_eh on Apr 25, 2012 3:13 PM

  • Materialized view fast refresh

    I would like to create a fast refresh materialized view. The query is below.
    create materialized view dw_v_bal_txn_fast
    BUILD IMMEDIATE
    refresh fast
    as
    SELECT b.machine_id,nvl(p.promotion_code_id,0)promotion_code_id,p.promotion_code_name
    ,min(bal_transaction_id) bal_transaction_id
    ,offered_promotion_id
    ,operator_session_id
    ,decode((case when count(*)>1 then 1 else 0 end),1,max(transaction_type),0,max(transaction_type))transaction_type
    ,sum(balance_change) balance_change
    ,min(transaction_time) transaction_time
    ,min(dtransaction_time) dtransaction_time
    ,count(*)cnt
    ,count(balance_change)cnt_balance_change
    FROM balance_transaction b,promotion_code p
    WHERE
    b.machine_id=p.machine_id(+) and
    b.promo_code_id=p.promotion_code_id(+)
    and b.transaction_type in (3,5)
    GROUP BY b.machine_id
    ,p.promotion_code_id,p.promotion_code_name
    ,offered_promotion_id
    ,operator_session_id
    The materialized view logs are as follows:
    create materialized view log on pims_repo.balance_transaction WITH SEQUENCE, ROWID
    (machine_id,bal_transaction_id,MONEY_DEVICE_ID,offered_promotion_id,operator_session_id,transaction_type,
    balance_change,transaction_time,dtransaction_time,EXT_KEY,PROMO_CODE_ID,IMP_FILE_HISTORY_ID,PROMOTION_CODE,ACCOUNT_MASTER_ID,EZCODE_VALUE,
    PRIZECODE,PROMO_CODE_VALUE_ID
    INCLUDING NEW VALUES
    create materialized view log on pims_repo.promotion_code WITH SEQUENCE, ROWID
    (machine_id,promotion_code_id,CONFIGURATION_ID,PROMOTION_CODE_TYPE_ID,PROMOTION_CODE_NAME,PRICE,credit,PROMOTION_ID,
    ACTIVE_START_TIME,DACTIVE_START_TIME,ACTIVE_END_TIME,DACTIVE_END_TIME,AVAILABILITY,CREDIT_TYPE,TIME_MODIFIER,
    DAYS,START_TIME,DURATION,TRAFFIC_WATERMARK,TRAFFIC_PERIODS,TRAFFIC_PERIOD_LEN,TRAFFIC_MIN_TIME,TRAFFIC_MAX_TIME,DERIVED
    ,EXPIRED,uses,USES_ON_PURCHASE,SORT_KEY,FILTER_KEY,EXT_KEY,IMP_FILE_HISTORY_ID,LINKED_PROMOTION_CODE,MARGIN_CRITERIA,
    SELECTION_ODDS,AD_ONLY,REFILL_AMOUNT,FILLS
    INCLUDING NEW VALUES
    and the join columns (machine_id,promotion_code_id) of promotion_code has unique constraint in it.But it still says
    ORA-12015: cannot create a fast refresh materialized view from a complex query
    Can anyone please let me know what else needto be done.
    Thanks in advance.

    There are certain restriction on create meterialize view with Fast Refresh
    For example in your case,
    Restrictions on Fast Refresh on Materialized Views with Joins Only
    -They cannot have GROUP BY clauses or aggregates.
    -Rowids of all the tables in the FROM list must appear in the SELECT list of the query.
    -Materialized view logs must exist with rowids for all the base tables in the FROM list of the query.
    Full list of restrictions here
    http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14223/basicmv.htm#i1006803

  • Materialized View fast refresh problems

    I have two databases (A and B).
    In database A, user NICK has a table called COLOUR_MASTER.
    Also in that database, NICK issues the command create materialized view log on colour_master with primary key including new values (and yes, there is a primary key defined for this table)
    In database B, there is a database link called A_LINK, connect to nick identified by password using 'dbA';
    Also in database B, user IAN creates a materialized view CM_MV refresh fast as select * from colour_master@A_LINK
    That statement completes successfully, and there are several million rows in CM_MV when it's done.
    Immediately, IAN issues this command:
    begin
    dbms_mview.refresh('CM_MV');
    end;
    ...and after a slight pause, he gets the error
    ORA-12008: error in materialized view refresh path
    ORA-02068: following sever error from A_LINK
    ORA-03113: end-of-file on communication channel
    Yet a +'select count(*) from colour_master@A_LINK'+ submitted immediately manages to return the correct number of records in database A -so that 3113 is a bit misleading, I think, in that instance A did not crash, the database remains accessible at all times, there are no networking issues (database A and B are both located in the same server room, so this isn't like I'm trying to connect half way round the globe).
    The only thing I can think of is that there's a permissions problem causing this error. That because the MV creation is done via a link, there's no problem in IAN seeing the appropriate objects, but that once refreshes come into play, maybe there is.
    Can anyone shed any light on why I can't do the fast refresh of the view I can happily create, please?

    I'm surprised that no-one has asked you to do the obvious: try doing a select * from colour_master@A_LINK, without that being wrapped up in a create materialized view statment. Just do a plain select * from...
    My bet is that you'll get an ORA_22992 cannot use LOB locators selected from remote tables error. And if you can't do a simple select * from a remote table, I suspect that you can reasonably expect fireworks when you try to create or refresh a materialized view on such a thing!
    Here's a quick test:
    In Database 1:
    =========
    SQL> create table A (col1 varchar2(2), col2 clob);
    Table created.
    SQL> alter table A add constraint A1 primary key (col1);
    Table altered.
    SQL> insert into A values ('AA','This is an entry into a clob column');
    1 row created.
    SQL> commit;
    Commit complete.
    SQL> create materialized view log on A with primary key including new values;
    Materialized view log created.In Database 2
    =========
    SQL> connect ims_global/v0yager1@ussd
    Connected.
    SQL> create materialized view B refresh fast as
      2  select * from A@remotedb_link;
    Materialized view created.
    SQL> exec dbms_mview.refresh('B');
    BEGIN dbms_mview.refresh('B'); END;
    ERROR at line 1:
    ORA-12008: error in materialized view refresh path
    ORA-02068: following severe error from REMOTEDB_LINK
    ORA-03113: end-of-file on communication channel
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2251
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2457
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2426
    ORA-06512: at line 1
    SQL> drop materialized view B;
    Materialized view dropped.
    SQL> create materialized view B refresh fast as
      2  select col1 from A@ims_link;
    Materialized view created.
    SQL> exec dbms_mview.refresh('B');
    PL/SQL procedure successfully completed.Which seems to replicate your problem rather well, I think.
    I don't know if there are any workarounds for this. I mean, obviously you can miss out the CLOB column in your 'create MV' statement as I just did, but I don't know whether you are even allowed or supposed to be able to create an MV on lob columns and that patch such-and-such will let you do it. Maybe someone else can provide that information.
    But at least you won't have to play Russian roulette with your init.ora parameters!

  • Materialized view fast refresh ...getting ORA-22992: error

    Hi All,
    Oracle version 11.1.0.7
    While creating a materialized view(Fast refresh) on remote tables ... i am getting the ORA-22992: cannot use LOB locators selected from remote tables ... error.
    but the actual scenario is... i am not selecting any of the BLOB/LOB columns from the remote tables. I did n't include them in my materialized query.
    I am able to refresh it complete but couldn't refresh it fast. Here i want to mention other thing... when ever i have records in Mat view log(Base table has a blob cloumns in it)
    i am getting the above error. when no record in the Mat view log(i.e on BLOB base table) .. i can able to refresh it as FAST.
    MV_CAPABILITIES table tells that ...My Mat view is able to refresh it FAST.I don't know howw to approach to solve this issue.could some one tell me the approach..to solve it?
    Here is the sample code ....this is what i have done so fat
    session 1 (REMOTE_ONE)
    I have created synonyms for the remote tables on current schema. That's why i didn't include @DBLINK.
    create table RT_A ( col1_A varchar2(20), col2_A BLOB,COL3_A NUMBER);
    create a table RT_B (COl1_B varchar2(20), col2_B BLOB, COL3_B NUMBER);
    create a table RT_C (COL1_C varchar2(20), col2_C VARCHAR2,COL3_C NUMBER);
    create  MATERIALIZED VIEW LOG ON RT_A 
    WITH  ROWID EXCLUDING NEW VALUES;
    create  MATERIALIZED VIEW LOG ON RT_B
    WITH  ROWID EXCLUDING NEW VALUES;
    create  MATERIALIZED VIEW LOG ON RT_C 
    WITH  ROWID EXCLUDING NEW VALUES;
    grant select on RT_A to CUURRENT_ONE with grant option;
    grant select on RT_B to CUURRENT_ONE with grant option;
    grant select on RT_C to CUURRENT_ONE with grant option;
    grant select on MLOG$_RT_A to CUURRENT_ONE with grant option;
    grant select on MLOG$_RT_B to CUURRENT_ONE with grant option;
    grant select on MLOG$_RT_C to CUURRENT_ONE with grant option;Session 2 (CUURRENT_ONE)
    create materialized view ABC_MV
    BUILD IMMEDIATE REFRESH FORCE ON DEMAND START WITH SYSDATE NEXT SYSDATE+1
    AS
    select A.ROWID AS A_ROWID,
    B.ROWID as B_ROWID,
    C.ROWID AS C_ROWID,
    A.COL1_A,
    B.col1_B,
    c.col1_c
    from RT_A, RT_B,RT_C
    where COL3_A = COL3_B(+)
    and COL3_B = COL3_C(+)Appreciate your help.
    Thanks,
    Mike

    Thanks for the reply
    In that he/she is selecting the LOB column from the remote database(master site).
    I am just referencing the table which has BLOB column in it.I am not referencing any LOB column in my select(Mat view) query...
    is there anything i need to check..?
    Regards,
    Mike

  • Problem in fast refreshing nested materialized views

    Hi all,
    While developing an ODS(Operational Data Store) system, i've created base materialized views from production database to ODS database which would use fast refresh. Now, i need to create nested Materialized views on these base MViews which contains joins and aggregations which should refresh on FAST mechanism.
    But while doing so, got several problems though Nested materialized views can be built using Complete Mechanism. The reporting queries is important and we want it should not hit the production database, rather it should hit the ODS db. But we are failing to build the Nested Materialized views which works on FAST.
    I tried google, oracle docs but all in vain. i tried to do a simple testing which also failed. I would be grateful if anyone can help in in this regard. I'm attaching the test case experimented,
    SCOTT >CREATE MATERIALIZED VIEW LOG ON EMP
    2 WITH ROWID, SEQUENCE(EMPNO, ENAME, JOB,
    3 MGR, HIREDATE, SAL,
    4 COMM, DEPTNO)
    5 INCLUDING NEW VALUES;
    Materialized view log created.
    Elapsed: 00:00:00.03
    SCOTT >
    SCOTT >CREATE MATERIALIZED VIEW LOG ON DEPT
    2 WITH ROWID, SEQUENCE(DEPTNO, DNAME, LOC)
    3 INCLUDING NEW VALUES;
    Materialized view log created.
    Elapsed: 00:00:00.06
    SCOTT >
    SCOTT >CREATE MATERIALIZED VIEW MV_EMP
    2 NOCACHE
    3 ENABLE ROW MOVEMENT
    4 NOLOGGING
    5 NOCOMPRESS
    6 PARALLEL(DEGREE DEFAULT INSTANCES DEFAULT)
    7 BUILD IMMEDIATE
    8 REFRESH FAST ON DEMAND
    9 WITH ROWID
    10 ENABLE QUERY REWRITE
    11 AS
    12 SELECT * FROM EMP;
    Materialized view created.
    Elapsed: 00:00:00.21
    SCOTT >
    SCOTT >CREATE MATERIALIZED VIEW MV_DEPT
    2 NOCACHE
    3 ENABLE ROW MOVEMENT
    4 NOLOGGING
    5 NOCOMPRESS
    6 PARALLEL(DEGREE DEFAULT INSTANCES DEFAULT)
    7 BUILD IMMEDIATE
    8 REFRESH FAST ON DEMAND
    9 WITH ROWID
    10 ENABLE QUERY REWRITE
    11 AS
    12 SELECT * FROM DEPT;
    Materialized view created.
    Elapsed: 00:00:00.14
    SCOTT >CREATE MATERIALIZED VIEW LOG ON MV_EMP
    2 WITH ROWID, SEQUENCE(EMPNO, ENAME, JOB,
    3 MGR, HIREDATE, SAL,
    4 COMM, DEPTNO)
    5 INCLUDING NEW VALUES;
    Materialized view log created.
    Elapsed: 00:00:00.04
    SCOTT >
    SCOTT >CREATE MATERIALIZED VIEW LOG ON MV_DEPT
    2 WITH ROWID, SEQUENCE(DEPTNO, DNAME, LOC)
    3 INCLUDING NEW VALUES;
    Materialized view log created.
    Elapsed: 00:00:00.03
    SCOTT >
    SCOTT >CREATE MATERIALIZED VIEW MV_EMP_DEPT
    2 NOCACHE
    3 ENABLE ROW MOVEMENT
    4 NOLOGGING
    5 NOCOMPRESS
    6 PARALLEL(DEGREE DEFAULT INSTANCES DEFAULT)
    7 BUILD IMMEDIATE
    8 REFRESH FAST ON DEMAND
    9 WITH ROWID
    10 ENABLE QUERY REWRITE
    11 AS
    12 SELECT D.ROWID DEPT_ROWID, E.ROWID EMP_ROWID, E.ENAME, D.DNAME, D.LOC, E.JOB, E.SAL
    13 FROM MV_EMP E,
    14 MV_DEPT D
    15 WHERE E.DEPTNO=D.DEPTNO;
    FROM MV_EMP E,
    ERROR at line 13:
    ORA-12053: this is not a valid nested materialized view
    Elapsed: 00:00:00.17
    SCOTT >
    SCOTT >CREATE MATERIALIZED VIEW MV_EMP_DEPT
    2 NOCACHE
    3 ENABLE ROW MOVEMENT
    4 NOLOGGING
    5 NOCOMPRESS
    6 PARALLEL(DEGREE DEFAULT INSTANCES DEFAULT)
    7 BUILD IMMEDIATE
    8 REFRESH FORCE ON DEMAND
    9 WITH ROWID
    10 ENABLE QUERY REWRITE
    11 AS
    12 SELECT D.ROWID DEPT_ROWID, E.ROWID EMP_ROWID, E.ENAME, D.DNAME, D.LOC, E.JOB, E.SAL
    13 FROM MV_EMP E,
    14 MV_DEPT D
    15 WHERE E.DEPTNO=D.DEPTNO;
    Materialized view created.
    Elapsed: 00:00:00.25
    SCOTT >
    SCOTT >EXECUTE DBMS_MVIEW.REFRESH('MV_EMP','F');
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.04
    SCOTT >EXECUTE DBMS_MVIEW.REFRESH('MV_DEPT','F');
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.04
    SCOTT >EXECUTE DBMS_MVIEW.REFRESH('MV_EMP_DEPT','F');
    BEGIN DBMS_MVIEW.REFRESH('MV_EMP_DEPT','F'); END;
    ERROR at line 1:
    ORA-12004: REFRESH FAST cannot be used for materialized view "SCOTT"."MV_EMP_DEPT"
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2254
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2460
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2429
    ORA-06512: at line 1
    Elapsed: 00:00:00.11
    SCOTT >EXECUTE DBMS_MVIEW.REFRESH('MV_EMP_DEPT','C');
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.35
    SCOTT >

    Sorry,
    By mistake this got posted in the CERTIFICATION forum,
    you can view the same question in the following link:
    Problem in fast refreshing nested materialized views

  • Error message when I insert a div tag: Couldn't commit the changes made in Live View. Refresh the Live View and try editing again.

    According to a web and support forum search, myself and another person, Chloe in the Dreamweaver Club forum, have ever reported this. Trying to follow along a Lynda.com tutorial, and the instructor isn't getting this error. Can't imagine why it's happening. I'd be very grateful for any help. I'm also getting an error dialog message:
    DIALOG BOX:
    While executing onClick in InsertFGDiv.htm, the following JavaScript error(s) occurred:
    At line 687 of file "Macintosh HD:Applications:Adobe Dreamweaver CC 2014.1:Configuration:Commands:InsertFGElement.js": The object is not currently contained in a document.
    This appears at the top of the screen:
    Couldn't commit the changes made in Live View. Refresh the Live View and try editing again.  [Refresh doesn't do anything.]

    Try the suggestions here -
    Index to Dreamweaver FAQ
    The solution for Javascript errors is likely the one.

  • Fast refresh on MATERIALIZED VIEW

    Oracle 10 g R2 (10.2.0.5)
    CREATE MATERIALIZED VIEW scott.mv_test
    TABLESPACE users
    NOCACHE
    LOGGING
    NOCOMPRESS
    NOPARALLEL
    BUILD IMMEDIATE
    REFRESH FORCE ON DEMAND
    WITH PRIMARY KEY
    AS
    Select ....
    I have this MV, when I do the FAST refersh as follows , I am getting error
    SQL> execute DBMS_MVIEW.REFRESH( 'MV_TEST','f');
    BEGIN DBMS_MVIEW.REFRESH( 'MV_TEST','f'); END;
    ERROR at line 1:
    ORA-12004: REFRESH FAST cannot be used for materialized view "SCOTT"."MV_TEST"
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2251
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2457
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2426
    ORA-06512: at line 1
    But it's working with Complete refresh.
    Is that expecte, any help would be appreciated.
    Thanks,

    ORA-12004: REFRESH FAST cannot be used for materialized view "string"."string"
    Cause:      The materialized view log does not exist or cannot be used. PCT refresh is also not enabled on the materialized view
    Action:      Use just REFRESH, which will reinstantiate the entire table. If a materialized view log exists and the form of the materialized view allows the use of a materialized view log or PCT refresh is possible after a given set of changes, REFRESH FAST will be available starting the next time the materialized view is refreshed.http://ora-12004.ora-code.com/

  • Fast Refresh on Materialized View With Join

    Hi All,
    i have created following Materialized View Logs and MV
    on EMP and DEPT
    CREATE MATERIALIZED VIEW LOG ON DEPT
    WITH PRIMARY KEY,SEQUENCE
    INCLUDING NEW VALUES;
    CREATE MATERIALIZED VIEW LOG ON EMP
    WITH PRIMARY KEY,SEQUENCE
    INCLUDING NEW VALUES;
    CREATE MATERIALIZED VIEW EMP_MVW
    TABLESPACE OSMIS_REPORT_DATA
    REFRESH FAST ON COMMIT
    AS
    SELECT A.EMPNO,A.ENAME,A.DEPTNO,A.JOB,A.MGR,A.HIREDATE,A.SAL,A.COMM,B.DNAME,B.LOC
    FROM EMP A,DEPT B
    WHERE A.DEPTNO=B.DEPTNO
    The Create MV Stmnt raised following error.
    ERROR at line 6:
    ORA-12052: cannot fast refresh materialized view SCOTT.EMP_MVW
    I have tried the same with ROWID also,but same error
    while creating MV.
    Pls anyone give idea to Fast Refersh on MV with Joins
    Thnks
    Raj.G.
    mail : [email protected]

    Actually you can get Oracle to tell you why the view does not have the capabilities you want using the DBMS_MVIEW package. For example you could have done something like this...
    Personal Oracle Database 10g Release 10.1.0.2.0 - Production
    With the Partitioning, OLAP and Data Mining options
    SQL> CREATE MATERIALIZED VIEW LOG ON dept
      2    WITH PRIMARY KEY, SEQUENCE
      3      INCLUDING NEW VALUES;
    Materialized view log created.
    SQL> CREATE MATERIALIZED VIEW LOG ON emp
      2    WITH PRIMARY KEY,SEQUENCE
      3      INCLUDING NEW VALUES;
    Materialized view log created.
    SQL> CREATE MATERIALIZED VIEW emp_mvw
      2    REFRESH FAST ON COMMIT
      3  AS
      4  SELECT a.empno, a.ename, a.deptno,
      5         a.job, a.mgr, a.hiredate,
      6         a.sal, a.comm, b.dname, b.loc
      7  FROM   emp a,dept b
      8  WHERE  a.deptno = b.deptno;
    FROM   emp a,dept b
    ERROR at line 7:
    ORA-12052: cannot fast refresh materialized view SCOTT.EMP_MVW
    SQL> CREATE MATERIALIZED VIEW emp_mvw
      2    REFRESH ON COMMIT -- remove the FAST to allow view to compile
      3  AS
      4  SELECT a.empno, a.ename, a.deptno,
      5         a.job, a.mgr, a.hiredate,
      6         a.sal, a.comm, b.dname, b.loc
      7  FROM   emp a,dept b
      8  WHERE  a.deptno = b.deptno;
    Materialized view created.
    SQL> @\oracle\product\10.1.0\Db_1\RDBMS\ADMIN\utlxmv.sql -- create mv_capabilities_table
    Table created.
    SQL> EXEC DBMS_MVIEW.EXPLAIN_MVIEW ('EMP_MVW');
    PL/SQL procedure successfully completed.
    SQL> SELECT capability_name, possible, msgtxt
      2  FROM   mv_capabilities_table
      3  WHERE  capability_name LIKE '%REFRESH_FAST_AFTER%';
    CAPABILITY_NAME                P MSGTXT
    REFRESH_FAST_AFTER_INSERT      N the SELECT list does not have the rowids of all the detail tables
    REFRESH_FAST_AFTER_INSERT      N mv log must have ROWID
    REFRESH_FAST_AFTER_INSERT      N mv log must have ROWID
    REFRESH_FAST_AFTER_ONETAB_DML  N see the reason why REFRESH_FAST_AFTER_INSERT is disabled
    REFRESH_FAST_AFTER_ANY_DML     N see the reason why REFRESH_FAST_AFTER_ONETAB_DML is disabled
    SQL> DROP MATERIALIZED VIEW LOG ON dept;
    Materialized view log dropped.
    SQL> DROP MATERIALIZED VIEW LOG ON emp;
    Materialized view log dropped.
    SQL> DROP MATERIALIZED VIEW emp_mvw;
    Materialized view dropped.
    SQL> CREATE MATERIALIZED VIEW LOG ON dept
      2    WITH ROWID, SEQUENCE
      3      INCLUDING NEW VALUES;
    Materialized view log created.
    SQL> CREATE MATERIALIZED VIEW LOG ON emp
      2    WITH ROWID,SEQUENCE
      3      INCLUDING NEW VALUES;
    Materialized view log created.
    SQL> CREATE MATERIALIZED VIEW emp_mvw
      2    REFRESH FAST ON COMMIT
      3  AS
      4  SELECT a.ROWID emp_rowid, b.ROWID dept_rowid,
      5         a.empno, a.ename, a.deptno,
      6         a.job, a.mgr, a.hiredate,
      7       a.sal, a.comm, b.dname, b.loc
      8  FROM   emp a,dept b
      9  WHERE  a.deptno = b.deptno;
    Materialized view created.
    SQL> DELETE mv_capabilities_table;
    18 rows deleted.
    SQL> EXEC DBMS_MVIEW.EXPLAIN_MVIEW ('EMP_MVW');
    PL/SQL procedure successfully completed.
    SQL> SELECT capability_name, possible, msgtxt
      2  FROM   mv_capabilities_table
      3  WHERE  capability_name LIKE '%REFRESH_FAST_AFTER%';
    CAPABILITY_NAME                P MSGTXT
    REFRESH_FAST_AFTER_INSERT      Y
    REFRESH_FAST_AFTER_ONETAB_DML  Y
    REFRESH_FAST_AFTER_ANY_DML     Y
    SQL>

  • Fast refresh of "materialized view with joins only"

    Hi,
    My Requirement:
    I need to create a materialized view joining two tables.
    Table1 -> Does not have primary key
    Table2 -> Has a primary key
    I need to refesh the mat view only when DML commands are done on Table1 alone.
    And it will be better if i have a Refresh on commit rather on demand.
    The following code is what i used and it dint work for me:
    CREATE MATERIALIZED VIEW LOG ON Table1 WITH ROWID;
    CREATE MATERIALIZED VIEW LOG ON Table2;
    CREATE MATERIALIZED VIEW AAYT_ETF
    REFRESH FORCE ON COMMIT
    ENABLE QUERY REWRITE
    AS
    SELECT A.rowid "table1_rowid", A.ACCTNUM, A.CORR_NUM, A.OFC_NUM, A.RR_NUM, A.BUY_SELL_CDE, A.ACT_AMT, A.CSP_SYM, A.SECR_DESC, A.ACT_QTY
    FROM Table1 A, Table2 G WHERE
    A.CSP_NUM = G.CSP_NUM AND
    G.ASST_SUB_STYP = 'ETF';
    Issue Faced: In this case the refresh happends even while i do DML on Table2.
    But i need the refresh only when i do DML on Table1. I also unable to create Refresh Fast Mat view.
    Can anyone please tell me how to create the Materialized view Log and the Materialized view. Thanks in advance.

    This forum only is for questions relating to the use of OLAP Option. I would post your question on the database forum.
    Keith Laker
    Oracle Data Warehouse Product Management
    OLAP Blog: http://oracleOLAP.blogspot.com/
    OLAP Wiki: http://wiki.oracle.com/page/Oracle+OLAP+Option
    DM Blog: http://oracledmt.blogspot.com/
    OWB Blog : http://blogs.oracle.com/warehousebuilder/
    OWB Wiki : http://wiki.oracle.com/page/Oracle+Warehouse+Builder
    DW on OTN : http://www.oracle.com/technology/products/bi/db/11g/index.html

  • How to speed up fast refresh of materialized view without primary key

    Thought I'd share this info, as I couldn't find anything on here to help me diagnose the issue:
    I had a materialized view that was taking longer to perform a fast refresh than it took to perform a complete refresh. My mview had no primary key, as the base table had no primary key.
    I created a trace file for the session and saw references to a column M_ROW$$ in my mview. Nowhere in the data dictionary could I find a reference to the m_row$$ column in my mview, but apparently it exists and is created automatically. After creating the index below, the fast refresh took 6 minutes to add 500k rows to the materialized view. (versus 4+ hours without the index) When I looked in the trace file, I noticed that for each row in the mview log, it first tries to update the mview with an UPDATE statement, then it performs an insert of the new data. Seems like it should be able to determine whether to perform an update or insert based on the DMLTYPE$$ column of the mview log. What was killing my performance was the UPDATE phase. Since I had no primary key on the mview, and no index on the m_row$$ column, the UPDATE phase was performing a full table scan of my mview for every row in the mview log. I was expecting it to be smart enough to only perform inserts, as the only transactions against the base table were inserts.
    In summary: If you have a materialized view without a primary key, create an index on the m_row$$ column of the mview, even though no such column displays in the data dictionary.
    ex:
    CREATE MATERIALIZED VIEW mv_minidrr ...
    CREATE INDEX pk_mv_minidrr ON mv_minidrr(m_row$$) ...

    Well, there indeed is a column called M_ROW$$
    Your MLOG$_EMP is nothing but the materialized view log on the base table.
    SQL> create  materialized view log on emp with rowid ;
    Materialized view log created.
    SQL> create materialized view emp_mview refresh fast on demand with rowid as select * from emp ;
    Materialized view created.
    SQL> desc mlog$_emp
    Name                                                  Null?    Type
    M_ROW$$                                                        VARCHAR2(255)
    SNAPTIME$$                                                     DATE
    DMLTYPE$$                                                      VARCHAR2(1)
    OLD_NEW$$                                                      VARCHAR2(1)
    CHANGE_VECTOR$$                                                RAW(255)
    SQL> select table_name, column_name from user_tab_columns where column_name = 'M_ROW$$' ;
    TABLE_NAME                     COLUMN_NAME
    MLOG$_EMP                      M_ROW$$
    1 row selected.
    SQL>

  • Regarding Error in Materialized view Fast Refresh

    ORA-12015: cannot create a fast refresh materialized view from a complex query
    CREATE MATERIALIZED VIEW MVCONTENTHISTORY_01
    BUILD IMMEDIATE
    REFRESH FAST
    WITH PRIMARY KEY
    ENABLE QUERY REWRITE
    AS
    SELECT a.DAY, a.contentname,
    SUM
    (CASE
    WHEN (b.subscriptionstartdate) <= (a.DAY)
    AND ((CASE
    WHEN b.subscriptionenddate IS NOT NULL
    THEN (a.DAY)
    ELSE TO_DATE ('01/20/1990', 'MM/DD/YYYY')
    END
    ) <=
    (CASE
    WHEN b.subscriptionenddate IS NOT NULL
    THEN (b.subscriptionenddate)
    ELSE TO_DATE ('01/20/1990', 'MM/DD/YYYY')
    END
    THEN 1
    ELSE 0
    END
    ) COUNT,
    COUNT
    (CASE
    WHEN (b.subscriptionstartdate) <= (a.DAY)
    AND ((CASE
    WHEN b.subscriptionenddate IS NOT NULL
    THEN (a.DAY)
    ELSE TO_DATE ('01/20/1990', 'MM/DD/YYYY')
    END
    ) <=
    (CASE
    WHEN b.subscriptionenddate IS NOT NULL
    THEN (b.subscriptionenddate)
    ELSE TO_DATE ('01/20/1990', 'MM/DD/YYYY')
    END
    THEN 1
    ELSE 0
    END
    ) cnt
    FROM TBLTDATEWISECONTENT a,
    (SELECT TRUNC (a.subscriptionstartdate) subscriptionstartdate,
    TRUNC (a.subscriptionenddate) subscriptionenddate, b.NAME,
    b.contentid
    FROM syntbltcontentsubscrhistory a, syntblmcontent b
    WHERE b.contentid = a.contentid(+)) b
    WHERE a.contentid = b.contentid(+) AND a.DAY = b.subscriptionstartdate(+)
    GROUP BY a.contentname, a.DAY;
    I can't create Materialized view with fast Refresh .
    Kindly provide solution .
    Regards,
    nayana chavda.

    Kindly provide full Oracle version since option vary by release.
    There error message says it is impossible to fast refresh based on a complex query.
    On 10g Oracle provides a package procedure that will tell you why the view cannot be fast refreshed: dbms_mview.explain_mview.
    Otherwise see the Advanced Replication Manual for a list of restrictions.
    10gR2 >>Restrictions for Materialized Views with Subqueries
    The defining query of a materialized view with a subquery is subject to several restrictions to preserve the materialized view's fast refresh capability.
    The following are restrictions for fast refresh materialized views with subqueries:
    Materialized views must be primary key materialized views.
    The master's materialized view log must include certain columns referenced in the subquery. For information about which columns must be included, see "Logging Columns in the Materialized View Log".
    If the subquery is many to many or one to many, join columns that are not part of a primary key must be included in the materialized view log of the master. This restriction does not apply to many to one subqueries.
    The subquery must be a positive subquery. For example, you can use the EXISTS condition, but not the NOT EXISTS condition.
    The subquery must use EXISTS to connect each nested level (IN is not allowed).
    Each table can be in only one EXISTS expression.
    The join expression must use exact match or equality comparisons (that is, equi-joins).
    Each table can be joined only once within the subquery.
    A primary key must exist for each table at each nested level.
    Each nested level can only reference the table in the level above it.
    Subqueries can include AND conditions, but each OR condition can only reference columns contained within one row. Multiple OR conditions within a subquery can be connected with an AND condition.
    All tables referenced in a subquery must reside in the same master site or master materialized view site.
    <<
    HTH -- Mark D Powell --
    Message was edited by: added list of restrictions left off initial post
    mpowel01

  • Oracle 9i Rel2 Materialized View Fast refresh

    Hi,
    I have created materialized view with join and aggregation of four tables.
    For complete refresh it takes 30 minutes, but for a fast
    refresh it is taking 4 hours.
    Why this much time it should take for a fast refresh.
    Any suggestions will be highly helpful
    Regards
    Paddy
    The following are the scripts
    CREATE MATERIALIZED VIEW LOG ON RISK_REPORT_CACHE_1 TABLESPACE FLASH_DATA_M
    WITH SEQUENCE, ROWID
    ( VALUE_DATE, IS_OFFICIAL, POSID,
    REF_TYPE, REF_ID, INDUSTRY,
    COUNTRY, RATING, RANKING,
    DESCRIPTION, TICKER, SENDER,
    BOOK, CENTER, CURR,
    RISKTYPE, TENOR, SENSI,
    NOTIONAL, FXRATE, OECDFACTOR,
    MSFACTOR, EMFACTOR, MKTVAL,
    PARAMT, ISSR_RISK, AGE,
    ACQ_DATE, SYS_BOOK, EXCLUDED,
    REF_FLASH_ID, ENTITY_ID, PARENT_ENTITY_ID,
    YELLOW_KEY, PARENT_DESC, STRESS,
    VOLAT, PRD_TYPE, POS_DESC,
    BBG_INDUSTRY_SECTOR, BBG_INDUSTRY_GROUP, COUNTRY_RATING
    ) INCLUDING NEW VALUES ;
    PROMPT TO CREATE THE MV LOG ON FLASH_COUNTRY
    CREATE MATERIALIZED VIEW LOG ON FLASH_COUNTRY TABLESPACE FLASH_DATA_M
    WITH SEQUENCE, ROWID
    ( ISO , COUNTRY , CURRENCY,
    MF_CONSOL, ENTITY_ID, REGION
    ) INCLUDING NEW VALUES ;
    PROMPT TO CREATE THE MV LOG ON PF_HIERARCHY_CACHE
    CREATE MATERIALIZED VIEW LOG ON PF_HIERARCHY_CACHE TABLESPACE FLASH_DATA_M
    WITH SEQUENCE, ROWID
    ID_1 , NAME_1 , DESC_1 , PERM_1 ,
    ID_2 , NAME_2 , DESC_2 , PERM_2 ,
    ID_3 , NAME_3 , DESC_3 , PERM_3 ,
    ID_4 , NAME_4 , DESC_4 , PERM_4 ,
    ID_5 , NAME_5 , DESC_5 , PERM_5 ,
    ID_6 , NAME_6 , DESC_6 , PERM_6 ,
    ID_7 , NAME_7 , DESC_7 , PERM_7 ,
    ID_8 , NAME_8 , DESC_8 , PERM_8 ,
    ID_9 , NAME_9 , DESC_9 , PERM_9 ,
    ID_10 , NAME_10, DESC_10, PERM_10,
    SYSTEM, BOOK , SYS_BOOK, MAX_LVL,
    LAST_UPDATED
    ) INCLUDING NEW VALUES ;
    PROMPT TO CREATE THE MV LOG ON MAP_PRDTYPE_TO_DEALTYPE
    CREATE MATERIALIZED VIEW LOG ON MAP_PRDTYPE_TO_DEALTYPE TABLESPACE FLASH_DATA_M
    WITH SEQUENCE, ROWID
    ( PRD_TYPE, DEAL_TYPE
    ) INCLUDING NEW VALUES ;
    PROMPT TO CREATE THE MATERIALIZED VIEW
    PROMPT MV_AGG_RISK_REPORT_CACHE_SBOOK
    CREATE MATERIALIZED VIEW MV_AGG_RISK_REPORT_CACHE_SBOOK
    TABLESPACE FLASH_DATA_M
    PARALLEL
    PARTITION BY RANGE(VALUE_DATE)
    (PARTITION P20040113 VALUES LESS THAN (TO_DATE(' 2004-01-14 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040227 VALUES LESS THAN (TO_DATE(' 2004-02-28 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040304 VALUES LESS THAN (TO_DATE(' 2004-03-05 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040305 VALUES LESS THAN (TO_DATE(' 2004-03-06 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040306 VALUES LESS THAN (TO_DATE(' 2004-03-07 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040307 VALUES LESS THAN (TO_DATE(' 2004-03-08 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040308 VALUES LESS THAN (TO_DATE(' 2004-03-09 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040309 VALUES LESS THAN (TO_DATE(' 2004-03-10 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040310 VALUES LESS THAN (TO_DATE(' 2004-03-11 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040311 VALUES LESS THAN (TO_DATE(' 2004-03-12 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040312 VALUES LESS THAN (TO_DATE(' 2004-03-13 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040313 VALUES LESS THAN (TO_DATE(' 2004-03-14 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040314 VALUES LESS THAN (TO_DATE(' 2004-03-15 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040315 VALUES LESS THAN (TO_DATE(' 2004-03-16 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040316 VALUES LESS THAN (TO_DATE(' 2004-03-17 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040317 VALUES LESS THAN (TO_DATE(' 2004-03-18 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040318 VALUES LESS THAN (TO_DATE(' 2004-03-19 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040319 VALUES LESS THAN (TO_DATE(' 2004-03-20 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040320 VALUES LESS THAN (TO_DATE(' 2004-03-21 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040321 VALUES LESS THAN (TO_DATE(' 2004-03-22 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040322 VALUES LESS THAN (TO_DATE(' 2004-03-23 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040323 VALUES LESS THAN (TO_DATE(' 2004-03-24 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040324 VALUES LESS THAN (TO_DATE(' 2004-03-25 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040325 VALUES LESS THAN (TO_DATE(' 2004-03-26 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040326 VALUES LESS THAN (TO_DATE(' 2004-03-27 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040327 VALUES LESS THAN (TO_DATE(' 2004-03-28 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040328 VALUES LESS THAN (TO_DATE(' 2004-03-29 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040329 VALUES LESS THAN (TO_DATE(' 2004-03-30 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040330 VALUES LESS THAN (TO_DATE(' 2004-03-31 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040331 VALUES LESS THAN (TO_DATE(' 2004-04-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040401 VALUES LESS THAN (TO_DATE(' 2004-04-02 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040402 VALUES LESS THAN (TO_DATE(' 2004-04-03 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040403 VALUES LESS THAN (TO_DATE(' 2004-04-04 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040404 VALUES LESS THAN (TO_DATE(' 2004-04-05 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040405 VALUES LESS THAN (TO_DATE(' 2004-04-06 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040406 VALUES LESS THAN (TO_DATE(' 2004-04-07 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040407 VALUES LESS THAN (TO_DATE(' 2004-04-08 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040408 VALUES LESS THAN (TO_DATE(' 2004-04-09 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040409 VALUES LESS THAN (TO_DATE(' 2004-04-10 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040410 VALUES LESS THAN (TO_DATE(' 2004-04-11 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040411 VALUES LESS THAN (TO_DATE(' 2004-04-12 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040412 VALUES LESS THAN (TO_DATE(' 2004-04-13 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040413 VALUES LESS THAN (TO_DATE(' 2004-04-14 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040414 VALUES LESS THAN (TO_DATE(' 2004-04-15 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040415 VALUES LESS THAN (TO_DATE(' 2004-04-16 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040416 VALUES LESS THAN (TO_DATE(' 2004-04-17 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040417 VALUES LESS THAN (TO_DATE(' 2004-04-18 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040418 VALUES LESS THAN (TO_DATE(' 2004-04-19 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040419 VALUES LESS THAN (TO_DATE(' 2004-04-20 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040420 VALUES LESS THAN (TO_DATE(' 2004-04-21 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040421 VALUES LESS THAN (TO_DATE(' 2004-04-22 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M
    BUILD IMMEDIATE
    USING INDEX TABLESPACE FLASH_INDX_M
    REFRESH FAST ON DEMAND
    ENABLE QUERY REWRITE
    AS
    SELECT
    RRC.VALUE_DATE VALUE_DATE,
    PHC.NAME_4 NAME_4,
    PHC.NAME_5 NAME_5,
    PHC.NAME_6 NAME_6,
    PHC.NAME_7 NAME_7,
    PHC.BOOK BOOK,
    PHC.SYS_BOOK SYS_BOOK,
    RRC.CURR CURR,
    RRC.INDUSTRY INDUSTRY,
    RRC.BBG_INDUSTRY_GROUP BBG_INDUSTRY_GROUP,
    RRC.BBG_INDUSTRY_SECTOR BBG_INDUSTRY_SECTOR,
    RRC.COUNTRY COUNTRY,
    FC.REGION REGION,
    RRC.COUNTRY_RATING COUNTRY_RATING,
    RRC.RISKTYPE RISKTYPE,
    RRC.TENOR TENOR,
    RRC.TICKER TICKER,
    RRC.DESCRIPTION DESCRIPTION,
    RRC.RATING RATING,
    RRC.FXRATE FXRATE,
    RRC.POS_DESC POS_DESC,
    MPTD.DEAL_TYPE DEAL_TYPE,
    SUM(PHC.MAX_LVL) MAX_LVL,
    COUNT(PHC.MAX_LVL) PHC_seqnum,
    COUNT(*) CNT,
    SUM(DECODE(RRC.RISKTYPE,
    'GOVT',SENSI,0)) GOVT_DELTA ,
    SUM(DECODE(RRC.RISKTYPE,
    'LIBOR',SENSI,0)) LIBOR_DELTA,
    SUM(DECODE(RRC.RISKTYPE,
    'CREDIT',SENSI,0)) CREDIT_DELTA,
    SUM(DECODE(RRC.RISKTYPE,
    'GOVT',SENSI,
    'LIBOR',SENSI,0)) MARKET_DELTA,
    SUM(DECODE(RRC.RISKTYPE,
    'GOVT',STRESS,0)) GOVT_STRESS,
    SUM(DECODE(RRC.RISKTYPE,
    'LIBOR',STRESS,0)) LIBOR_STRESS,
    SUM(DECODE(RRC.RISKTYPE,
    'CREDIT',STRESS,0)) CREDIT_STRESS,
    SUM(DECODE(RRC.RISKTYPE,
    'GOVT',STRESS,
    'LIBOR',STRESS,0)) MARKET_STRESS,
    SUM(DECODE(RRC.RISKTYPE,
    'GOVT',STRESS,
    'LIBOR',STRESS,
    'CREDIT',STRESS,0)) TOTAL_STRESS,
    SUM(VOLAT) VOLAT,
    SUM(MKTVAL) MKTVAL,
    COUNT(DECODE(RRC.RISKTYPE,
    'GOVT',SENSI,0)) CNT_GOVT_DELTA ,
    COUNT(DECODE(RRC.RISKTYPE,
    'LIBOR',SENSI,0)) CNT_LIBOR_DELTA,
    COUNT(DECODE(RRC.RISKTYPE,
    'CREDIT',SENSI,0)) CNT_CREDIT_DELTA,
    COUNT(DECODE(RRC.RISKTYPE,
    'GOVT',SENSI,
    'LIBOR',SENSI,0)) CNT_MARKET_DELTA,
    COUNT(DECODE(RRC.RISKTYPE,
    'GOVT',STRESS,0)) CNT_GOVT_STRESS,
    COUNT(DECODE(RRC.RISKTYPE,
    'LIBOR',STRESS,0)) CNT_LIBOR_STRESS,
    COUNT(DECODE(RRC.RISKTYPE,
    'CREDIT',STRESS,0)) CNT_CREDIT_STRESS,
    COUNT(DECODE(RRC.RISKTYPE,
    'GOVT',STRESS,
    'LIBOR',STRESS,0)) CNT_MARKET_STRESS,
    COUNT(DECODE(RRC.RISKTYPE,
    'GOVT',STRESS,
    'LIBOR',STRESS,
    'CREDIT',STRESS,0)) CNT_TOTAL_STRESS,
    COUNT(VOLAT) CNT_VOLAT,
    COUNT(MKTVAL) CNT_MKTVAL
    FROM RISK_REPORT_CACHE_1 RRC,
    FLASH_COUNTRY FC,
    PF_HIERARCHY_CACHE PHC,
    MAP_PRDTYPE_TO_DEALTYPE MPTD
    WHERE RRC.SYS_BOOK = PHC.SYS_BOOK
    AND RRC.COUNTRY = FC.COUNTRY
    AND PHC.NAME_1 = 'MRC - FIRC III'
    AND PHC.NAME_2 = 'Fixed Income'
    AND PHC.NAME_3 = 'Investment Grade, High Yield and Emerging Markets'
    AND MPTD.PRD_TYPE = RRC.PRD_TYPE
    GROUP BY      
    RRC.VALUE_DATE,
    PHC.NAME_4,
    PHC.NAME_5,
    PHC.NAME_6,
    PHC.NAME_7,
    PHC.BOOK,
    PHC.SYS_BOOK,
    RRC.CURR,
    RRC.INDUSTRY,
    RRC.BBG_INDUSTRY_GROUP,
    RRC.BBG_INDUSTRY_SECTOR,
    RRC.COUNTRY,
    FC.REGION,
    RRC.COUNTRY_RATING,
    RRC.RISKTYPE,
    RRC.TENOR,
    RRC.TICKER,
    RRC.DESCRIPTION,
    RRC.RATING,
    RRC.FXRATE,
    RRC.POS_DESC,
    MPTD.DEAL_TYPE;
    PROMPT TO CREATE THE MV LOG ON MV_AGG_RISK_REPORT_CACHE_SBOOK
    CREATE MATERIALIZED VIEW LOG ON MV_AGG_RISK_REPORT_CACHE_SBOOK TABLESPACE FLASH_DATA_M
    WITH ROWID
    ( VALUE_DATE , NAME_4 , NAME_5 , NAME_6,
    NAME_7 , BOOK , SYS_BOOK , CURR,
    INDUSTRY , BBG_INDUSTRY_GROUP, BBG_INDUSTRY_SECTOR, COUNTRY,
    COUNTRY_RATING , RISKTYPE , TENOR , TICKER,
    DESCRIPTION , RATING , FXRATE , DEAL_TYPE,
    GOVT_DELTA , LIBOR_DELTA , CREDIT_DELTA , MARKET_DELTA,
    GOVT_STRESS , LIBOR_STRESS , CREDIT_STRESS , MARKET_STRESS,
    TOTAL_STRESS , VOLAT , MKTVAL , REGION,
    MAX_LVL , PHC_SEQNUM , CNT_GOVT_DELTA , CNT_LIBOR_DELTA,
    CNT_CREDIT_DELTA , CNT_MARKET_DELTA , CNT_GOVT_STRESS , CNT_LIBOR_STRESS,
    CNT_CREDIT_STRESS, CNT_MARKET_STRESS , CNT_TOTAL_STRESS , CNT_VOLAT,
    CNT_MKTVAL
    ) INCLUDING NEW VALUES ;
    PROMPT TO CREATE THE MATERIALIZED VIEW
    PROMPT MV_AGG_SBOOK_VALUEDATE
    CREATE MATERIALIZED VIEW MV_AGG_SBOOK_VALUEDATE
    TABLESPACE FLASH_DATA_M
    PARALLEL
    PARTITION BY RANGE(VALUE_DATE)
    (PARTITION P20040113 VALUES LESS THAN (TO_DATE(' 2004-01-14 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040227 VALUES LESS THAN (TO_DATE(' 2004-02-28 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040304 VALUES LESS THAN (TO_DATE(' 2004-03-05 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040305 VALUES LESS THAN (TO_DATE(' 2004-03-06 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040306 VALUES LESS THAN (TO_DATE(' 2004-03-07 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040307 VALUES LESS THAN (TO_DATE(' 2004-03-08 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040308 VALUES LESS THAN (TO_DATE(' 2004-03-09 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040309 VALUES LESS THAN (TO_DATE(' 2004-03-10 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040310 VALUES LESS THAN (TO_DATE(' 2004-03-11 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040311 VALUES LESS THAN (TO_DATE(' 2004-03-12 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040312 VALUES LESS THAN (TO_DATE(' 2004-03-13 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040313 VALUES LESS THAN (TO_DATE(' 2004-03-14 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040314 VALUES LESS THAN (TO_DATE(' 2004-03-15 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040315 VALUES LESS THAN (TO_DATE(' 2004-03-16 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040316 VALUES LESS THAN (TO_DATE(' 2004-03-17 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040317 VALUES LESS THAN (TO_DATE(' 2004-03-18 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040318 VALUES LESS THAN (TO_DATE(' 2004-03-19 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040319 VALUES LESS THAN (TO_DATE(' 2004-03-20 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040320 VALUES LESS THAN (TO_DATE(' 2004-03-21 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040321 VALUES LESS THAN (TO_DATE(' 2004-03-22 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040322 VALUES LESS THAN (TO_DATE(' 2004-03-23 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040323 VALUES LESS THAN (TO_DATE(' 2004-03-24 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040324 VALUES LESS THAN (TO_DATE(' 2004-03-25 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040325 VALUES LESS THAN (TO_DATE(' 2004-03-26 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040326 VALUES LESS THAN (TO_DATE(' 2004-03-27 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040327 VALUES LESS THAN (TO_DATE(' 2004-03-28 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040328 VALUES LESS THAN (TO_DATE(' 2004-03-29 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040329 VALUES LESS THAN (TO_DATE(' 2004-03-30 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040330 VALUES LESS THAN (TO_DATE(' 2004-03-31 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040331 VALUES LESS THAN (TO_DATE(' 2004-04-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040401 VALUES LESS THAN (TO_DATE(' 2004-04-02 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040402 VALUES LESS THAN (TO_DATE(' 2004-04-03 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040403 VALUES LESS THAN (TO_DATE(' 2004-04-04 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040404 VALUES LESS THAN (TO_DATE(' 2004-04-05 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040405 VALUES LESS THAN (TO_DATE(' 2004-04-06 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040406 VALUES LESS THAN (TO_DATE(' 2004-04-07 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040407 VALUES LESS THAN (TO_DATE(' 2004-04-08 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040408 VALUES LESS THAN (TO_DATE(' 2004-04-09 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040409 VALUES LESS THAN (TO_DATE(' 2004-04-10 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040410 VALUES LESS THAN (TO_DATE(' 2004-04-11 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040411 VALUES LESS THAN (TO_DATE(' 2004-04-12 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040412 VALUES LESS THAN (TO_DATE(' 2004-04-13 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040413 VALUES LESS THAN (TO_DATE(' 2004-04-14 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040414 VALUES LESS THAN (TO_DATE(' 2004-04-15 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040415 VALUES LESS THAN (TO_DATE(' 2004-04-16 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040416 VALUES LESS THAN (TO_DATE(' 2004-04-17 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040417 VALUES LESS THAN (TO_DATE(' 2004-04-18 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040418 VALUES LESS THAN (TO_DATE(' 2004-04-19 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040419 VALUES LESS THAN (TO_DATE(' 2004-04-20 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040420 VALUES LESS THAN (TO_DATE(' 2004-04-21 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M,
    PARTITION P20040421 VALUES LESS THAN (TO_DATE(' 2004-04-22 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    TABLESPACE FLASH_DATA_M
    BUILD IMMEDIATE
    USING INDEX TABLESPACE FLASH_INDX_M
    REFRESH FAST ON DEMAND
    ENABLE QUERY REWRITE
    AS
    SELECT
    VALUE_DATE,
    NAME_4,
    NAME_5,
    NAME_6,
    NAME_7,
    BOOK,
    SYS_BOOK,
    FXRATE,
    COUNT(*) CNT,
    SUM(GOVT_DELTA) GOVT_DELTA,
    SUM(LIBOR_DELTA) LIBOR_DELTA,
    SUM(CREDIT_DELTA) CREDIT_DELTA,
    SUM(MARKET_DELTA) MARKET_DELTA,
    SUM(GOVT_STRESS) GOVT_STRESS,
    SUM(LIBOR_STRESS) LIBOR_STRESS,
    SUM(CREDIT_STRESS) CREDIT_STRESS,
    SUM(MARKET_STRESS) MARKET_STRESS,
    SUM(TOTAL_STRESS) TOTAL_STRESS,
    SUM(MKTVAL) MKTVAL,
    COUNT(GOVT_DELTA) CNT_GOVT_DELTA,
    COUNT(LIBOR_DELTA) CNT_LIBOR_DELTA,
    COUNT(CREDIT_DELTA) CNT_CREDIT_DELTA,
    COUNT(MARKET_DELTA) CNT_MARKET_DELTA,
    COUNT(GOVT_STRESS) CNT_GOVT_STRESS,
    COUNT(LIBOR_STRESS) CNT_LIBOR_STRESS,
    COUNT(CREDIT_STRESS) CNT_CREDIT_STRESS,
    COUNT(MARKET_STRESS) CNT_MARKET_STRESS,
    COUNT(TOTAL_STRESS) CNT_TOTAL_STRESS,
    COUNT(MKTVAL) CNT_MKTVAL
    FROM
    MV_AGG_RISK_REPORT_CACHE_SBOOK
    GROUP BY      
    VALUE_DATE,
    NAME_4,
    NAME_5,
    NAME_6,
    NAME_7,
    BOOK,
    SYS_BOOK,
    FXRATE;

    "fast" is a bit of a misnomer-- it is really an incremental refresh. Every change to the base table is recorded and propagated to the materialized view. The problem is that if every row changes, Oracle has to process a whole lot of increments, one by one. If it does a complete refresh, on the other hand, it can do set-wise operations, which is what the Oracle database is designed to do most efficiently.
    In your case, the choice is between applying 24,000 change records (12,000 DELETE's followed by 12,000 INSERT's) in order or reading the 12,000 new rows as a set. It will be much faster for Oracle to do the latter.
    It may be possible to tune the incremental refresh, depending upon how the base table is deleted and refreshed, but it will never be as fast as a complete refresh (unless you stop reloading the base table).
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

Maybe you are looking for

  • Install Disk on Macbook pro

    My macbook pro (running leopard) recently "locked up" and would not move past the log-in screen. I walked through many steps offered on the apple support pages, ultimately getting to the point where it was suggested I re-install using the original DV

  • Text Flow in ePUB and Accessible PDF

    I have a newsletter in InDesign.  I have all the text flow marked.  Each article is a separate "story".  Story1 flows onto page 2, with the text flows linked correctly.  On page 2, story2 begins in the text box below the end of story1. So on page 2,

  • How do I get my computer to "trust" my iphone?

    How can I get my iPhone to trust my computer? My photos won't load. I recently got a new hard drive and this is only an issue since then.Thank you.

  • Would a WD 320Gb drive work in a 1st generation MBP?

    Hi Does anyone know if a "Western Digital Scorpio Black 320 GB - WD3200BEKT" will work in a first generation MacBook Pro? I assume it will but I thought I would check first. TIA, Mark

  • Sqlldr error --- ora-39776

    Hi I hit the following error during the data load through sqlldr ORA-39776: fatal Direct Path API error loading table and i hit the following error and sqlldr job terminated and internal error code ORA-00600: internal error code, arguments: [kohdtf04