Taking some time to refresh materialized view

I'd like to understand why refresh of the materialized view takes more time than to run the sql code of the materialized view.
For example, I have a test_mv of materialized view that is created as below; When I simply run the select statement I get the result in 34 seconds, while if I try to update help
BEGIN
DBMS_MVIEW.refresh ('wi_mv7_monthly','C',ATOMIC_REFRESH=>false);
end;
/
It takes about 74 dry

Creation of MV
Oracle version: Oracle Database 11 g Enterprise Edition Release 11.2.0.2.0 - 64 bit Production
create materialized view TEST_MV
(
  COLUMN_NAME_1,
  OBJECT_NAME,
  COLUMN_ID,
  "SUM(C.DATA_LENGTH)"
) organization heap

partition by list (COLUMN_ID) (
 PARTITION "first_10_col" VALUES
  (
    1, 2, 3, 4, 5, 6, 7, 8, 9, 10
  ),
   PARTITION "After_10_col" VALUES
  (
    11,12, 13, 14, 15, 16, 17, 18, 19, 20
  ),
   PARTITION "NONE" VALUES (DEFAULT)
  )
BUILD IMMEDIATE USING INDEX REFRESH COMPLETE ON DEMAND USING DEFAULT LOCAL ROLLBACK SEGMENT USING ENFORCED CONSTRAINTS
as 
select  /*+ parallel(o,8) parallel(c,2) */
C.COLUMN_NAME as COLUMN_NAME_1,O.OBJECT_NAME,C.COLUMN_ID,SUM(C.DATA_LENGTH) from ALL_OBJECTS O
join ALL_tab_columns c on c.table_name=o.object_name
group by 
C.COLUMN_NAME,O.OBJECT_NAME,C.COLUMN_ID
Published by: user627047 on Sep 6, 2012 06:56

SQL select statement some readings and refresh the views but mview reads and writes, so it consumes more time.

If you want to speed up the cooling you can use the Refresh method fast mview

Tags: Database

