The Transformation of the Star can treat materialized views?

Hello

Oracle data warehouse Guide says that "the optimizer generates a subquery for a dimension table" when you apply a transform star. Star processing restrictions refer always to "dimension tables. I am referring to an Oracle 11 g server.

My question is: If star can also manipulate materialized views instead of tables in database size? In my scenario, I intend to use views materialized, derived from dimension tables to build a simple star around a fact table schema. SQL queries directly consult the materialized views (contain the names of materialized views in the FROM clause) - no rewriting query or dimensional rollup is intended.

Thanks for your advice.

Concerning
Johannes

>
If star can also manipulate materialized views instead of tables in database size?
>
Yes - in your use case, they are one and the same. A dimension table is a table that has a foreign key to one or more columns in the fact table.

Your VM is your dimension tables.

Tags: Database

Similar Questions

  • What is the desertion of orderly materialized view with MLOG$.

    I have 11.2.4.0 Oracle enterprise edition.

    I want to remove completely the MATERIALIZED view and MATERIALIZED view logs.


    I need to do this on a production of databases.


    It's the right order?

    Thank you.

    You can drop the materialized view log first, then the materialized views.

    Because when you drop a materialized view log is therefore more available to fast refresh, however, it is available to rewrite, so drop materialized view log first, then materialized views. Additional information provided below may help Doc Oracle.

    If you delete a simple materialized view that is the least recently refreshed materialized view of a main table, then the database automatically purges the materialized master table see only connect the required lines to refresh the materialized view has fallen.

    If you delete a materialized view that was created on a predefined table, then the database removes the materialized view, and table preconstruitse returns to his identity in a table.

    When you delete a master table, the database does not automatically drop the materialized views based on the table. However, the database returns an error when it tries to refresh materialized view based on a main table that has been abandoned.

    If you delete a materialized view, then all the compiled queries that have been rewritten to use the materialized view will be invalidated and recompiled automatically. If the materialized view was preconstruitse on a table, then the table is not deleted, but it can no longer be maintained by the materialized view refresh mechanism.

  • Is there a way to change the motion of a materialized view?

    Hello

    I use Oracle 10.2.0.
    I created a materialized with option as a Force refresh view. I want to make changes to the underlying query of the materialized view that joins a few other tables. Please advice if I can change the query of the mview.

    Kind regards
    Naveen.

    Naveen Kumar C wrote:
    I want to know if there is a way to change the query without dropping the existing and recreate it.

    No, it isn't.

  • How to understand where are the data in a materialized view, coming from

    HI: when I run select NAME, OWNER of dba_mview_refresh_times, I see a number of materialized views. How can I find more information on this view it's source data and fields. The source in a different database table has changed. But the view on my database where the materialized view has not changed. I want to confirm origin of data in this view

    TIA
    Ravi

    Take a look at the column of the QUERY to the DBA_MVIEWS view.

  • View materialized, ORA-12008: error in the path of refresh materialized view

    I want to refresh a materialized view, but I get an error ORA-12008.
    Does anyone have an idea? I can't find any errors in my update statement.
    CREATE MATERIALIZED VIEW scott.dummy_mv
      TABLESPACE test
      BUILD IMMEDIATE
      USING INDEX TABLESPACE idx_test
      REFRESH 
         START WITH sysdate 
         NEXT ROUND(SYSDATE)+5/24          
         WITH PRIMARY KEY
      ENABLE QUERY REWRITE
      AS
      SELECT KM.ID ID
              ,KM.USERNAME USERNAME
           ,KM.ABTID ABTID     
      FROM my_table KM
    /
    
    scott@orcl>desc dummy_mv
     Name                                      Null?    Typ
     ----------------------------------------- -------- ----------------------------
     ID                                        NOT NULL NUMBER(4)
     USERNAME                                  NOT NULL VARCHAR2(30)
     ABTID                                     NOT NULL NUMBER(4)
    
    scott@orcl>
    
    
    BEGIN 
      SYS.DBMS_JOB.REMOVE(6579);
    COMMIT;
    END;
    /
    
    DECLARE
      X NUMBER;
    BEGIN
      SYS.DBMS_JOB.SUBMIT
      ( job       => X 
       ,what      => 'dbms_refresh.refresh(''"scott"."dummy_mv"'');'
       ,next_date => to_date('07.01.2009 05:00:00','dd/mm/yyyy hh24:mi:ss')
       ,interval  => 'ROUND(SYSDATE)+5/24              '
       ,no_parse  => FALSE
      );
      SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
    COMMIT;
    END;
    /
    
    scott@orcl>exec dbms_refresh.refresh('dummy_mv');
    BEGIN dbms_refresh.refresh('dummy_mv'); END;
    
    *
    FEHLER in Zeile 1:
    ORA-12008: error in materialized view refresh path
    ORA-00947: not enough values
    ORA-06512: in "SYS.DBMS_SNAPSHOT", Zeile 820
    ORA-06512: in "SYS.DBMS_SNAPSHOT", Zeile 877
    ORA-06512: in "SYS.DBMS_IREFRESH", Zeile 683
    ORA-06512: in "SYS.DBMS_REFRESH", Zeile 195
    ORA-06512: in Zeile 1
    
    scott@orcl>

    dealer says:
    I get the same error:

    scott@orcl>exec dbms_mview.refresh('dummy_mv','c');
    BEGIN dbms_mview.refresh('dummy_mv','c'); END;
    
    *
    FEHLER in Zeile 1:
    ORA-12008: error in materialized view refresh path
    ORA-00947: not enough values
    ORA-06512: in "SYS.DBMS_SNAPSHOT", Zeile 820
    ORA-06512: in "SYS.DBMS_SNAPSHOT", Zeile 877
    ORA-06512: in "SYS.DBMS_SNAPSHOT", Zeile 858
    ORA-06512: in Zeile 1
    

    I would first check "request" from the view of the DBA_SNAPSHOTS/DBA_MVIEWS dictionary information, if it reveals something obvious.

    But it looks more like an internal error when processing the update. You can get more information on the follow-up to the session error. "Alter session set sql_trace = true;" before running the update should be sufficient. Then unplug and check the trace file generated error using "tkprof" and check the output or by searching manually "err =" in the trace file.

    What 4 numbers of Oracle version do you use?

    Kind regards
    Randolf

    Oracle related blog stuff:
    http://Oracle-Randolf.blogspot.com/

    SQLTools ++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676 /.
    http://sourceforge.NET/projects/SQLT-pp/

  • Refresh/update of the data in a materialized view

    Hello
    I have question about data in a materialized view, and how it is updated. I think Matt has all my dimension-ID and my (for my specialize needs) aggregated measures of my fact table. I used mat View Wizard to create my opinion - which works perfectly. But now I wonder if I should create some sort of mapping (?) or some kind of trigger to refresh the data in the view of mast. Or are updated automatically when I start my fact table mappings. I use OWB 11 GR 2

    THX

    MVs have properties for update - you a discount based on schedules or when dependent data are committed or manually.

    See you soon
    David

  • need help on the name of the column in double materialized view ORA-00957

    I have a query, long enough and several (8ways) joins.

    When I run it as a SQL query, it is fine.

    When I add create materialized, view myViewName it errors with
    ORA-00957: duplicate column name.

    How is there is no problem when executing the SQL statement, and how to fix this?

    Thank you.

    Hello

    Columns in a query do not need a unique name:

    SELECT     dummy
    ,     dummy
    FROM     dual;
    
    D D
    - -
    X X
    

    At least not in SQL * Plus; other front ends might oppose it.
    In previous versions of Oracle, subqueries (such as online views) does not need to have unique names, but you've got an error if you tried to reference a non-unique column (and it is unnecessary to have the column if never reference you).

    Columns in a table or a view need unique names:

    CREATE OR REPLACE VIEW view_x
    AS
    SELECT     dummy
    ,     dummy
    FROM     dual;
    
    ,     dummy
          *
    ERROR at line 4:
    ORA-00957: duplicate column name
    
  • Generate the ddl to create materialized view log...

    Hi gurus...

    Oracle db: 11g

    I am trying to generate / excerpt from script MVIEW Logs from prod to be applied on the test.
    I tried
    < code >
    DBMS_METADATA. GET_DDL (decode(object_type,'materialized_view_log'), object_name, owner)
    from dba_objects
    where owner = < ABC >;
    < code >

    above fails, any ideas?

    Thank you

    >
    Oracle db: 11g

    I am trying to generate / excerpt from script MVIEW Logs from prod to be applied on the test.
    I tried

    dbms_metadata.get_ddl(decode(object_type,'materialized_view_log'), object_name, owner)
    from dba_objects
    where owner=;

    above fails, any ideas?
    >
    Please try to use the tags in code, but you need to add.

     on the line before and the line after your code instead of what you are using.
    
    The object type names are case-sensitive so you need to use
    

    DBMS_METADATA. GET_DDL ('MATERIALIZED_VIEW_LOG', object_name, owner)

    Why are you using DECODE?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
    
  • Refresh of the materialized view; Process flow

    I was wondering if anyone has used process flow to refresh the materialized view.

    I'm trying to use a process flow for it, either run something similar to below
    EXECUTE Dbms_refresh.Refresh ('"ODW_SRC".) "MV_SERVICE_DAILY_AUDIT" ');

    I try to avoid using the Scheduler of DB because I want to make sure that the process flow is not conflict with the update of a materialized view possible cause conflict more execution time of the work expected will refresh window.

    I guess I could use a transformation and build. but I was wondering if there is an easier way in the execution of it just line... an idea

    Thanks in advance for your help

    Sorry, I think that the term OWB is post mapping process, its actually an operator in an OWB mapping where you can add a procedure for example call. The procedure can do pretty much what he wants.

    See you soon
    David

  • effect of pump or etl data on the materialized view logs

    Hi, we are mobile/upgrading an instance of 10g to 12 c, where one materialized view logs and expect to do one of the following:

    (1) extract/import the meta, only using data pump data and move data using an etl tool

    (2) comprehensive database extract/import using the data pump in

    are there questions that we must be aware of when the displacement of these with either scenario materialized view logs?

    Thanks for any information you can provide.

    > are there questions that we should be aware of when the displacement of these materialized view logs with either scenario?

    No problem

  • I get "failed to set the refresh attribute COMMIT for the materialized view" when I try to create a MV using a table and another MV

    Experts,

    I'm trying to create a YOUNG refreshable ON COMMIT MV (xyz) using a table (circuit) and quickly updateable on validation MV (abc), but get an error:

    SQL error: ORA-12054: cannot set the attribute ON COMMIT refresh for the materialized view

    12054 00000 - "cannot set the refresh attribute COMMIT for the materialized view.

    * Cause: The materialized view did not meet the requirements for update to

    moment of validation.

    * Action: Specify only valid options.

    1] MV abc
    = MV abc defined as below =.

    CREATE MATERIALIZED view abc_MV

    Immediate CONSTRUCTION

    REFRESH QUICKLY YOU COMMIT using constraints of trust

    WITH ROWID AS SELECT n.*,.

    n.ROWID noderowid

    node n

    where n.nodetype in (1610000069,1610007267);


    -Above works OK and MV connect you on table node is created successfully

    =====================================================

    [ 2] Circuit Board

    ======================================================

    CREATE MATERIALIZED VIEW LOG ON Cramer.Circuit WITH SEQUENCE, ROWID ( ) -all columns of table ofcircut parentheses

    INCLUDING THE NEW VALUES;

    -More top works OK and MV connect you on table circuit is created successfully

    ======================================================



    [3] trying to create MV xyz

    ======================================================

    CREATE MATERIALIZED VIEW LOG ON cramer.abc_MV WITH SEQUENCE, ROWID ( ) -all columns of abc_MV brackets

    INCLUDING THE NEW VALUES;

    -Above works OK and log on ABC MV MV gets created successfully

    -Problematic step below

    Xyz_MV CREATE MATERIALIZED VIEW

    IMMEDIATE CONSTRUCTION

    REFRESH QUICKLY YOU COMMIT using constraints of trust

    AS

    SELECT c., c.rowid circuit_rowid, n.rowid tr_rowid

    the circuit c, abc_mv n

    where circuit2startnode = n.nodeid

    and c.rpplanId = n.rpplanId;
    ==========================================================

    Clues on how to solve this problem and make quickly updatable ON Commit MV xyz

    Thanks in advance.

    Chanchal,

    If you can read my original post carefully you may have noticed that all these restrictions will not apply in my case.

    All,

    In any case I found the solution to my problem.

    There are a few additional restrictions for materialized views multilayer

    Additional Restrictions for master materialized views

    The following types of materialized views may not be masters of editable materialized views:

    • ROWIDmaterialized views
    • Complex materialized views
    • Read-only materialized views

    I've updated the underlying MV abc below and everything worked like a charm

    CREATE MATERIALIZED view abc_MV

    Immediate CONSTRUCTION

    REFRESH QUICKLY YOU COMMIT using constraints of trust

    IN SELECT

    n.*, n.rowid noderowid, nt.rowid nodetyperowid

    the node n, nodetype_m nt

    where n.node2nodetype = nt.nodetypeid

    and nt.nodetypeid in (1610000069,1610007267);

    Note: To ADD a join without which I was getting error below (although had primary key on the table of the node)

    SQL error: ORA-23415: materialized view log for "NODE" does not save the primary key

    23415 00000 - "view the log for materialized \"%s\".\"%s\"does not save the primary key.

    * Cause: A primary key materialized view is refreshed quickly, but the

    The materialized view log does not record the primary key information.

    * Action: Use CREATING MATERIALIZED VIEW LOG... Command to add a PRIMARY KEY to

    start recording of the primary key information in the materialized view

    Newspaper.

  • the materialized view query

    Hello

    I had created a materialized view, it refreshes every 3 minutes. At the end of 3 minutes next time we are accessing the old records of materialized view should be deleted. Can someone help me with this query...
    create or replace materialized view deptd_mvu
         refresh fast on commit
         start with sysdate
         next sysdate + 3/(60*24)
         as select *
            from deptd;

    969052 wrote:
    No, my query shows all data are there is no error in my query? can u help me

    # It is not a mistake on your part of the implementation or Oracle. Error lies in understanding.

    Materialized view appeared in SELECT * FROM DEPT; So, it must take all the data that are available in the Dept table each time it is regenerated.

    What you intend to do is force the MView to choose the data "Modified" of table DEPT. Is not possible, unless you have some distinctive sign that the MView should be checked.

    For Eg :-(just an idea that I did not test this)

    Adding another column to identify records updated the: -.

    alter table dept add is_modified varchar2(1) default 'N';
    

    MView create instruction me altered as

    select *
      from dept
    where is_modified = 'Y';
    

    Write a trigger that sets the column IS_MODIFIED 'Y', each time that a record is inserted or updated. Don't worry about the deleted records (if this isn't a Soft Delete) as MView does not see records that are not present in the master table.

    You simply need to ensure that, whenever the MView is refreshed, the IS_MODIFIED the Department table must be set to 'n', so that it does not display a false positives.

  • question on the materialized view unregistered on the main site

    Hello

    you know how one knows, on the main site, on the existence of a materialized view another site referring to other tables to a primary site. It seems registration is not required.

    the site main orcl1: I have a table, and a materialized view log defined on A table.
    another site orcl2: have a link db orcl1 and rapid updatable view SCOTT materialized. A_MVW (create a materialized view A_MVW cool off quickly in select * from A@orcl1)

    on orcl1 I perform: exec DBMS_MVIEW. UNREGISTER_MVIEW (mviewowner = > 'SCOTT', mviewname = > mviewsite, 'A_MVW' = > 'ORCL2');
    so the materialized view seems to be correctly set aside (because it no longer appears in: select * from DBA_REGISTERED_MVIEWS ;))
    But, to my surprise, I can still perform refreshes fast on A_MVW, which also remove rows from the materialized view log. So how is site orcl1 always aware of the existence of the materialized view?

    It seems that, registered or not to the main site, a materialized view has the same... or is not? where is it stored, on the main site, information about materialized views (especially those of quickly updatable) as local tables reffer?

    Thank you

    See DocIDs 258634.1, 67371.1, 1031924.6
    on Oracle's Support website.

    Hemant K Collette

  • Question about the materialized view

    I read that Materialized Views should not be used to select the data. I thought that the whole purpose of materialized view to pre-computes joins and aggregation, so that we can recover more quickly. Please let me know your point of view. I'm working on a project of storage and using materialized in the queue views and data reports

    user637544 wrote:
    I read that Materialized Views should not be used to select the data.

    Where did you read that? As stone and others have tried to indicate, this is not the case. Note that the Data Warehousing Guide Peter links has several chapters on materialized views and their uses. Precomputing of aggregates is certainly one of these uses.

    Justin

  • materialized view of the site / site of master

    Hello

    Currently I have an updatable materialized view and a main site.

    Whatever the changes bring to emp table of the main site that will be included in the emp materialized view in the view of the site.

    Whatever the changes bring to materialized view emp is also included in table emp from the main site.


    Right now, in my materialized view site, I have two jobs:
    defer_sys.push and dbms_refresh

    I would like to know the differences between the 2 posts...


    Can someone advise? Do I really need both jobs or only one of them will do?

    Range of jobs is important?

    Thank you

    Yes, you're right.

    You use DBMS_REFRESH, which is normally used to refresh the groups. However, a Updatabe Materialized View must be in a group of refreshing (otherwise, it's only a writable MV).

    I find this paragraph in the documentation on the update process when using a group of refreshing:

    A refresh of an updatable materialized view first pushes the deferred transactions at the materialized view site to its master site or master materialized view site. Then, the data at the master site or master materialized view site is pulled down and applied to the materialized view.
    

    See http://download.oracle.com/docs/cd/B19306_01/server.102/b14226/repmview.htm#i30557

    and http://download.oracle.com/docs/cd/B19306_01/server.102/b14226/repmview.htm#i31171

Maybe you are looking for