Boa Tarde!
Chiappa, analisei o outro ambiente não encontrei um *Refresh Group* criado
neste ambiente, verifiquei o parâmetro e estão iguais nos ambientes.
SQL show parameter QUERY_REWRITE_INTEGRITY;
NAME TYPEVALUE
Eu consigo pensar nas seguintes possibilidades :
a. Qualquer um dos objetos referenciados pela mv foi alterado por DDL e/ou se
tornou inválido por alterações/recompilações nas dependências deles, aí a mv
fica inválida também
ou
b. A MV ** não é ** de REFRESH ON COMMIT, aí OBVIAMENTE qualquer
Olá,
Mária Cristina,
1.) Se você olhar a coluna user_jobs.failure e a mesma estiver com 0 (zero)
significa que o refresh da mview está acontecendo sem erros e o resultado
esperado está garantido.
2.) Já vi uma análise desse tipo onde esse INVALID significa que os dados
deste objetos não são
Olá Eriovaldo!
A coluna FAILURES está = 0 sim, hoje eu percebi que não é mesmo refresh que
a faz ficar invalida, e sim a quando ocorre algum insert ou update em
alguma tabela que a view utiliza. E se você recompilar, ela fica valida
novamente, porém quando ocorre alguma alteração ou inserção ela
Só pra confirmar : vc ** LEU ** na minha resposta que quando a mv Não É REFRESH
ON COMMIT, aí QUALQUER DML em QUALQUER das tabelas automaticamente deixa a view
INVÁLIDA , por conceito, sem ser bug nenhum, é assim MESMO q funciona ??? Vc
TEM TOTAL CERTEZA que não é esse mesmo o caso ?
E sobre
Bom dia!
Agradeço as alternativas mas não tem nenhuma das suas suposições aplicadas
a este caso, eu verifiquei todos os objetos que poderiam ser dependentes
mas nenhum estão inválidos, simulei o ambiente criando MV minhas, criei as
tabelas e criei a MV sobre essas tabelas para realizar os teste,
Opa, então : na verdade, se a MV é REFRESH ON DEMMAND, é ** conceitual ** que
após qualquer alteração de dados e/ou estrutura a mv ficou DIFERENTE das
tabelas/objetos base, então ela VAi ficar inválida, exemplo (em 11.2.0.1 mas
afaik é o mesmo nos outros 11gr2) :
SYSTEM:@o11201:SQLget 1.sql
Chiappa eu li sim suas respostas.
Só pra confirmar : vc ** LEU ** na minha resposta que quando a mv Não É
REFRESH ON COMMIT, aí QUALQUER DML em QUALQUER das tabelas automaticamente
deixa a view INVÁLIDA , por conceito, sem ser bug nenhum, é assim MESMO q
funciona ??? Vc TEM TOTAL CERTEZA que não