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.
Problem:
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?