Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Refresh mv

BufossSep 18 2023 — edited Sep 18 2023

Hi all, I have two materialized views

The first one is defined as follow :

CREATE MATERIALIZED VIEW "SCHEMA_USER"."MV_ERRORS" (EM_ID, MESSAGE, MSG_TYPE, REJECTED_MESSAGE_TYPE, REJECTED_ID, CCN_UNIQUE_ID, IECA_STATUS, ENV, DOMAIN)
 SEGMENT CREATION IMMEDIATE
 ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
NOCOMPRESS LOGGING
 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 TABLESPACE "SCHEMA_USER_DATA_TSP" 
 BUILD IMMEDIATE
 USING INDEX 
 REFRESH COMPLETE ON DEMAND
 USING DEFAULT LOCAL ROLLBACK SEGMENT
 USING ENFORCED CONSTRAINTS DISABLE ON QUERY COMPUTATION ENABLE QUERY REWRITE
 AS 
SELECT *
FROM
(
SELECT MDI.*   
  FROM ERROR_MESSAGE MDI
       INNER JOIN ERROR_MESSAGE_906 MD906 ON MDI.ID = MD906.EM_ID
UNION
SELECT MDI.*
  FROM ERROR_MESSAGE MDI
       INNER JOIN ERROR_MESSAGE_907 MD907 ON MDI.ID = MD907.EM_ID
UNION
SELECT MDI.*   
  FROM ERROR_MESSAGE MDI
       INNER JOIN ERROR_MESSAGE_917 MD917 ON MDI.ID = MD917.EM_ID
) TMPUNION;
  
 CREATE INDEX "SCHEMA_USER"."IDX_MV_ERRORS_QUERY" ON "SCHEMA_USER"."MV_ERRORS" ("MSG_REC_DATE", "MSG_TYPE", "REJECTED_MESSAGE_TYPE");
 
 CREATE INDEX "SCHEMA_USER"."IDX_MV_ERRORS_MESSAGES_FK" ON "SCHEMA_USER"."MV_ERRORS" ("EM_ID") ;
 
 CREATE INDEX "SCHEMA_USER"."IDX_MV_ERRORS_IECA_JOIN" ON "SCHEMA_USER"."MV_ERRORS" ("REJECTED_ID") ;

The second one is :


CREATE MATERIALIZED VIEW "SCHEMA_USER"."MV_ERROR_MESSAGES_LOOKUP" ("CCN_UNIQUE_ID", "IECA_STATUS")
 SEGMENT CREATION IMMEDIATE
 ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
 NOCOMPRESS LOGGING
 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 TABLESPACE "SCHEMA_USER_DATA_TSP" 
 BUILD IMMEDIATE
 USING INDEX 
 REFRESH COMPLETE ON DEMAND
 USING DEFAULT LOCAL ROLLBACK SEGMENT
 USING ENFORCED CONSTRAINTS DISABLE ON QUERY COMPUTATION ENABLE QUERY REWRITE
 AS SELECT CCN_UNIQUE_ID ,MAX (IECA_STATUS) IECA_STATUS
      FROM (SELECT DISTINCT A.CCN_UNIQUE_ID, B.IECA_STATUS 
               FROM MV_ERRORS A
                   INNER JOIN MV_ERRORS B ON A.REJECTED_ID = B.REJECTED_ID AND A.DOMAIN = B.DOMAIN AND A.ENV = B.ENV
             WHERE A.IECA_STATUS = 'IF' AND B.IECA_STATUS <> 'IF')
             GROUP BY CCN_UNIQUE_ID;

CREATE UNIQUE INDEX "SCHEMA_USER"."MV_ERROR_MESSAGES_LOOKUP" ON "SCHEMA_USER"."MV_ERROR_MESSAGES_LOOKUP" ("CCN_UNIQUE_ID") ;

And I have a procedure :

create or replace NONEDITIONABLE PROCEDURE refresh_mv AS
PRAGMA autonomous_transaction; BEGIN
DBMS_MVIEW.REFRESH('MV_ERRORS', method => 'C', atomic_refresh => FALSE, out_of_place => TRUE); 
DBMS_MVIEW.REFRESH('MV_ERROR_MESSAGES_LOOKUP', method => 'C', atomic_refresh => FALSE, out_of_place => TRUE); 
END;
When I am trying to execute the procedure to refresh the mv I get the following error when system tries to refresh MV_ERROR_MESSAGES_LOOKUP

Connecting to the database schema_user_user_connection.
ORA-12008: error in materialized view or zonemap refresh path
ORA-06512: at "SYS.DBMS_SNAPSHOT_KKXRCA", line 3012
ORA-06512: at "SYS.DBMS_SNAPSHOT_KKXRCA", line 2424
ORA-00942: table or view does not exist
ORA-06512: at "SYS.DBMS_SNAPSHOT_KKXRCA", line 88
ORA-06512: at "SYS.DBMS_SNAPSHOT_KKXRCA", line 253
ORA-06512: at "SYS.DBMS_SNAPSHOT_KKXRCA", line 2405
ORA-06512: at "SYS.DBMS_SNAPSHOT_KKXRCA", line 2968
ORA-06512: at "SYS.DBMS_SNAPSHOT_KKXRCA", line 3255
ORA-06512: at "SYS.DBMS_SNAPSHOT_KKXRCA", line 3287
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 16
ORA-06512: at "SCHEMA_USER.REFRESH_MV", line 4
ORA-06512: at line 2
Process exited.
Disconnecting from the database schema_user_user_connection.

Database version : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

Any ideas Please ?
Thanks a lot

Comments
Post Details
Added on Sep 18 2023
9 comments
132 views