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
Tags: Database
Similar Questions
-
The materialized view log and user...
Hello
Suppose a user, we will call him A has a table and another user B must create a log of materialized view on the table that a user has.
While user B have all the privileges of object (direct priv insert, update, delete... not through a role) on the table to the user may not create a log of mv on this table on its schema...
Thus, the insert/update/delete stmts on < table_name > are run successfully (after having logged on as user B).
The error message ' ORA-00942: table or view does not exist ' appears when I run the command:
Connect B/B;
create log view materialized on table_name with sequence including new values;
Note: I use ORADB 10.2.0.4 and it stands for table-name to user B (which tries to create the log of mv on)...
The req. above is possible somehow?
Thank you
SIMThe documentation says the following:
The materialized view log is created in the same schema as the master of the target.
HTH!
-
How to remove data in the Event Viewer log
If I go to the event viewer in computer management and select these words. He did a search on the summary of the events of Admisitrator, recently seen nodes and newspaper summary. I want to remove all references in the summary of the events of the administrator, but I want to continue to use the log for all future events.
I tried to do by ensuring that there is a check box FILE reviews "Show all hidden files" and I also took the checkbox "Hide protected operating system files". I have to program Data/Microsoft/Event Viewer and the folder is EMPTY.
Is there a way to do this correctly?
The observer of events (local) summary of administrative events on my computer displays the event in the last hour, last 24 hours and 7 days. Do you mean that you have received errors Event ID 315 2,000 over the last 7 days?
If you say yes then the priority should be to find why you get so many errors. It so happened that I had the same report and wrote the following to another forum on January 2, 2012. It can help to solve your problem.
This error was gets me a few months. This afternoon, I tried to resolve an event ID: error 2 and found a blog that offers a solution to this problem:
http://manlyelectronics.com.au/blog/resolve-Windows-error-session-HomeGroup-log-failed-to-start-with-the-following-error-0xC0000035-in-Event-Viewer-Microsoft-Windows/If you ignore the warning and click "Leave the homegroup" and restart the computer, your home network still works. You can also get no event IDS more: 2 errors and the bonus for me was a cessation of the event ID: 315 errors. I rebooted the computer several times and errors have ceased.
-
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.
-
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 youSee DocIDs 258634.1, 67371.1, 1031924.6
on Oracle's Support website.Hemant K Collette
-
Invites you in a view to filter the data of the other view
All,
I have 2 displays (bar and pie chart) in the same report. I put a prompt on the report where the user can select a date.
Now, I want to display this quick only once on report and use this prompt to update the data in the two views. Where will I put this prompt and how to use it to filter the data in the two views?
Must be the guest on the report so that the user can select date and time while displaying the report.
Thanks for your help.
ConcerningI don't think so.
Perhaps you want to reduce the dialog box, which will force the vertical alignment. No doubt put a logo in the Virgin region or something.Concerning
Poyard -
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
THXMVs have properties for update - you a discount based on schedules or when dependent data are committed or manually.
See you soon
David -
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
RaviTake a look at the column of the QUERY to the DBA_MVIEWS view.
-
Trigger on the materialized view
Hello
I have the scenario based (Database 11 g):
There is a view materialized (PERSON), which contains the ID and NAME fields. This MV is update daily with a fast refresh.
I have a second array (NAMES), with ID and NORM_NAME. This table contains the name of the person, without special characters.
For example, for recording / * 1 BJORN * / in the PERSON table
I would check * 1 BJORN * / in table NAMES.
Problem is how to fill the NAME table after the filling of the materialized view.
I used a trigger AFTER INSERT or update, as described below, but even if I update the master table (for this purpose, update the MV), I have only to trigger inserts.
Is there a way to implement a trigger "after update" on a materialized view, or do I need another approach?
/*
create or replace TRIGGER TRG_TESTE_MV
AFTER INSERT OR UPDATE ON THE PERSON
REFERENCING OLD AS OLD AGAIN AS NEW
FOR EACH LINE
BEGIN
IF THE INSERTION
INSERT THE NAMES
VALUES
(: NEW.id,:NEW.NAME);
END IF;
IF THE UPDATE CAN
UPDATE OF NAMES
SET NAME =: NEW.NAME WHERE ID =: NEW.id;
END IF;
END;
*/
Thanks for any help
Your trigger fires, but I doubted that you will be satisfied with the results. You really need to understand how to refresh process works before you begin creating triggers of MV:
SQL > create table emp1 in select * from EMP
2.Table created.
SQL > create materialized view emp1 with rowid journal
2.Materialized view log that is created.
SQL > create materialized view emp1_mv
2 fast refresh
3 on request
4 with rowid
5 as
6 select * from emp1
7.Materialized view created.
SQL > create or replace
trigger 2 emp1_mv_biudr
3 before inserting
4 or update
5 or delete
6 on emp1_mv
7 for each line
Start 8
9 insert then dbms_output.put_line ('INSERT' |: new.ename); end if;
10 if the deletion then dbms_output.put_line ('REMOVE' |: old.ename); end if;
11 end;
12.Trigger created.
SQL > insert
2 in emp1 (empno, ename, sal)
3 values(1,'X',1000)
4.1 line of creation.
SQL > validation
2.Validation complete.
SQL > set serveroutput on
SQL > exec dbms_mview.refresh ('emp1_mv', 'f');
INSERTION OF XPL/SQL procedure successfully completed.
SQL > update emp1
2 set sal = sal + 1
3 where ename ('King', 'JONES')
4.2 lines to date.
SQL > validation
2.Validation complete.
SQL > set serveroutput on
SQL > exec dbms_mview.refresh ('emp1_mv', 'f');
INSERTION OF JONES
INSERTION OF KINGPL/SQL procedure successfully completed.
SQL > delete emp1
2 where in ename ('ALLEN', 'SMITH')
3.2 deleted rows.
SQL > validation
2.Validation complete.
SQL > set serveroutput on
SQL > exec dbms_mview.refresh ('emp1_mv', 'f');PL/SQL procedure successfully completed.
SQL >
As you can see, refresh MV updates ever. Results update underlying table to remove/insert in MV. That's why your trigger will not give the results that you expected.
SY.
-
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.
-
Problems with the materialized view
Hello
I need help enforce data integrity using a materialized view. In my example, each system can consist of three types of components, and it is modeled using the supertype/subtype relationships. I'm trying to argue that, for a given system, a component cannot reside in more than one table of components. For example, given the system 1, if A component exists in the mobile_components table, it is impossible to insert into the table desktop_components for system 1. Rather than using triggers, I try to use views materialized with unique constraint to enforce this rule based on the example of "The trouble with triggers" article http://www.oracle.com/technetwork/issue-archive/2008/08-sep/o58asktom-101055.html of Tom Kyte. However, I can't seem to make it work because it gives me ORA-12054: cannot set the ON COMMIT refresh attribute. I use UNION ALL and I know that can be difficult, but I can not understand what are the rules I'm breaking. I have the necessary privileges. Oracle 11g. Can anyone help?
Thank you
Mark
create table systems ( sys_id number, sys_name varchar2(100), constraint sys_pk primary key (sys_id), constraint sys_uk unique (sys_name)); insert into systems values (1,'System 1'); insert into systems values (2,'System 2');
create table mobile_components ( mo_comp_id number, mo_comp_name varchar2(100), mo_comp_sys_id number, constraint mo_pk primary key (mo_comp_id), constraint mo_uk unique (mo_comp_name, mo_comp_sys_id), constraint mo_fk foreign key (mo_comp_sys_id) references systems (sys_id)); insert into mobile_components values (1,'Component A',1); insert into mobile_components values (2,'Component A',2);
create table desktop_components ( de_comp_id number, de_comp_name varchar2(100), de_comp_sys_id number, constraint de_pk primary key (de_comp_id), constraint de_uk unique (de_comp_name, de_comp_sys_id), constraint de_fk foreign key (de_comp_sys_id) references systems (sys_id)); insert into desktop_components values (1,'Component B',1); insert into desktop_components values (2,'Component B',2);
create table internet_components ( in_comp_id number, in_comp_name varchar2(100), in_comp_sys_id number, constraint in_pk primary key (in_comp_id), constraint in_uk unique (in_comp_name, in_comp_sys_id), constraint in_fk foreign key (in_comp_sys_id_ references systems (sys_id)); insert into internet_components values (1,'Component C',1); insert into internet_components values (2,'Component C',2);
create materialized view log on mobile_components with rowid; create materialized view log on desktop_components with rowid; create materialized view log on internet_components with rowid;
create materialized view mv_components refresh fast on commit with rowid as select rowid as row_id, mo_comp_id as comp_id, mo_comp_name as comp_name from mobile_components union all select rowid, de_comp_id, de_comp_name from desktop_components union all select rowid, in_comp_id, in_comp_name from internet_components; alter table mv_components add constraint mv_comp_uk unique (comp_id, comp_name);
You need a column marker to distinguish which questions you Union, that the data are:
for example
Create materialized view mv_components
cool off quickly on commit with rowid as
Select 'a' marker, rowid as row_id, mo_comp_id as identifiant_composant mo_comp_name as comp_name
of mobile_components
Union of all the
Select 'b', rowid, de_comp_id, de_comp_name
of desktop_components
Union of all the
Select 'c', rowid, in_comp_id, in_comp_name
of internet_components;
-
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
Materialized view created.
2 activate the rewrite of the query as
3. select count (*), sum (quan_sold), sum (amt_sold) of the sale;
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 querySQL > 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.54SQL > 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.45SQL > 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.01Please 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.
-
create materialized view log on the table without a primary key
Hi all
I don't want to refresh the mview when validation is performed on the base table.CREATE TABLE client_months ( SUBJ_CODE NUMBER(4), SERV_CODE NUMBER(4), DEBIT_CODE NUMBER(4), PERIOD_NUM NUMBER(2), PERIOD_NAME VARCHAR2(40 CHAR), FIRST_MON_DAY DATE, LAST_MON_DAY DATE, VALUE_MON_DAY DATE, MONTHES NUMBER(4,2), GARDENING_WEIGHT NUMBER(5,4), REASON_CODE NUMBER(5), STAMP_ACTION VARCHAR2(1 CHAR), STAMP_CDATE DATE DEFAULT SYSDATE, STAMP_DATE DATE, STAMP_USER VARCHAR2(15 CHAR), REGION_CODE NUMBER(9) ) table created. CREATE UNIQUE INDEX client_months_UK ON client_months (SUBJ_CODE, SERV_CODE, DEBIT_CODE, PERIOD_NUM, REGION_CODE) index created. CREATE MATERIALIZED VIEW LOG ON client_months with rowid; CREATE MATERIALIZED VIEW client_months_mv BUILD immediate REFRESH FAST ON COMMIT AS SELECT * FROM client_months; ORA-12014: table 'CLIENT_MONTHS' does not contain a primary key constraint
And I don't want to change the base table by adding a primary key.
is it possible to create the mview journal using the unique index? or another solution?
Please help
Thanks in advance
NaamaNaamas wrote:
No,
I already read this post!Then you read wrong:
SQL> CREATE TABLE client_months 2 ( 3 SUBJ_CODE NUMBER(4), 4 SERV_CODE NUMBER(4), 5 DEBIT_CODE NUMBER(4), 6 PERIOD_NUM NUMBER(2), 7 PERIOD_NAME VARCHAR2(40 CHAR), 8 FIRST_MON_DAY DATE, 9 LAST_MON_DAY DATE, 10 VALUE_MON_DAY DATE, 11 MONTHES NUMBER(4,2), 12 GARDENING_WEIGHT NUMBER(5,4), 13 REASON_CODE NUMBER(5), 14 STAMP_ACTION VARCHAR2(1 CHAR), 15 STAMP_CDATE DATE DEFAULT SYSDATE, 16 STAMP_DATE DATE, 17 STAMP_USER VARCHAR2(15 CHAR), 18 REGION_CODE NUMBER(9) 19 ) 20 / Table created. SQL> CREATE UNIQUE INDEX client_months_UK ON client_months 2 (SUBJ_CODE, SERV_CODE, DEBIT_CODE, PERIOD_NUM, REGION_CODE) 3 / Index created. SQL> CREATE MATERIALIZED VIEW LOG ON client_months with rowid 2 / Materialized view log created. SQL> CREATE MATERIALIZED VIEW client_months_mv 2 BUILD immediate 3 REFRESH FAST WITH ROWID ON COMMIT -- pay attention to WITH ROWID 4 AS 5 SELECT * FROM client_months 6 / Materialized view created. SQL>
SY.
-
Refresh the Materialized View constructed from an external table commit?
Is it possible to create a materialized with Refresh view on commit built from an external table?
I think the answer is "no, because there is no way for the outer table report to the view materialized it has been changed," but I would like to be sure before I tell my client who has requested the opportunity to do this (or, Alternatively, to learn how Oracle hoops I have to cross in order to operate).
I can create a Refresh on demand, it is not a question of not having the necessary permissions to create the materialized view itself.No, you can't. The outer table is not modified in a transactional way and there no materialized view logs, so there is no event to hang in and no delta to apply.
However, you can use dbms_scheduler observer file that will ask for the presence of a file and load the data in a table or refresh a materialized view based on the external table.
Justin
-
diff between the view and the materialized view
Hi all
Whats different between the view and the materialized view?
could someone help me pls this topic
thnks in advanceSee nothing else that a set is a set of sql statements that join the single or multiple tables and shows the data... However views do not have the data themselves but point to the data.
Whereas the materialized view is a concept used primarily in the Datawarehousing... these views contain the data itself. Reason being, it is more easy/quick access to the data. The main objective of Materialized view is to perform calculations and display data from multiple tables by using joins.
check out the link for more information below.
http://www.geekinterview.com/question_details/29332rajeysh
http://oracleinstance.blogspot.com
Maybe you are looking for
-
In Internet Explorer, there is a button next to the previous/next buttons on the navigation bar which lets you display the last pages visited in the current session. Is there an option in Firefox to do this?
-
PID and Fuzzy Logic Toolkit for students
As the thread title suggests. I am a student currently running on the student of labview version. I have a project, toolkit that I work it would greatly be benifitted by PID and Fuzzy Logic Toolkit. Is it possible for the students to get it without
-
Intermittent failure with PCIe-6251
We had a power outage intermitant which was worse. It seems to be due to the card PCIe-6251. We have Labview 7.0 and DAQmx 8.1 the system as well as a PCI-GPIB and a PCI-6711. Periodically, computer would lock up and reset either not conclude card
-
Missing options in right click Create new menu! Help, please!
Hi, I have this problem, small but very annoying with right click. The option to create a new text document in the new menu has disappeared. I looked online and most people say to restore a regristy key to fix it, well, the problem is that I could do
-
Debugging errors 10114 on push
I'm all new development of Blackberry and trying to get the running example pushCaptureBasics WebWorks 2.0 and Z - 10 device. When I run the pushClient and click on "Register of the Force", I see: [13: 44:13] Cannot create Push channels: 10114 I am c