Criei logs de visualização materializados em uma tabela WORKORDER em um banco de dados Oracle 19c.
create materialized view log on my_workorder_system.workorder with rowid;
O plano é integrar os registros WORKORDER a um sistema GIS separado (Oracle 18c) por meio de uma visualização materializada.
A pegada:
A tabela WORKORDER possui registros de ordens de serviço espaciais e não espaciais (ISGIS = 0 ou 1). Eu só preciso sincronizar os registros com o banco de dados GIS WHERE ISGIS = 1.
Se entendi corretamente, minha visualização materializada no GIS informará aos logs de MV no sistema de ordem de serviço para limpar os registros de log depois que eles forem sincronizados. No entanto, a sincronização só acontecerá para ordens de serviço em que ISGIS=1. As ordens de serviço em que ISGIS=0 nunca serão sincronizadas — e, portanto, não são necessárias nos logs de MV.
Existe uma maneira de gerar apenas logs de MV para registros que atendem a uma condição?
Por exemplo:
create materialized view log on my_workorder_system.workorder with rowid where ISGISS=1.
Os logs de MV são tudo ou nada; eles não têm visibilidade de critérios para qualquer MV. Todos os registros de log de MV serão limpos até a data de atualização comum mais antiga assim que o banco de dados de origem determinar que todos os MVs registrados foram atualizados.