Similar Questions

  • The Materialized View - ORA-12052: is unable to fast refresh materialized view

    Hello

    I was hitting my head all day trying to create materialized views. I have made some progress, but have hit a brick wall, unfortunately!

    Basically, I have been invited to take a view and see if I can get the benefits of performance by transforming all or part of it in materialized views. Because the underlying tables of the config is updated quite frequently, I want to fast refresh materialized views on commit. However, when I try to create a materialized view containing an outer join in an aggregated materialized view table, I get ORA-12052: is unable to fast refresh materialized view.

    I went through the documentation and also Rob van Wijkvery useful series of blogs on the topic (especially http://rwijk.blogspot.co.uk/2009/09/fast-refreshable-materialized-view.html) but have not found anything that matches. Maybe I missed something somewhere along the line, or maybe I'm asking just something completely impossible?

    My db is 11.2.0.2.

    Here's the test scripts, I've worked with that:

    drop materialized view test1_test2_mv;
    Drop materialized view test2 journal;
    drop table test2;
    Drop materialized view test1_mv newspaper;
    drop materialized view test1_mv;
    Drop materialized view test1 journal;
    drop table test1;

    create table test1 (identification number,
    type varchar2 (10),
    number of Val,
    update_time date,
    constraint t1_pk primary key (id, type, val));

    Insert into test1
    Select 1, 'a', 1001, sysdate - 10/24 Union double all the
    Select 1, 'b', 1003, sysdate - 9/24 Union double all the
    Select 1, 'c', 1002, sysdate - 8/24 Union double all the
    Select 1, had ', 1004, sysdate - 7/24 Union double all the
    Select 1, 'e', 1005, sysdate - 6/24 Union double all the
    Select 1, 'c', 1006, sysdate - 5/24 Union double all the
    Select 2, 'a', 1002, sysdate - 4/24 Union double all the
    Select 2, 'b', 1005, sysdate - 3/24 Union double all the
    Select 3, 'a', 1001, sysdate - 2/24 Union double all the
    Select 3, 'c', 1006, sysdate - 1/24 Union double all the
    Select 3, 'e', 1008, sysdate - 2/24 Union double all the
    Select option 4, has ', 1004, sysdate - 3/24 Union double all the
    Select 5, 'b', 1002, sysdate - 4/24 Union double all the
    Select 5, 'g', 1001, sysdate - 5/24 Union double all the
    Select 6, 'h', 1004, sysdate - 6/24 Union double all the
    Select 7, 'b', 1007, sysdate - 7/24 Union double all the
    Select 7, had ', 1001, sysdate - 8/24 double;

    commit;

    Select * from test1;


    CREATE MATERIALIZED VIEW LOG ON test1
    WITH rowid, primary key (update_time)
    including the new values;


    Test1_mv CREATE MATERIALIZED VIEW
    IMMEDIATE CONSTRUCTION
    COOL OFF QUICKLY ON COMMIT
    Did YOU SELECT id,
    MAX (case when type = "there" end of val) THAT col_a,.
    MAX (case when type = 'b', then val end) AS col_b,.
    MAX (case when type = 'c' then end val) AS col_c,.
    MAX (case when type = ' then end of val) AS col_d,
    MAX (update_time) AS update_time
    OF test1
    WHERE TYPE in ('a',
    « b »,
    « c »,
    a ')
    GROUP BY id;

    CREATE MATERIALIZED VIEW LOG ON test1_mv
    WITH rowid
    including the new values;


    create table test2 (identification number,
    col2 number,
    COL3 varchar2 (10),
    number of COL4,
    constraint t2_pk primary key (id));

    Insert into test2
    Select 1, 1, 'bob', 1 double Union all
    Select 2, 1, "sue", 1 double Union all
    Select 3, 1, 'tom', 1 double Union all
    Select 4, 1, 'jay', 1 double Union all
    Select 5, 1, 'art', 1 double Union all
    Select 6, 1, 'kay', 1 double Union all
    Select 7, 1, 'max', 1 double Union all
    Select 8, 1, 'tim', 1 double Union all
    Select 9, 1, "liz", 1 from dual;

    commit;


    CREATE MATERIALIZED VIEW LOG ON test2
    WITH rowid, primary key
    including the new values;


    Test1_test2_mv CREATE MATERIALIZED VIEW
    IMMEDIATE CONSTRUCTION
    COOL OFF QUICKLY ON COMMIT
    LIKE SOME t2.rowid,.
    T1.ID,
    T1.col_a,
    T1.col_b,
    T1.col_c,
    T1.col_d,
    T1.update_time,
    T2.col2,
    T2. COL3
    OF test1_mv t1,.
    Test2 t2
    WHERE (+) t1.id = t2.id; -symbol of outer join is not correctly displayed on the forums without space, grr!

    ORA-12052: is unable to fast refresh materialized view TEST1_TEST2_MV

    Y at - it any way I can get the materialized view fast refresh on commit or I asking the impossible?

    Add t1.rowid:

    SQL > CREATE MATERIALIZED VIEW test1_test2_mv

    2 BUILD IMMEDIATE

    3 QUICK REFRESH YOU COMMIT

    4 AS t2.rowid SELECT rid2,

    5 t1.rowid rid1,

    6 t1.id

    T1.col_a 7,.

    T1.col_b 8,.

    T1.col_c 9,.

    T1.col_d 10,

    T1.update_time 11,

    T2.col2 12,

    13 t2.col3

    14 OF test1_mv t1,

    15 test2 T2

    16 WHERE t1.id = t2.id

    17.

    Materialized view created.

    SQL > select * from test1_test2_mv

    2.

    RID2 RID1 ID COL_A, COL_B, COL_C COL_D UPDATE_TIME COL2 COL3

    ------------------ ------------------ ---------- ---------- ---------- ---------- ---------- ------------------- ---------- ----------

    AAAYB6AANAAAANDAAA AAAYB/AANAAAAN/AAA 1 1001 1003 1006 1004 25 / 06 / 2014 12:54:16 1 bob

    AAAYB6AANAAAANDAAB AAAYB/AANAAAAN/AAB 2 1002 1005 25 / 06 / 2014 1 sue 14:54:16

    AAAYB6AANAAAANDAAC AAAYB/AANAAAAN/AAC 3 1001 1006 25 / 06 / 2014 16:54:16 1 tom

    AAAYB/AANAAAAN/AAD AAAYB6AANAAAANDAAD 4 1004 25/06/2014 14:54:16 1 jay

    AAAYB6AANAAAANDAAE AAAYB / AANAAAAN / AAE 5 1002 2014/06/25 13:54:16 1 art

    AAAYB6AANAAAANDAAF AAAYB/AANAAAAN/AAG 7 1007 1009 25 / 06 / 2014 10:54:16 max 1

    AAAYB/AANAAAAN/AAH                                                                                                        1 tim

    AAAYB/AANAAAAN/AAF                                                                                                        1 kay

    AAAYB/AANAAAAN/AAI                                                                                                        1 liz

    9 selected lines.

    SQL > update of test2

    2 set col3 = "fly."

    3 where id = 7

    6 m

    1 line update.

    SQL > validation

    2.

    Validation complete.

    SQL > select * from test1_test2_mv

    2.

    RID2 RID1 ID COL_A, COL_B, COL_C COL_D UPDATE_TIME COL2 COL3

    ------------------ ------------------ ---------- ---------- ---------- ---------- ---------- ------------------- ---------- ----------

    AAAYB6AANAAAANDAAA AAAYB/AANAAAAN/AAA 1 1001 1003 1006 1004 25 / 06 / 2014 12:54:16 1 bob

    AAAYB6AANAAAANDAAB AAAYB/AANAAAAN/AAB 2 1002 1005 25 / 06 / 2014 1 sue 14:54:16

    AAAYB6AANAAAANDAAC AAAYB/AANAAAAN/AAC 3 1001 1006 25 / 06 / 2014 16:54:16 1 tom

    AAAYB/AANAAAAN/AAD AAAYB6AANAAAANDAAD 4 1004 25/06/2014 14:54:16 1 jay

    AAAYB6AANAAAANDAAE AAAYB / AANAAAAN / AAE 5 1002 2014/06/25 13:54:16 1 art

    AAAYB/AANAAAAN/AAH                                                                                                        1 tim

    AAAYB/AANAAAAN/AAF                                                                                                        1 kay

    AAAYB/AANAAAAN/AAI                                                                                                        1 liz

    AAAYB6AANAAAANDAAF AAAYB/AANAAAAN/AAG 7 1007 1009 25 / 06 / 2014 10:54:16 1 rob

    9 selected lines.

  • Fast refresh materialized view problems

    I have two databases (A and B).

    In A database, user NICK has a table called COLOUR_MASTER.
    Also in this database, NICK issues creating materialized command newspaper view colour_master with the primary key, including the new values (and Yes, there is a primary key defined for this table)
    In database B, there is a link of database called A_LINK, connect, Nick, identified by password using 'dbA ';
    In database B, user IAN also creates a materialized view CM_MV cool off quickly in select * from colour_master@A_LINK

    This statement is done correctly, and there are several million lines in CM_MV when it's done.

    Immediately, IAN issued this command:

    Start
    dbms_mview. Refresh ('CM_MV');
    end;

    .. .and after a small pause, it gets the error

    ORA-12008: error path refresh materialized view
    ORA-02068: following sever error of A_LINK
    ORA-03113: end of file on communication channel

    One more + "select count (*) of colour_master@A_LINK" + subject immediately manages to return the correct number of records in the database so A 3113 is a bit misleading, I think that, in this case have crash, the database remains accessible at all times, there is no network problem (database A and B are both located in the same server so it of not like I'm trying of) connect to halfway around the globe).

    The only thing I can think is that there is a permissions issue causes this error. The creation of MV because is made via a link, it is not a problem of IAN see all appropriate, but once the updates come into play, it is perhaps.

    Any who can shed light on why I can't do the fast refresh from the view, I can create joyfully, please?

    I'm surprised no one asked you to do what is obvious: try to do a select * from colour_master@A_LINK, without that being wrapped in a create materialized MATERIALIZED view. Just do a simple select * from...

    My bet is that you will get an error ORA_22992 can not use selected from the remote tables LOB Locators . And if you can't do a simple select * in a remote table, I suspect that you can reasonably expect Fireworks when you try to create or refresh a view materialized on such a thing!

    Here's a quick test:

    In the 1 database:
    =========

    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 the 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 reproduce your problem rather well, I think.

    I don't know if there is no work around for this. I mean, obviously you can't miss the CLOB column in your statement of 'create a MV' as I just did, but I don't know if you're still allowed or expected to be able to create a MV on lob columns and that such and such correction will allow you to do. Maybe someone else can provide this information.

    But at least you won't have to play Russian roulette with your init.ora parameters!

  • Elapsed time for the materialized view vs Master table query

    Hello all;

    Small confusion about time up for the vs Master materialized view table query

    SQL > select count (*), sum (quan_sold), sum (amt_sold) of the sale;
    COUNT (*) SUM (QUAN_SOLD) SUM (AMT_SOLD)
    6000000 12000000 720480000
    Elapsed time: 00:00:30.54
    SQL > create materialized view mv1
    2 activate the rewrite of the query as
    3. select count (*), sum (quan_sold), sum (amt_sold) of the sale;
    Materialized view created.
    Elapsed time: 00:00:01.45
    SQL > select count (*), sum (quan_sold), sum (amt_sold) of the sale;
    COUNT (*) SUM (QUAN_SOLD) SUM (AMT_SOLD)
    6000000 12000000 720480000
    Elapsed time: 00:00:00.01

    Please see the three cases "Elapsed Time"...

    When comparing other cases.
    1. my query takes long time (30.54), extraction of data from the sale
    2. create a materialized view takes less time (01:45) why?

    Source: http://uhesse.com/2009/07/08/brief-introduction-into-materialized-views/

    >
    Small confusion about elapsed time for the materialized view vs Master table query

    SQL > select count (*), sum (quan_sold), sum (amt_sold) from the sale.

    COUNT (*) SUM (QUAN_SOLD) SUM (AMT_SOLD)
    6000000 12000000 720480000
    Elapsed time: 00:00:30.54

    SQL > create materialized view mv1
    2 activate the rewrite of the query as
    3. select count (*), sum (quan_sold), sum (amt_sold) of the sale;
    Materialized view created.
    Elapsed time: 00:00:01.45

    SQL > select count (*), sum (quan_sold), sum (amt_sold) from the sale.

    COUNT (*) SUM (QUAN_SOLD) SUM (AMT_SOLD)
    6000000 12000000 720480000
    Elapsed time: 00:00:00.01

    Please see the three cases "Elapsed Time"...

    When comparing other cases.
    1. my query takes long time (30.54), extraction of data from the sale
    2. create a materialized view takes less time (01:45) why?
    >
    Many queries take less time the second time you run them. After the first performance, there may be many, if not all, lines in the buffer cache. Then the second round will not make any or all e/s physical but will obtain data from the buffer cache.

    Also, you haven't checked that the MV was even used for the second run.

    Drop the MV and make the query several times and means of the time. Then create the MV and do the same thing.

  • Pivot can be used in fast refresh materialized view?

    Hi, I have a question about materialized view nested mode fast refresh on Oracle 11 g (It support function of pivot, but oracle 10 g doesn't support).

    When I created, he throws "ORA-12015: cannot create a view fast refresh materialized by a complex query.
    Then I used dbms_mview.explain_mview to see reason, and it tell me the following
    REFRESH_FAST_AFTER_INSERT ' view inline or subquery in LIST not supported for this type of MV.

    Can someone help me, any suggestions will be appreciated
    create table empX as select * from scott.emp;
    alter table empX add constraint PK_empX_empno primary key (empno);
    
    --drop  MATERIALIZED VIEW LOG ON empX;
    CREATE MATERIALIZED VIEW LOG ON empX with rowid, sequence(empno);
    
    --drop MATERIALIZED VIEW mv_empX;
    CREATE MATERIALIZED VIEW mv_empX
    REFRESH FAST START WITH SYSDATE
    NEXT  SYSDATE + 1/1440
    AS   
      select * from
      (
       select rowid emp_rowid, deptno, job, sal from empX
      )
      PIVOT( max(sal) for job IN ('ANALYST' job1, 'CLERK' job2, 'MANAGER' job3));
     
    --select * from mv_capabilities_table
    declare
      lv_sqltext varchar2(4000);
    begin
      execute immediate 'truncate table mv_capabilities_table';
      lv_sqltext := 'select * from
      (
       select deptno, job, sal from empX
      )
      PIVOT( max(sal) for job IN (''ANALYST'' job1, ''CLERK'' job2, ''MANAGER'' job3))
      ';  
      dbms_mview.explain_mview(lv_sqltext,'nested=>TRUE');
      commit;
    end;
    /

    Let me help you...
    I have done following and it run/view updated because I just replaced quickly with a complete word, because there are limitations for quickly updatable views:

    SQL> show user;
    USER is "SCOTT"
    SQL> create table empX as select * from scott.emp;
    
    Table created.
    
    SQL> alter table empX add constraint PK_empX_empno primary key (empno);
    
    Table altered.
    
    SQL>
    SQL> --drop  MATERIALIZED VIEW LOG ON empX;
    SQL> CREATE MATERIALIZED VIEW LOG ON empX with rowid, sequence(empno);
    
    Materialized view log created.
    
    SQL>
    SQL> --drop MATERIALIZED VIEW mv_empX;
    SQL> CREATE MATERIALIZED VIEW mv_empX
      2  REFRESH COMPLETE WITH rowid
      3  START WITH sysdate
      4  NEXT  SYSDATE + 1/1440
      5  AS
      6    select * from
      7    (
      8     select rowid emp_rowid, deptno, job, sal from empX
      9    )
     10    PIVOT( max(sal) for job IN ('ANALYST' job1, 'CLERK' job2, 'MANAGER' job3));
    
    Materialized view created.
    
    SQL> select * from mv_empx;
    
    EMP_ROWID              DEPTNO       JOB1       JOB2       JOB3
    ------------------ ---------- ---------- ---------- ----------
    AAAShcAAEAAAATTAAN         10                  1300
    AAAShcAAEAAAATTAAE         30
    AAAShcAAEAAAATTAAJ         30
    AAAShcAAEAAAATTAAC         30
    AAAShcAAEAAAATTAAA         20                   800
    AAAShcAAEAAAATTAAK         20                  1100
    AAAShcAAEAAAATTAAM         20       3000
    AAAShcAAEAAAATTAAD         20                             2975
    AAAShcAAEAAAATTAAB         30
    AAAShcAAEAAAATTAAI         10
    AAAShcAAEAAAATTAAL         30                   950
    
    EMP_ROWID              DEPTNO       JOB1       JOB2       JOB3
    ------------------ ---------- ---------- ---------- ----------
    AAAShcAAEAAAATTAAF         30                             2850
    AAAShcAAEAAAATTAAG         10                             2450
    AAAShcAAEAAAATTAAH         20       3000
    
    14 rows selected.
    
    SQL> begin
      2  dbms_mview.refresh('SCOTT.mv_empx');
      3  end;
      4  /
    
    PL/SQL procedure successfully completed.
    
    SQL> select * from mv_empx;
    
    EMP_ROWID              DEPTNO       JOB1       JOB2       JOB3
    ------------------ ---------- ---------- ---------- ----------
    AAAShcAAEAAAATTAAN         10                  1300
    AAAShcAAEAAAATTAAE         30
    AAAShcAAEAAAATTAAJ         30
    AAAShcAAEAAAATTAAC         30
    AAAShcAAEAAAATTAAA         20                   800
    AAAShcAAEAAAATTAAK         20                  1100
    AAAShcAAEAAAATTAAM         20       3000
    AAAShcAAEAAAATTAAD         20                             2975
    AAAShcAAEAAAATTAAB         30
    AAAShcAAEAAAATTAAI         10
    AAAShcAAEAAAATTAAL         30                   950
    
    EMP_ROWID              DEPTNO       JOB1       JOB2       JOB3
    ------------------ ---------- ---------- ---------- ----------
    AAAShcAAEAAAATTAAF         30                             2850
    AAAShcAAEAAAATTAAG         10                             2450
    AAAShcAAEAAAATTAAH         20       3000
    
    14 rows selected.
    
    SQL>
    

    So, the answer is Yes, we can use Pivot with Materialized view but:
    1 MV must be full refresh.
    2 oracle version should be 11 g; of course the pivot is available in Oracle 11 g.

    If this answers your question, please close the message, otherwise continue.

    These links may also be of interest:
    http://docs.Oracle.com/CD/B28359_01/server.111/b28313/basicmv.htm#i1007028
    http://docs.Oracle.com/CD/B28359_01/server.111/b28313/basicmv.htm#i1007007

    http://rwijk.blogspot.in/2009/06/fast-refreshable-MATERIALIZED-view.html

    And:

    Please see if (Note: 179466.1 - view to fast refresh materialized diagnose ORA-12015 / complex queries) help.

    Concerning
    Girish Sharma

  • Refresh materialized views

    Hi all

    I created a procedure to refresh materialized views:

    create or replace procedure refresh_MV1 is
    Start
    dbms_mview. Refresh('Materialized_view_1','C')
    exception
    while others then
    INSERT into tablelog_mv (sysdate, 'Materialized_view_1', substr(sqlerrm,1,200));
    end;
    When I run run this procedurev (exec refresh_MV1), I am getting following error:

    due to: ORA-12018: following error occurred during the generation of code for "ISGCOS". «Materialized_view_1 "ORA-00942: table or view is no ORA-00942: table or view does not exist»

    But if I run anonymously without creating a procedure as below, it works very well and the matte view gets updated:

    Start
    dbms_mview. Refresh('Materialized_view_1','C')
    exception
    while others then
    INSERT into tablelog_mv (sysdate, 'Materialized_view_1', substr(sqlerrm,1,200));
    end;

    I couldn't understand what could be the problem?

    Thank you
    Chrystelle

    Privileges on tables and views must be granted directly to the user when they are referenced in the procedures. Grants to the roles will not work.

    Most likely your username has been granted privileges via a role

    grant all on Materialized_view_1 to myRole;
    grant myRole to myUser; -- this won't give you the privileges in a procedure
    

    You have the privileges directly

    grant all on Materialized_view_1 to myUser
    
  • Reg: Package code to refresh materialized views

    I'm new to pl/sql packages and procedures.i want it running for execution of informatica mappings that takes 0 and 1 gives when it is run successfully

    create or replace the BODY of PACKAGE as pkg_refresh_mv
    procedure prc_mv (p_mv_name varchar2) is
    Start
    dbms_mview. Refresh (p_mv_name);
    end prc_mv;

    procedure refresh_all_mv (proc_response IN OUT number) is


    Start
    dbms_mview. Refresh ("' materialized view", "C");
    dbms_mview. Refresh ("' materialized view", "C");

    proc_response: = 1;
    exception
    while others then
    proc_response: = 0;
    end refresh_all_mv;
    end pkg_refresh_mv;

    When I run this code I get the following errors


    PLS-00201: identifier 'PKG_REFRESH_MV' must be declared.
    PLS-00304: impossible to compile 'PKG_REFRESH_MV' body without its specification

    what needs to be changed


    Thank you

    try this one:

    CREATE OR REPLACE PACKAGE pkg_refresh_mv
    AS
       PROCEDURE prc_mv (p_mv_name VARCHAR2);
       PROCEDURE refresh_all_mv (proc_response IN OUT NUMBER);
    END pkg_refresh_mv;
    /
    
    CREATE OR REPLACE PACKAGE BODY pkg_refresh_mv
    AS
       PROCEDURE prc_mv (p_mv_name VARCHAR2)
       IS
       BEGIN
          dbms_mview.refresh (p_mv_name);
       END prc_mv;
    
       PROCEDURE refresh_all_mv (proc_response IN OUT NUMBER)
       IS
       BEGIN
          dbms_mview.refresh ('materialized view', 'C');
          dbms_mview.refresh ('materialized view', 'C');
    
          proc_response := 1;
       EXCEPTION
          WHEN OTHERS
          THEN
             proc_response := 0;
       END refresh_all_mv;
    END pkg_refresh_mv;
    /
    
  • How to refresh materialized views

    I'm following the steps to migrate a 12.0.6 financials database to OATM (model Tablespace Oracle Applications). One of the steps say to "perform a refresh all materialized views complete." This step is not part of the Oracle OATM utility. I wasn't able to find much on Metalink on this one. How to achieve this? Thank you... Colin

    Colin,

    See Note: 391483.1 - how to refresh materialized views after migration to the model OATM
    https://metalink2.Oracle.com/MetaLink/PLSQL/ml2_documents.showDocument?p_database_id=not&P_ID=391483.1

  • How to fast refresh materialized view parallel

    We have Oracle 11.2.0.1 on Redhat 5.2. We use a dozen views fast refresh materialized in our application.
    Occasionally refresh MV takes longer than the refresh interval.

    One of the ways to improve the performance of refresh MV is to update at the same time, for example
    http://www.dba-oracle.com/t_materialized_views_refreshing_performance.htm
    
    - Use parallel DML - Oracle author Michael Armstrong Smith notes "I've done parallel materialized view refreshing
     on tables recently and improved the load times considerably. Rather than having one load which took 2 hours,
     I run 4 parallel loads, one for each partition. The length of time for the whole process is now determined by
     how long the biggest partition takes to load. In my case, this is 40 minutes, with two 30 minute loads and one
     20 minute load.  Overall I am saving 1 hour 20 minutes. I can now add further partitions and do the same thing.
     My only limitation is the parallel loads because I don't have unlimited processing power.
    {code} My master tables are not partitioned, but think parallel will still better than non-parallel.
    
    Now the question, how to make refresh parallel. According to the paragraph cited above, Use parallel DML appears doing the job. Can someone  confirm that.
    
    We use {code}
    alter materialied view MV_OFFENSE parallel REFRESH FAST start with sysdate next sysdate+ 1/24;
    {code}to schedule refresh. Does the parallel clause here parallels query the MV or refresh the MV?
    
    Any other way to make MV refresh parallel?
    
    Thanks                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                

    Hello

    Just search for * 577870.1*. But before you search, select ID of item in the source list.

    Hope this helps.
    Best regards
    Jean Valentine

  • Fast refresh materialized views

    Hi all

    We have tables in the remote database and we created materialized views in our local database using the database but link to refresh these take a long time, so we can use fast refresh on these materialized views?

    Kind regards
    RAM

    Look at ATOMIC_REFRESH option, if you set this to FALSE, you can see the performance because it will use the path of DIRECT ACCESS and TRUNCATE. Data will be unavailable while being refreshed well.

    See you soon
    If

  • Problem with a complete refresh materialized view when using rownum

    Hi all

    I had a problem with rownum when complete using Refresh

    I use rownum when you create the materialized view, and this is the generation properly. But the question was when I even refreshing, rownum was not get sorted in ascending order.

    anyone encountered this scenario

    rownum is determined as the line came out, also "order by rownum" does absolutely nothing.

    http://docs.Oracle.com/CD/B19306_01/server.102/b14200/pseudocolumns009.htm

  • Refresh materialized view

    Hello

    Version: Oracle 10g

    I'm not having any expertise on materialized views (now start reading about M views). A friend of mine asked this question. If we need updating the display of materialzied on ad hoc basis is all avialable API.

    For example materialized view the code (I changed the names of the objects)
    CREATE MATERIALIZED VIEW emp TABLESPACE sample NOCACHE LOGGING NOCOMPRESS NOPARALLEL BUILD IMMEDIATE USING INDEX
                TABLESPACE TS_SAMPLE_IX
    REFRESH FORCE ON DEMAND
    WITH PRIMARY KEY
    AS
    SELECT  empno
                 ,ename
              ,deptno
    FROM   [email protected];
    Thank you
    Suri

    dbms_mview?
    http://docs.Oracle.com/CD/E11882_01/AppDev.112/e25788/d_mview.htm#ARPLS027

  • ORA-12008: error path refresh materialized view... Bug?

    SQL> select * from v$version;
    
    BANNER
    --------------------------------------------------------------------------------
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    PL/SQL Release 11.2.0.3.0 - Production
    CORE    11.2.0.3.0      Production
    TNS for Linux: Version 11.2.0.3.0 - Production
    NLSRTL Version 11.2.0.3.0 - Production
    
    SQL> drop materialized view log on test_tbl;
    
    Materialized view log dropped.
    
    SQL> drop materialized view mv_test_tbl;
    
    Materialized view dropped.
    
    SQL> drop table test_tbl;
    
    Table dropped.
    
    SQL> create table test_tbl(
      2   test_id   number(10)   primary key,
      3   test_name varchar2(10) not null)
      4  ;
    
    Table created.
    
    SQL> insert into test_tbl values (1,'bob');
    
    1 row created.
    
    SQL> insert into test_tbl values (2,'joe');
    
    1 row created.
    
    SQL> insert into test_tbl values (3,'john');
    
    1 row created.
    
    SQL> commit;
    
    Commit complete.
    
    SQL> create materialized view log on test_tbl
      2  with primary key , rowid, sequence
      3  (
      4   test_name
      5  )
      6  including new values;
    
    Materialized view log created.
    
    SQL> create materialized view mv_test_tbl
      2  refresh fast on commit
      3  as
      4  select test_id,
      5         test_name
      6  from   test_tbl;
    
    Materialized view created.
    
    SQL> update test_tbl set test_name = 'hello' where test_id = 1000;
    
    0 rows updated.
    
    SQL> commit;
    
    Commit complete.
    OK, so it's all good. Now, if I create the log of the materialized with the possibility of COMMETTRE SNA view:
    SQL> drop materialized view log on test_tbl;
    
    Materialized view log dropped.
    
    SQL> drop materialized view mv_test_tbl;
    
    Materialized view dropped.
    
    SQL> create materialized view log on test_tbl
      2  with primary key , rowid, sequence
      3  (
      4   test_name
      5  ),
      6  commit scn
      7  including new values;
    
    Materialized view log created.
    
    SQL> create materialized view mv_test_tbl
      2  refresh fast on commit
      3  as
      4  select test_id,
      5         test_name
      6  from   test_tbl;
    
    Materialized view created.
    
    SQL> update test_tbl set test_name = 'hello' where test_id = 1000;
    
    0 rows updated.
    
    SQL> commit;
    commit
    *
    ERROR at line 1:
    ORA-12008: error in materialized view refresh path
    ORA-01006: bind variable does not exist
    
    
    SQL>
    Commit an update that updates no line against a main table for a single table quickly updatable materialized view results in the error above when the log of the materialized on the main table view is created with the option of COMMETTRE YVERT. I'm guessing that's not how things are supposed to work. Or am I missing something here? Someone else has encountered this before?

    See you soon.

    Published by: task on 25 January 2013 13:27

    Hi, detaching,

    Looks like that Bug ID 13910043

    Concerning
    Peter

  • How to stop refreshing materialized views if the source table is null

    any ideas?

    Probably not what you were hoping for, but here's a few ideas.

    Your account shows - 113 (85 pending)
    1. How about helping to keep the forum clean by examining your 85 not resolved previous issues and give credit relatively USEFUL or RESPONDED to those who helped you in the past.

    2. read the FAQ at the top right of the page and view information about your system and your software so that we know what you're working with.

    3 ask your question in the body of the thread. Don't tell "of ideas.

    What is your question? Is this an academic question or you have a real problem that needs to be addressed?

    If you have a problem producing the DDL for the materialized view, and information about the type of discount that has been set up for this. Is there a newspaper view materialized on the underlying tables?

    The simple answer to your quest is to use UPDATE them on REQUEST and check the base tables before making a manual
    a: the best answer depends on what version of Oracle you are using and what is your actual configuration. Are your
    MVs in REFRESH GROUPS? Who can make a difference in the response.

    How can anyone help with this issue if you do not provide the information needed (FAQ)? Why is - someone MUST help if you show you don't appreciate help in marking questions to which answered once you have helped.

  • ORA-12052: is unable to fast refresh materialized view string.string

    Hello

    I try to create the same xx and xx, after creating a newspaper, I get this error. Follow my structure:
    create table PEDIDO
    (
      NR_PEDIDO        NUMBER not null,
      DESCRICAO_PEDIDO VARCHAR2(10)
    );
    
    alter table PEDIDO
      add constraint PEDIDO_PK primary key (NR_PEDIDO);
    
    create table ITEM_PEDIDO
    (
      NR_PEDIDO  NUMBER not null,
      NR_PRODUTO VARCHAR2(10) not null
    );
    alter table ITEM_PEDIDO
      add constraint ITEM_PK primary key (NR_PEDIDO, NR_PRODUTO);
    alter table ITEM_PEDIDO
      add constraint PEDIDO_ITEM_FK foreign key (NR_PEDIDO)
      references PEDIDO (NR_PEDIDO) on delete cascade;
    
    create index INDEX_ITEM_PEDIDO on ITEM_PEDIDO (NR_PEDIDO);
    
    insert into pedido
    values (1, 'A');
    
    insert into pedido
    values (2, 'B');
    
    insert into item_pedido
    values (1, 'X');
    
    insert into item_pedido
    values (1, 'Z');
    
    insert into item_pedido
    values (2, 'X');
    
    commit;
    When you try to create, I get the error ORA-12052:
    drop materialized view log on pedido;
    drop materialized view log on item_pedido;
    
    create materialized view log on pedido;
    create materialized view log on item_pedido;
    
    create materialized view mv_pedido_item
    refresh fast as
    select pe.nr_pedido, pe.descricao_pedido, ip.nr_produto
      from pedido pe, item_pedido ip where pe.nr_pedido = ip.nr_pedido;
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0

    Hello Luiz,

    Thank you for provding test cases.

    SQL> drop materialized view log on pedido;
    Materialized View log dropped.
    SQL> drop materialized view log on item_pedido;
    Materialized View log dropped.
    SQL> create materialized view log on pedido
      with rowid;
    Materialized View log created.
    SQL> create materialized view log on item_pedido
      with rowid;
    Materialized View log created.
    SQL> create materialized view mv_pedido_item
    refresh fast as
    select pe.nr_pedido, pe.descricao_pedido, ip.nr_produto, pe.rowid pe_rowid, ip.rowid ip_rowid
      from pedido pe, item_pedido ip where pe.nr_pedido = ip.nr_pedido;
    Materialized view created.
    
    BANNER
    --------------------------------------------------------------------------------
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    1 row selected.
    

    Concerning
    Peter

Maybe you are looking for

  • How can I unsubscribe to Match iTunes

    Hello I just got a notification from Apple stating that my game iTunes subscription will expire soon. I have already subscribed to iTunes Music, and I'm pretty happy with that. Wondering how to unsubscribe my computer? I have macbook pro is not allow

  • HP Pavilion HPE h8-1100: motherboard for h8-1100

    Hello, thanks for reading my message. The motherboard on my PC died and I'll try to find a replacement motherboard. I think the number is M3970AM-HP Angelica. Forgive my ignorance, if I have this wrong. You might know were I could continue the search

  • How to find drivers for Satellite A30-514?

    Did someone let me know what MODEL my laptop is a Satellite A30-514?I am wanting to download the drivers for the 1st time since purchase in 2003. It does not appear that there is also a laptop that I have been unable to find such a name on the Toshib

  • Create 2010 compatible 2011 version of Labview VI

    Is there a method to create a VI compatible with the 2010 version of Labview using Labview 2011 and a VI compatible 2011?   If so, what is the method? Howard

  • RIP a dvd on my laptop

    Im trying to copy a dvd on my computer so I can watch at a later time