Home » SQL & PL/SQL » SQL & PL/SQL » complete refresh of materialized view works fine, but non-complete doesn't (Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production)
complete refresh of materialized view works fine, but non-complete doesn't [message #634126] Wed, 04 March 2015 13:05
ecivgamer
Messages: 147
Registered: May 2011
Location: Ukraine
Senior Member
Hi all,

Complete refresh of materialized view works fine, but non-complete doesn't.
begin
DBMS_SNAPSHOT.REFRESH('SNAP_AP_PAY_SCHED','C');
end;

PL/SQL procedure successfully completed.
 

begin
DBMS_SNAPSHOT.REFRESH('SNAP_AP_PAY_SCHED');
end;

ORA-00942: table or view does not exist
ORA-02063: preceding line from PLSDW
ORA-02063: preceding 2 lines from PRODFIN.PLSPRO.COM
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2809
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 3025
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2994
ORA-06512: at line 2

Script Terminated on line 1.


I checked quantity of rows in source table and in destination materialized view.
It was not equal before complete refresh and it became equal after complete refresh.

I don't see this error on other materialized views.

It is snapshot where master table does have a snapshot log on it.

I connect as user APPS (it is not owner of master table and its snapshot log table)

select username from sys.dba_db_links where db_link = 'PRODFIN'

USERNAME                    
------------------------------
APPS                        

1 row selected.



But I do can select from this snapshot log table as APPS user

select LOG_OWNER, LOG_TABLE from dba_mview_logs@prodfin dml
where master = 'AP_PAYMENT_SCHEDULES_ALL'

LOG_OWNER                      LOG_TABLE                   
------------------------------ ------------------------------
AP                             MLOG$_AP_PAYMENT_SCHEDULES  

1 row selected.


select 1 t from AP.AP_PAYMENT_SCHEDULES_ALL@prodfin where rownum = 1

         T
----------
         1
1 row selected.


select 1 t from AP.MLOG$_AP_PAYMENT_SCHEDULES@prodfin where rownum = 1

         T
----------
         1
1 row selected.


What does it mean and how to solve?
Please tell me what additional information should I provide in order for you to help me.
Thanks ahead.


P.S.: Cross-posted from oracle discussion board, can't really find solution yet.
https://community.oracle.com/thread/3680526?sr=inbox&ru=719145

Quote:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production

[Updated on: Wed, 04 March 2015 13:52]

Report message to a moderator

Previous Topic: Varray to Columns with defaults
Next Topic: synonyms parameter
Goto Forum:
  


Current Time: Fri Apr 26 20:19:03 CDT 2024