Oracle Materialized view... Auto-refresh
HelloI want to refresh my view daily Oracle Materilized @ night mi... I am a new Bee and need your help in detail
Thank you
DBMS_JOB
DBMS_SCHEDULER
Tags: Database
Similar Questions
-
Materialized view to refresh force
Hello
on orcl1, I created:
And on orcl2:CREATE MATERIALIZED VIEW mv_emp_pk REFRESH FAST START WITH SYSDATE NEXT SYSDATE + 1/48 WITH PRIMARY KEY AS SELECT * FROM scott.emp@remote;
But after 40 minutes on orcl1:insert into emp (empno,ename) values (2323,'somename'); SQL> select distinct ename from emp; ENAME ---------- ALLEN JONES FORD CLARK MILLER somename SMITH WARD MARTIN SCOTT TURNER 15 rows selected.
Why mv_emp_pk is not updated?SQL> select ename from mv_emp_pk; ENAME ---------- SMITH ALLEN WARD JONES MARTIN BLAKE CLARK SCOTT KING TURNER 14 rows selected.
Thank you.
PS:
SQL > select elements, to_char (next_date, ' DD-MON-RR hh: mi AM') of user_jobs;
WHAT
-------------------------------------------------------------------------------
TO_CHAR (NEXT_DATE,
------------------
DBMS_REFRESH. Refresh ("" SCOTT"." (MV_EMP_PK"');
JUNE 19, 10 22:40
How can I force the materialized view to refresh?
Thank you.How can I force the materialized view to refresh?
Run DBMS_SNAPSHOT. REFRESH ('MV_EMP_PK', 'c');
-
Materialized view automatically refresh? If the updating of the means how?
Materialized view refresh automatically? If the updating of the means how?
It is expected is not to ask questions of the basic documentation.
Refresh Options
When you define a materialized view, you can specify three update options: how to refresh, what kind of update and can trust constraints be used. If not specified, default values are considered as
ON
DEMAND
,FORCE
, andENFORCED
forced respectively.The two execution modes are
ON
COMMIT
andON
DEMAND
. According to the materialized view, you create, some options may be unavailable. Update modes are described in table 8-4 .Table 8-4 Modes of discount
Refresh the Mode Description ON COMMIT
Refresh product automatically when a transaction which changed one of the paintings of the materialized view's retail is committed. This can be specified as the materialized view is quickly updatable (in other words, no complex). The
ON
COMMIT
privilege is required to use this mode.ON DEMAND
Refresh occurs when a user manually executes one of the procedures available refresh contained in the
DBMS_MVIEW
package (REFRESH
,REFRESH_ALL_MVIEWS
,REFRESH_DEPENDENT
).http://docs.Oracle.com/CD/B28359_01/server.111/b28313/basicmv.htm#i1006193
-
materialized view full refresh much slower that recreate
Hello!
We use the view materialized for our DWH, which freshen every day to demand and full. I noticed that after some time refreshing take very long materialized view (1 h), recreating the view materialized and refreshing it at the same time just takes a few minutes. The result is exactly the same thing.
Can someone explain to me why this is the case? And is there a better way to recreate materialized view that copying and running the entire SQL statement?
Thanks for your help!
Edited by: 890408 26 March 2012 23:29Since 10g or 10 g 2, the default behavior for a refreshment FULL of a MV is DELETE and INSERT.
(In 9i, it was TRUNCATE and INSERT - which was, obviously, faster).
The advantage with the DELETE and INSERT, is that the data are still visible in the MV while it is updating.See Oracle's Support article:
Refresh complete reading consistency behavior during refresh and refresh complete Performance influenced by the setting of refresh ATOMIC_REFRESH [ID 553464.1]Hemant K Collette
-
Materialized view fast refresh option
Dear all,
I have a vision materilized which refreshes every 5 minutes and his works well, but one of the base tables has 300 fields and I need this view refresh only when 3 of the fields of 300 has evolved.
If anyone can help me, I understand that
The script of my VM is:
CREATE MATERIALIZED VIEW SCHEMA1. INVM_TARJETADEBITO_SALDOS_VM
N OCACHE
LOGGING
NOCOMPRESS
NOPARALLEL
BUILD IMMEDIATE
REFRESH FAST START WITH SYSDATE NEXT SYSDATE + 5/1440
WITH THE PRIMARY KEY
AS
SELECT CHAMP_1, CHAMP_2, FIELD_3, FIELD_4
OF SCHEMA1. TABLE_1 has, SCHEMA1. TABLE_2 b
WHERE a.PK_1 = b.PK_1;
Best regards
Diego Nuñez
> but one of the base tables has 300 fields and I need from this point of view, refresh only when 3 of the fields of 300 has evolved.
You cannot set this "restriction". If a row is updated - know if 1 single byte in a column or 300 columns are updated - the line qualifies to be propagated to the MV.
That you can set is * that * columns are replicated in the MV.
For the journal of MV, you can also specify which columns are referenced as columns of filter (with the WITH clause). It is usually of the columns that use the MV and/or is the joining columns for a MV that has a join.
Hemant K Collette
-
Oracle materialized view more Gateway
Dear Sir.
We have microsoft sql server, oracle gateway (11G) and database server (10.2.0.5)
We already have the complete installation, and it works.
We create a materialized view in the oracle server to read data from sql server, but the updating of the MV can't wait time
We are planing to create the view materialized in the oracle gateway server.
My question is:
What is the best solution to create the MV in the oracle gateway server?
I mean I can't download MV only one instance of oracle database.
Thanks in advance.Just to clarify: there is normally no need to install a database on the gateway server. You can create the mview directly in your 10.2.0.5 database.
If you really want to have another data base which contains the mview then install in the box of gateway to the Oracle database using the version standard edition. There is no need to activate Enterprise Manager or other stuff.
About the size of the memory, it really depends on the amount of data you have to shoot through the gateway and to select by using the synonym. Therefore, there is no generic answer on sizing. -
Materialized - view fast refresh connects
I understand that there is a data change log maintained internally to fast refresh materialized view (CDC) Capture occurs.
My question is, will this newspaper get purged once the changes are applied to a corresponding materialized view or it will persist with other changes is attached to it?
What would be the size of the change log for 150 million documents covering 40 base tables?Sorry, I haven't used groups of refreshment MV.
-
Materialized Oracle view | Deleting records, Oracle materialized view
One question reg Materialized views.
If as part of the interview of the Source database, we remove some (older) recordings, the materialized view will also be updated with the deletion?
I believe that the answer is Yes. In this case make sure that deletion is not the case?
Is there anyway that we'll stop MView update to delete records that is inserted once even if we remove the same records in the source DB?This is a common scenario, especially with materialized views that summarizes the detail data where you want to keep the summary but not the detail, and it is discussed in the documentation.
The technique is to make the MV refresh on request, delete the data in the detail tables and the CONSIDER_FRESH procedure to prevent the changes propagating to the MV. You will probably find it in the docs by searching on DBMS_MView.Consider_Fresh. There are a few caveats to note, in my opinion.
-
Oracle Database 11 g Enterprise Edition Release 11.2.0.4.0 - 64 bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE Production 11.2.0.4.0
AMT for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
I create the structure of the table like that.
create table test1 (a primary key, b (2) char number, date c, d varchar2 (10), date of e);
create table test2 (number of ab, cd (2) tank, date of the ef, gh varchar2 (10), date of the ij, kl varchar2 (100));
Create materialized view log on test1;
create materialized view fast refresh test1_v on commit in select * from test1;
I have create a trigger of the sample
CREATE OR REPLACE TRIGGER test1_trig
AFTER INSERT OR UPDATE OR DELETE
ON test1_v
FOR EACH LINE
DECLARE
lr_test2 test2% ROWTYPE;
lv_error VARCHAR2 (4000);
BEGIN
lr_test2. AB: =: NEW.a;
lr_test2. CD: =: NEW.b;
lr_test2. GH: =: NEW.d;
IF THE INSERTION
THEN
lr_test2. EF: = SYSDATE;
lr_test2.IJ: = SYSDATE;
lr_test2.KL: = 'INSERT ';
INSERT INTO test2
VALUES lr_test2;
ELSIF UPDATE
THEN
lr_test2.IJ: = SYSDATE;
lr_test2.KL: = 'UPDATE ';
UPDATE test2 = lr_test2 ab WHERE = LINE: OLD.a;
ELSIF REMOVAL
THEN
DELETE FROM test2
AB = WHERE: old.a;
END IF;
EXCEPTION
WHILE OTHERS
THEN
lv_error: = SQLERRM;
INSERT INTO XXDOMINO_FG_DATA_LOAD_ERROR
VALUES ('test1_trig',
: OLD.a,.
"test1_trig,"
LV_ERROR,
SYSDATE);
COMMIT;
END test1_trig;
/
So, if check you my code,.
When I insert EF = SYSDATE, IJ = SYSDATE.
Update EF is not changed, IJ = SYSDATE.
So I like to capture their insertion and update dates.
But if updates or insert arrives on the materialized table. The trigger themselves as an INSERT only.
So how do you capture the updates?
I use the statemnet with out merger with performance and also able to capture the update dates.
CREATE OR REPLACE TRIGGER test1_trig_merge
AFTER INSERT OR UPDATE OR DELETE
ON test1_v
FOR EACH LINE
DECLARE
lr_test2 test2% ROWTYPE;
lv_error VARCHAR2 (4000);
BEGIN
IF THE REMOVAL
THEN
DELETE FROM test2
AB = WHERE: old.a;
ELSIF INSERTION
THEN
MERGE INTO test2 one
B using (SELECT 1 FROM DUAL)
WE (ab =: new.a)
WHEN MATCHED
THEN
UPDATE the VALUE ab =: NEW.a.
CD =: NEW.b,
GH =: NEW.c
IJ = SYSDATE,
KL = "Update"
AB WHERE =: old.a
WHEN NOT MATCHED
THEN
INSERTING VALUES (: NEW.a,)
: NEW.b,.
: NEW.c.
: NEW.d,.
: NEW.e,.
"INSERT");
END IF;
EXCEPTION
WHILE OTHERS
THEN
lv_error: = SQLERRM;
INSERT INTO XXDOMINO_FG_DATA_LOAD_ERROR
VALUES ('test1_trig',
: OLD.a,.
"test1_trig,"
LV_ERROR,
SYSDATE);
END test1_trig_merge;
/
DISPLAY ERRORS;
-
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#i1007007http://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 -
fast refresh on MATERIALIZED VIEW
Oracle 10 g R2 (10.2.0.5)
Scott.mv_test CREATE MATERIALIZED VIEW
Users TABLESPACE
NOCACHE
LOGGING
NOCOMPRESS
NOPARALLEL
IMMEDIATE CONSTRUCTION
REFRESH THE STRENGTH TO DEMAND
WITH THE PRIMARY KEY
AS
Select...
I this MV, when I do the QUICK refersh as follows, I get the error message
SQL > execute DBMS_MVIEW. REFRESH ('MV_TEST', 'f');
DBMS_MVIEW BEGIN. REFRESH ('MV_TEST', 'f'); END;
*
ERROR on line 1:
ORA-12004: QUICK COOLING can be used to view materialized "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 works with full refresh.
Is this planned, any help would be appreciated.
Thank youORA-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/
-
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:
When you try to create, I get the error ORA-12052: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;
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0drop 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;
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 -
Randomization of materialized view refresh rate
Hi, I have several materialized view is refreshed every hour.
Now, I add a few more, and when the refresh occurs, it must now once more because it made the 9 materialized view update.
I like to shoot at random a little time between refresh.
I thought I would try something like this:
in my create materialized view, instruction, but it seems that such a method is not allowed.NEXT sysdate+(round(dbms_random.value(0.8,1.2),2)/24)
Is there another way to do it or to take care of the performance of refresh in other ways?Not sure what you mean.
I'll change the frequency of refresh a bit, so I will not wait too long to see an effect ;):
SQL> select * from v$version where rownum = 1 / BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production 1 row selected. SQL> create or replace view timer as select sysdate + (round (dbms_random.value (0.8, 1.2), 2) / 24/60) t from dual / View created. SQL> create materialized view mv_emp refresh complete on demand start with sysdate as select * from emp / Materialized View created. SQL> declare x number := 100; begin sys.dbms_job. isubmit (job => x, what => 'dbms_refresh.refresh(''MV_EMP'');', next_date => sysdate, interval => '(select * from timer)', no_parse => false ); sys.dbms_output.put_line ('Job Number is: ' || to_char (x)); commit; end; / Job Number is: 100 PL/SQL procedure successfully completed. SQL> select sysdate, mview_name, last_refresh_date from user_mviews where mview_name = 'MV_EMP' / SYSDATE MVIEW_NAME LAST_REFRESH_DATE --------------------- ------------------------------ --------------------- 03.03.2010 14:53:49 MV_EMP 03.03.2010 14:53:49 1 row selected. SQL> exec dbms_lock.sleep(30) ---- wait a bit and see PL/SQL procedure successfully completed. SQL> select sysdate, mview_name, last_refresh_date from user_mviews where mview_name = 'MV_EMP' / SYSDATE MVIEW_NAME LAST_REFRESH_DATE --------------------- ------------------------------ --------------------- 03.03.2010 14:54:19 MV_EMP 03.03.2010 14:53:53 1 row selected.
-
Materialized views Oracle | Reporting
I have a requirement as follows:
Requirement:
We must create a Reporting DB to be used for information and a transactional database will be in separate host. Fundamentally, he need to extract data from a set of transactional DB tables and move to the Reporting DB schema at adequate intervals.
We may have to get a different column data in different tables and store it in a single table / several reports DB tables.
Solution (Please confirm):
I intend to use Oracle materialized views in the same host as transactional DB to next part of requirment
"We may have to get a different column data in different tables and store it in a single table / several reports DB tables.
and then use Oracle streams to move at regular intervals of DB reports.
Is this feasible?
Or please suggest a solution.
Thank you
APPUWe must create a Reporting DB to be used for information and a transactional database will be in separate host. Fundamentally, he need to extract data from a set of transactional DB tables and move to the Reporting DB schema at adequate intervals.
Depending on how small and simple is your database, you can create materialized views on the Reporting DB to point to DB Transactionla through the database link.
I intend to use Oracle materialized views in the same host as transactional DB to next part of requirment
If are simple MVs, then let them cool off quickly. If too complex, all jobs to refresh at specific intervals.
"We may have to get a different column data in different tables and store it in a single table / several reports DB tables.
You will be several tables in DB report in the form of the Metrialised views
and then use Oracle streams to move at regular intervals of DB reports.
This combination is not necessary. You're talking about two different things at the same time.
-
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:
ROWID
materialized 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.
Maybe you are looking for
-
iPad will not update or restore
After connecting my iPad to iTunes, nothing happened. So I pushed to the Recovery Mode: Then, I get: Then choose restore and got: in order to choose restore and update and got: *** After extraction of software is completed, I then receive: Any idea
-
A rather complicated task of string
Hello guys! Today I had a bit of a mess when doing a program for my company. I'm reading from a .csv file that is containing information on electrical components. I read the cell in a table for later use. No problem at all. Now the hardest part: Let'
-
Using windows 7 ultimate, of the language traditional Chinese you try to run a simplified Chinese program
-
My external monitor detects my portable Boring, go to sleep
I have an old HP laptop. I tried to connect it to an external monitor (HP S2031). The monitor... .se to sleep! How can I make the ext monitor work?
-
System and administrator passwords
HP Envy 17 3D: #ABA product number LV045UA Suppose the system and/or administrator passwords are set correctly on the screen of the BIOS Setup Security. Then, later, suppose that for unknown reasons or both correctly entered passwords no longer provi