|
MATERIALIZED VIEW после каждождого DBMS_MVIEW.refresh становится INVALID
|
|||
---|---|---|---|
#18+
Приветствую, подскажите плз как докопаться до причин того, что MATERIALIZED VIEW после каждого вызова DBMS_MVIEW.refresh становится INVALID? Приходится сразу же вызывать компиляцию. Думал, подготовлю тестовый пример с вьюхой, созданной и обновляемой как боевая, что бы понять на простом SQL-запросе, а нет. С тестовой вьюхой (смотри ниже) всё в порядке, она не становится INVALID. Oracle 9.2 Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48.
Заранее спасибо ответившим ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2021, 14:17 |
|
MATERIALIZED VIEW после каждождого DBMS_MVIEW.refresh становится INVALID
|
|||
---|---|---|---|
#18+
Кроик Семён, это ожидаемое поведение ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2021, 14:30 |
|
MATERIALIZED VIEW после каждождого DBMS_MVIEW.refresh становится INVALID
|
|||
---|---|---|---|
#18+
Кроик Семён Oracle 9.2 А поддерживаемую вендором версию использовать не получается? В реальной вьюхе есть outer join? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2021, 14:32 |
|
MATERIALIZED VIEW после каждождого DBMS_MVIEW.refresh становится INVALID
|
|||
---|---|---|---|
#18+
Кроик Семён, И как часто собственно меняются данные в исходных таблицах? Если чаще обновления мат вью, то это ожидаемое поведение, в user_mviews при этом будет статус needs_compile. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2021, 14:35 |
|
MATERIALIZED VIEW после каждождого DBMS_MVIEW.refresh становится INVALID
|
|||
---|---|---|---|
#18+
env В реальной вьюхе есть outer join? нет, только LEFT JOIN. Но в одной из других тоже проблемных есть. Почему это плохо? env И как часто собственно меняются данные в исходных таблицах? По нескольку раз в минуту. А её рефреш длится около минуты. Но почему это проблема, я не понял. База же транзакционная. Кстати, сейчас заменил в SQL вьюхи вызов функции из пакета, совершенно простой, к тому же еще и DETERMINISTIC на аналогичную, не из пакета и по крайней мере после первого рефреша вьюха INVALID не стала. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2021, 14:47 |
|
MATERIALIZED VIEW после каждождого DBMS_MVIEW.refresh становится INVALID
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2021, 14:59 |
|
MATERIALIZED VIEW после каждождого DBMS_MVIEW.refresh становится INVALID
|
|||
---|---|---|---|
#18+
Кроик Семён, Кроик Семён нет, только LEFT JOIN Собственно, это и есть outer join. Одна из разновидностей подобных багов(?) как раз была связана с наличием внешних соединений, вроде как исправлено в свежих версиях. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2021, 15:40 |
|
MATERIALIZED VIEW после каждождого DBMS_MVIEW.refresh становится INVALID
|
|||
---|---|---|---|
#18+
Кроик Семён Но почему это проблема, я не понял. Был какой-то прикол с обработкой зависимостей ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2021, 15:44 |
|
MATERIALIZED VIEW после каждождого DBMS_MVIEW.refresh становится INVALID
|
|||
---|---|---|---|
#18+
env Янет, только LEFT JOIN Собственно, это и есть outer join. Одна из разновидностей подобных багов(?) как раз была связана с наличием внешних соединений, вроде как исправлено в свежих версиях. интересная инфа, спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2021, 15:44 |
|
|
start [/forum/topic.php?fid=52&fpage=28&tid=1880540]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 147ms |
0 / 0 |