Materialized view log and user....

Hi,
Assume that a user , let's call him A owns a table and another user B needs to create a materialized view log on the table who owns the A user.
Whereas the user B do have all object privileges(direct priv insert, update, delete.. not via a role) on the table of user A he cannot create a mv log on this table on his schema....
So, the stmts insert/update/delete on <tab_name> are successfully executed (having connected as user B).
The error message "ORA-00942: table or view does not exist " appears when i issue the command:
connect B/B;
create materialized view log on tab_name with sequence including new values;
Note: I use ORADB 10.2.0.4 and there is a synonym of tab_name to the user B (who tries to create the mv log on)...
Is the above req. possible in any way...???
Thank you,
Sim

The documentation says the following:
The materialized view log is created in the same schema as the target master.HTH!

Similar Messages

  • How manage materialized view, materialized view logs and db links in Server explorer and Oracle Database Proyect

    Hi,
    We have installed Oracle 12c Oracle Developer Tools for Visual Studio (Visual Studio is 2010 edition). With this tool we can manage tables, views, etc... but we also need to manage more database objects such as materialized views, materialized view logs and db links.
    Is there any option to manage this object from Server Explorer and to add the script in the Database Project? At the same time, the schema compare tools does not include this object types. Is there any option to compare them?
    Thanks.

    As you noticed, not all database objects are available in Server Explorer, and because of this they can't have scripts generated for them, nor can they be compared with Schema Compare.
    In a pinch, you should be able to use SQL Developer to do this.

  • How do I use Primary Key and RowID in Materialized View Logs and MVs

    How do I use Primary Key and RowID in Materialized View Logs and Materialized Views????
    I don’t understand in the Materalized View Logs the diference between Primary Key and RowID. Besides, I could choose both Primary Key and RowID.
    When I have to use RowID?? Why?? And Primary Key??? And both, Primary Key and RowID????
    Thank you very much!

    Yes, I have already read it...
    But for example I don’t Understand:
    This is the example 8-1
    CREATE MATERIALIZED VIEW LOG ON products
    WITH SEQUENCE, ROWID
    (prod_id, prod_name, prod_desc, prod_subcategory, prod_subcat_desc, prod_
    category, prod_cat_desc, prod_weight_class, prod_unit_of_measure, prod_pack_
    size, supplier_id, prod_status, prod_list_price, prod_min_price)
    INCLUDING NEW VALUES;
    But if I create a Materialized View with TOAD if I choose a KEY field I receive the error:
    ORA-12026: invalid filter column detected
    Then I have to take out the Key (in the above example prod_id)
    And then the script is
    CREATE MATERIALIZED VIEW LOG ON products
    WITH ROWID, SEQUENCE, PRIMARY KEY!!!!!!!!!!!!!!!!!!!!
    (prod_id, prod_name, prod_desc, prod_subcategory, prod_subcat_desc, prod_
    category, prod_cat_desc, prod_weight_class, prod_unit_of_measure, prod_pack_
    size, supplier_id, prod_status, prod_list_price, prod_min_price)
    INCLUDING NEW VALUES;
    I have PRIMARY KEY in the definition (I don’t choose it) and I don’t have the prod_id field
    Why is it????
    Note: If I execute the script to create the MV Log manually the PRIMARY KEY option NO IS in the script and the prod_id field either is in the script.
    And on the other hand,
    What is this:
    CREATE MATERIALIZED VIEW LOG ON sales
    WITH ROWID;
    CREATE MATERIALIZED VIEW LOG ON times
    WITH ROWID;
    CREATE MATERIALIZED VIEW LOG ON customers
    WITH ROWID;
    These MATERIALIZED VIEW LOG contain any fields????
    Or it contain the primary key fields of this tables (sales, times and customers)??? Then, Why is it ROWID instead of PRIMARY KEY????
    Thanks!

  • Creating a Materialized View Log After the Data has been instered

    Hi,
    I am trying to create a method of replication from Oracle to MySQL using the Materialized View Log table.
    This has been done before and works quite well, the only problem is that I am trying to impliment the log after the table has been created and populated and wish to push all the existing data through the log file...
    Does anyone know if it is possible to refresh the Materialized View Log and not a Materialized View.
    The way the replication is intended to work is:
    Oracle> Data inserted into table
    Oracle> writes the vector data to the MVL
    Script> Monitors the MVL and can see the changes being made to the Oracle Table
    Script> Updates MySQL with the data and removes the rows from the MVL
    MySQL is then used with other unix systems
    Currently we export the data from the table using Triggers and a cronjob running every x minute to check for changes in the TriggerTables
    Many thanks for your time on this, I have been checking for almost a whole working day and not found the answer to this problem.

    Thats what I thought, the MVL will only read data that has changed since it was created and wont have the option to load in all the data as though it was made before the table was created.
    From what I have read, the MVL is quicker than a Trigger and I have some free code that prooved to work from a MVL using it as a reference to know what records to update. There is not that much to a MVL, a record ID and type of update, New, Update or Delete.
    I think what I will have to do is work on a the same principle for the MVL but use a Trigger as this way we can do a full reload if required at any point.
    Many thanks for your help.

  • Recreate materialized view logs

    Hi
    I am wondering if you can drop your materialized view log and recreate it with out have to do a complete refresh?
    Is there any way to do this?

    http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:4541191739042#14254203030384

  • Truncate table and materialized view log

    I user oracle 10 R2
    I have a table and on that table a materialized view log.
    I execute in a pl/sql procedure:
    1) execute immediate('drop materialized view log on tab1');
    then:
    2) execute immediate('truncate table tab1');
    3) Now I insert a lot of records in tab1
    4) execute immediate('create materialized view log on tab1 WITH rowid INCLUDING NEW VALUES');
    When I create the materialized view log I recieved this message:
    ora32321: refresh fast on tab2 unsupported after detail table truncate
    Why?

    Refresh fast after truncate operation on container table is not supported, regardless the container table is or is not partitioned.
    Perform a refresh complete.
    ORA-32321 :
    Cause:     A detail table has been truncated and no materialized view
         supports fast refersh after a detail table has been truncated
    Action:     Use REFRESH COMPLETE. Note: you can determine why your
         materialized view does not support fast refresh after TRUNCATE
         using the DBMS_MVIEW.EXPLAIN_MV() API.

  • Creation of Materialized view and Materialized view log.

    I wanted to create materialized view with 'REFRESH FAST ON COMMIT' option.
    1) Table1 --it is partitioned range + list -- Added primary key
    2) view1   -- having primary keys on view's base table
    Steps:
    1) create materialized view log on Table1 ; -- default primary key
    2) create materialized view log on view1.  --- It is giving below error.
    ORA-00942: table or view does not exist
    i wanted to create Materialized view like below
    create materialized view
    REFRESH fast ON commit
    as
    select ...
    ... from table1
    where c1 in (select c1 from view1 where ... );
    Question:
    1) As i am getting above error while creating MV log on view. Can we create MV log on view or we have to create MV log on view base table?
    2) To create MV with ''REFRESH FAST ON COMMIT' option , do we need to have primary key on master tables? 
    Any pointers on this will really helpful.
    Thanks
    Prasad

    Also created MV LOG on 3 tables and tried with joins ..
    create materialized view
    REFRESH fast ON commit
    as
    select ...
    ... from table1 , tab2 t2,tab3 t3
    where ....
    and ...
    Get same error ORA-12052: cannot fast refresh materialized view AVSYS.EVENT_LOG_MV
    2052. 00000 -  "cannot fast refresh materialized view %s.%s"
    *Cause:    Either ROWIDs of certain tables were missing in the definition or
               the inner table of an outer join did not have UNIQUE constraints on
               join columns.
    *Action:   Specify the FORCE or COMPLETE option. If this error is got
               during creation, the materialized view definition may have be
               changed. Refer to the documentation on materialized views.

  • MATERIALIZED VIEW and MATERIALIZED VIEW LOG

    Hello,
    I have the following table
    create table My_price
    (price_id number(10),
    product_id number(10),
    price_date date,
    price_value number(10,2));
    I want to create the following materialized view
    create materialized view Last_Price_Date
    refresh
    on commit complete
    as
    select max(price_date) as max_date, product_id from my_price group by product_id;
    Do I have to create materialized view log ? Will my materialized view be refresh on commit without materialized view log ?

    As a student the requisite first task is always to study. Thus your assignment is to go to http://tahiti.oracle.com and read the concept and architecture docs on Materialized Views so that you can learn about the different types of MVs and how and when they are refreshed. There you will learn about what ON COMMIT means.
    Then please turn your "I want to create" into an "I created it." Then, having read the docs, you will be able to observe how your MV behaves.
    PS: Your SELECT statement is not syntactically correct. Start by fixing it so that it works in SQL*Plus.

  • Query on Materialized view and materialized view log

    I am creating a materialized view something like this.but getting following error:
    ERROR at line 1:
    ORA-12032: cannot use rowid column from materialized view log on "SCOTT"."EMP"
    SQL> create snapshot log on scott.emp;
    Materialized view log created.
    SQL> create materialized view scott_emp refresh fast on demand as select deptno,sum(sal) sum_sal from scott.emp group by deptno;
    ERROR at line 1:
    ORA-12032: cannot use rowid column from materialized view log on "SCOTT"."EMP"
    Note when i have my query in materialized view as "select * from emp;" in place of
    "select deptno,sum(sal) sum_sal from scott.emp group by deptno;" This code works fine.
    How do i have a materialized with with a group by clause.
    Thanks in Advance

    Got the answer myself.
    I wasnt adding all the required columns.
    CREATE MATERIALIZED VIEW LOG ON scott.emp
    WITH SEQUENCE, ROWID (<all the required columns>)
    INCLUDING NEW VALUES;
    Anyways,
    Thanks guys...

  • Creating a materialized view for another user

    I don't seem to find the correct setup for this....
    With the user "dummy"
    CREATE MATERIALIZED VIEW dummy.thetable BUILD IMMEDIATE REFRESH FORCE ON DEMAND AS select * from real.thetable;
    And the materialized view is created ok.
    With a DBA user:
    CREATE MATERIALIZED VIEW dummy.thetable BUILD IMMEDIATE REFRESH FORCE ON DEMAND AS select * from real.thetable;
    ORA-01031: insufficient privileges
    I don't want to be switching back and forth from the user to create materialized views, am I missing a permission here? DBA of course has create any materialized view

    From the SQL Reference Guide:
    To create a materialized view in another user&#8217;s schema:
    - You must have the CREATE ANY MATERIALIZED VIEW system privilege.
    - The owner of the materialized view must have the CREATE TABLE system privilege. The owner must also have access to any master tables of the materialized view that the schema owner does not own (for example, if the master tables are on a remote database), and to any materialized view logs defined on those master tables, either through a SELECT object privilege on each of the tables or through the SELECT ANY TABLE system privilege.
    I suspect that, if you first GRANT CREATE TABLE TO DUMMY, you will be able to create the MV.

  • Query on Materialized View Logs

    We need a denormalised data step-up, we decided on implementing Materialized Views and started working on them. I have created Materialized View log on a table using below mentioned syntax
    CREATE MATERIALIZED VIEW LOG ON <table_name> WITH ROWID
    I have tested it and its working fine.A Strange error I am facing is, after an hour or so the materialised view gets corrupted and applicatin users gets an error saying error with the materialised view log.
    The log entry in the data dictionary gets deleted. Later I have to execute DROP on the log to completely remove it.
    I am confused how this can happen.

    What is the refresh method set as?
    Could you paste the full MV log creation script and the corresponding MV creation script.

  • ORA-12096: error in materialized view log on ORA-01301:insufficient privile

    Hi,
    One of our ebusiness Apps 11510 instances has database that was
    upgraded from 9.2.0.6 to 10.2.0.4 with Database Vault.
    After that, we are getting an error:
    ORA-12096: error in materialized view log on "SCHEMA"."TABLE_NAME" ORA-01301:insufficient privileges
    Can you please let know what can be the reason. Which user is being checked for the privileges?
    Regards

    I am facing the same issue in one of our internal instances.
    Apps Environment has been upgraded from Database 9.2.0.6 to Database 10.2.0.4 with Database Vault. We started facing this issue and the same error after the upgrade. MLOG definition has not changed.
    What privilege is it expecting to be present for the schema.
    The definition of the MLOG is as given below
    LOG_TRIGGER = NULL
    ROWIDS = YES
    PRIMARY_KEY = NO
    OBJECT_ID = NO
    FILTER_COLUMNS = NO
    SEQUENCE = NO
    INCLUDE_NEW_VALUES = NO

  • SELECT PRIVILEGES required on Materialized View Logs

    Hi,
    I have a scenario where in Base table exists in one database and Materialized View on other.
    The Materialized View is created with FAST REFRESH option.
    I have created Materialized View Log in database where master table exists.
    Also I have given Select priv on master table to the user(where MV is created).
    I want to know how will i Grant SELECT PRIV on Materialized View Log so that FAST refresh happens.
    Both databases are Oracle 10g R2.
    I have read following on oracle site:
    The owner of the materialized view must have the CREATE TABLE system privilege. The owner must also have access to any master tables of the materialized view that the schema owner does not own (for example, if the master tables are on a remote database) and to any materialized view logs defined on those master tables, either through a SELECT object privilege on each of the tables or through the SELECT ANY TABLE system privilege.
    Please tell me the command to GRANT SELECT to the user who has created MV.
    Thank You,
    Niranjan.

    Hi,
    The privileges required to create a materialized view should be granted directly rather than through a role
    To create a materialized view in your own schema:
    1- Grant CREATE MATERIALIZED VIEW system privilege and either the CREATE TABLE or CREATE ANY TABLE system privilege.
    2-You must also have access to any master tables of the materialized view that you do not own, either through a SELECT object privilege on each of the tables or through the SELECT ANY
    TABLE system privilege.
    To create a materialized view in another user's schema:
    1-You must have the CREATE ANY MATERIALIZED VIEW system privilege.
    2-The owner of the materialized view must have the CREATE TABLE system privilege. The owner must also have access to any master tables of the materialized view that the schema owner does not own (for example, if the master tables are on a remote database) and to any materialized view logs defined on those master tables, either through a SELECT object privilege on each of the tables or through the SELECT ANY TABLE system privilege.
    To create a refresh-on-commit materialized view (ON COMMIT REFRESH clause), in addition to the preceding privileges, you must have the ON COMMIT REFRESH object privilege on any master tables that you do not own or you must have the ON COMMIT REFRESH system privilege.
    see this link
    http://download.oracle.com/docs/cd/B12037_01/server.101/b10759/statements_6002.htm

  • Materialized View Log not empty

    Hello all
    I have an oracle database (11g version), connecting via dbLink to another DB (10g version), and using it's tables as masters for fast refresh materialized views.
    To make it simple: I have master DB, with master table X, and Materialized View Log MLOG$_X.
    Then, I have replicate DB, with dblink pointing to Master, and Materialized View MV_X, using X.
    The materialized view is refreshed fast, on demand.
    The problem is, the MV log is never getting empty... how can I solve this issue?
    /* code for creating MView */
    CREATE MATERIALIZED VIEW "MY_USER"."SI_BANK" ("ID", "NAME", "ACRONYM")
      ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
      STORAGE(INITIAL 163840 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
      TABLESPACE "USERS"
      BUILD IMMEDIATE
      USING INDEX
      REFRESH FAST ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1
      WITH PRIMARY KEY USING DEFAULT LOCAL ROLLBACK SEGMENT
      USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE
      AS SELECT ibanco id, nbanco name, nsigla acronym FROM USER.tgtbanc0@DB_LINK;
    /* code for refresh group*/
    BEGIN
      DBMS_REFRESH.MAKE ( name => 'si2p_grp',
      list => '', next_date => 'SYSDATE +1' , interval => 'SYSDATE + 1', implicit_destroy => FALSE, rollback_seg => '', push_deferred_rpc => TRUE, refresh_after_errors => FALSE);
    END;
    /* ADD MATERIALIZED VIEWS TO GROUP */
    BEGIN
        DBMS_REFRESH.ADD ( name => 'si2p_grp', list => 'SI_BANK', lax => TRUE);
    END;
    Thank you for any help

    One MV log serve to many materialized views. Check dba_registered_mviews on master DB to see how many MViews you have build on you master table X.
    After MV (materialized view) is refreshed than all data logged in MVlog for this MV are deleted. But new are recorded when DML are performed against table X.
    If you can stop DML on table X for some period of time then do MV refresh and then you can see that MVlog is empty.

  • Bug: Can not create materialized view log on 11G XE

    Hi,
    I log in as HR user and try create materialized view log
    CREATE MATERIALIZED VIEW LOG ON HR.EMPLOYEES;I get error
    >
    Error starting at line 1 in command:
    CREATE MATERIALIZED VIEW LOG ON HR.EMPLOYEES
    Error at Command Line:1 Column:0
    Error report:
    SQL Error: ORA-00439: feature not enabled: Advanced replication
    00439. 00000 - "feature not enabled: %s"
    *Cause:    The specified feature is not enabled.
    *Action:   Do not attempt to use this feature.
    >
    You can create materialized view log on 10G XE without any problem.
    Regards,
    Jari
    http://dbswh.webhop.net/dbswh/f?p=BLOG:HOME:0

    Is it a bug in 11g or 10g?
    It was reported earlier in now archived beta forum. {thread:id=2214092}
    The current doc lists MV sites only (and "No" for Advanced Replication feature):
    http://download.oracle.com/docs/cd/E17781_01/license.112/e18068/toc.htm#BABDFDAI

Maybe you are looking for

  • Help with calculating fractions in a program...

    I'm supposed to declare to fractions and then add, subtract, mulitply, and divide them. (3, 4) (2, 3) The outcome is supposed to look like this... Number 1 is 3/4 Number 2 is 2/3 Reciprocal of 3/4 is 4/3 Reciprocal of 2/3 is 3/2 3/4 + 2/3 is 17/12 3/

  • GA Help Needed Urgently

    Hi, I'm stuck on how exactly to define the selectParent() method (the Selection method) because I have to take out samples of size 5 (the tournament size) from the population and then order those chromosomes ( in the contenders ArrayList) in order of

  • Apache keeps crashing on windows NT ... help

    Hi, I would like to know why apache is crashing about 10 times a day? I am using Portal 3.0.8 on win NT. I aslo found in other topics that I am not the only one that has problems with apache on NT. Currently there are working 2 users on Portal to dev

  • Sd third party order

    Hi In third party order, while doing MIRO i got the following error " Account 893010 has been set as not relevant for tax " How to solve this. thanks amit

  • My visit to the Genius Bar regarding video issues with Leopard

    Having video hang up issues with imove 08 and viewing videos on my webgallery. We opened a video on my web gallery on 3 computers with Leopard and two computers with Tiger at the Genius Bar. The Tiger machines allowed immediate playback where the Leo