SELECT
SUBSTR(NM_ARQUIVO,1,8)OUTPUT,
NU_LOTE,
TO_CHAR(SQ_INICIAL,'999999999999999') SEQINI
FROM
TB_LOTE@BD_INC.US.ORACLE.COM
WHERE
NM_ARQUIVO IS NOT NULL
AND SUBSTR(NU_LOTE,1,3) = 'L09'
Obs: rodando este mesmo select no banco original da TB_LOTE os registros aparecem todos.
Pessoal Obrigado pela ajuda!
Eu consegui descobrir o que aconteceu.
Na tabela original alguns registros tinham sido excluídos e depois incluídos novamente e eram exatamente estes registros que não estavam aparecendo na view.
Eu deletei a view e crie de novo e todos os registros voltaram a aparecer.
Consegui resolver o problema, mas continuo sem saber porque depois de inseridos os registros eles não apareceram na view.
Isso se a materialized view for com refresh on demand. Na maior parte dos casos, onde possível, o ideal é usar o fast refresh. O fast refresh faz atualização no commit das alterações em tabelas por baixo da materialized view. Ele garante que você vai estar sempre vendo os dados de forma atualizada, mas tem limitações quanto à complexidade do SQL usado na materialized view.