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