EGDB: Oracle 18c/10.7.1
External system: Oracle 12c
I have created a non-spatial materialized view in an EGDB that syncs data from an external system (on a 5 second schedule; via a dblink).
- It is not possible to create an on-commit materialized view over a dblink. So I used a schedule instead.
create materialized view my_gis_schema.wo_mv --EGDB build immediate refresh force on demand start with sysdate next sysdate + (5/(60*60*24)) as select cast(workorderid as number(38,0)) as objectid, wonum, status, --other fields longitudex, latitudey from maximo.workorder@gistomax --dblink create materialized view log on maximo.workorder with rowid; --external system
The materialized view works as expected. Records that are new/modified/deleted in the external system are synced to the materialized view on a 5 second schedule.
As an experiment, I registered the materialized view with the geodatabase (via ArcGIS Desktop).
The view was still useable in ArcMap as an XY layer, however, it failed to sync after that point. And any attempt to manually refresh, delete, or otherwise modify the view failed (the process would just hang, and the MV would keep reappearing in Catalog after deletion).
Why does registering an MV with the GDB break the MV?