|
ORA-32428 "Shape of MV is not supported"
|
|||
---|---|---|---|
#18+
ORA 12.2 Пытаюсь создать простую матвьюху (текст на картинке), ругается. Причём текст ошибки на русском с картинки и английский из доки как-то не очень совпадают. ORA-32428: on-statement materialized join view error: string Cause: An error related to on-statement materialized join view was received. Action: Refer to the error message for more information. Откуда JOIN, если его в тексте вьюхи нет? Что за "Shape of MV"? По поводу этого Shape нашел всего одну статью, но там про JSON_TABLE, коего у меня нет :-( ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 16:44 |
|
ORA-32428 "Shape of MV is not supported"
|
|||
---|---|---|---|
#18+
Правильный Вася, Ну когда же ты начнешь доку ЧИТАТЬ а не листать: Restrictions on Refreshing ON STATEMENT The following restrictions apply to the ON STATEMENT clause: This clause can be used only with materialized views that are fast refreshable. The ON STATEMENT clause must be specified with the REFRESH FAST clause. The base tables referenced in the materialized view’s defining query must be connected in a join graph that uses the star schema or snowflake schema model. The query must contain exactly one centralized fact table and one or more dimension tables, with all pairs of joined tables being related using primary key-foreign key constraints. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 17:03 |
|
ORA-32428 "Shape of MV is not supported"
|
|||
---|---|---|---|
#18+
SY, Не вижу противоречия между твоей цитатой и моим вопросом. У меня ОДНА таблица, нет никаких JOIN, первичный ключ в таблице определён. Или именно то, что она ОДНА, и является проблемой? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 17:11 |
|
ORA-32428 "Shape of MV is not supported"
|
|||
---|---|---|---|
#18+
Правильный Вася, The base tableS referenced in the materialized view’s defining query must be connected in a JOIN GRAPH that uses the STAR SCHEMA or SNOWFLAKE SCHEMA model. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 17:15 |
|
ORA-32428 "Shape of MV is not supported"
|
|||
---|---|---|---|
#18+
Правильный Вася, With the ON STATEMENT refresh method, an MV is automatically refreshed whenever DML happens on a base table of the MV. Therefore, whenever a DML happens on any table on which a materialized view is defined, the change is automatically reflected in the materialized view. The advantage of using this approach is that the user no long needs to create a materialized view log on each of the base table in order to do fast refresh. The refresh can then avoid the overhead introduced by MV logging but still keep the materialized view refreshed all the time. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 17:18 |
|
ORA-32428 "Shape of MV is not supported"
|
|||
---|---|---|---|
#18+
Иными словами, ON STATEMENT нельзя применять к единственной таблице, а только к взаимосвязанным ключами таблицам. В чём смысл такого ограничения? Последней цитате единственная таблица не противоречит... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 17:46 |
|
ORA-32428 "Shape of MV is not supported"
|
|||
---|---|---|---|
#18+
Правильный ВасяИными словами, ON STATEMENT нельзя применять к единственной таблице, а только к взаимосвязанным ключами таблицам. В чём смысл такого ограничения? Последней цитате единственная таблица не противоречит... The advantage of using this approach is that the user no long needs to create a materialized view log on each of the base table in order to do fast refresh. The refresh can then avoid the overhead introduced by MV logging but still keep the materialized view refreshed all the time. А с одной таблицей проблемы "create a materialized view log on each of the base table in order to do fast refresh" просто нет и посему стандартый ON COMMIT. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 17:55 |
|
ORA-32428 "Shape of MV is not supported"
|
|||
---|---|---|---|
#18+
SYА с одной таблицей проблемы "create a materialized view log on each of the base table in order to do fast refresh" просто нет и посему стандартый ON COMMIT. Проблемы-то нет, но и логики особой тоже, т.к. авторThe advantage of using this approach is that the user no long needs to create a materialized view log ... The refresh can then avoid the overhead introduced by MV logging . ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 18:03 |
|
ORA-32428 "Shape of MV is not supported"
|
|||
---|---|---|---|
#18+
Как продолжение той же ошибки в новой вариации. Соединение 2 таблиц по ключам (запрос на картинке). Если добавить t2.rowid в список полей SELECT, то Код: plsql 1.
И чего ему надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 19:30 |
|
ORA-32428 "Shape of MV is not supported"
|
|||
---|---|---|---|
#18+
Правильный ВасяПроблемы-то нет, но и логики особой тоже, т.к. авторThe advantage of using this approach is that the user no long needs to create a materialized view log ... The refresh can then avoid the overhead introduced by MV logging . Если суслика не видно... Когда у нас FAST REFRESH то требуeтся MV LOG на каждую каблицу. Однако при star/slowflake все таблицы связаны жестко через primary key-foreign key constraints и посему Oracle "под капотом" может (мои домыслы) создать единую структуру хранящую изменения всех этих таблиц (этакой супер MV LOG) и теперь нам не надо заморачиваться индивидуальными MV LOGами. A при одной таблице ON STATEMENT как козе баян. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 19:48 |
|
ORA-32428 "Shape of MV is not supported"
|
|||
---|---|---|---|
#18+
Правильный ВасяКак продолжение той же ошибки в новой вариации. Соединение 2 таблиц по ключам (запрос на картинке). Если добавить t2.rowid в список полей SELECT, то Код: plsql 1.
И чего ему надо? И действительно ,почему Все животные равны, но некоторые более равны, чем другие (c)? Почему так нельзя ? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
А так можно ? Код: plsql 1. 2. 3. 4. 5. 6. 7.
А так нельзя , но говорят не кто виноват а что делать (c) ? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
Regards ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 19:56 |
|
ORA-32428 "Shape of MV is not supported"
|
|||
---|---|---|---|
#18+
SYA при одной таблице ON STATEMENT как козе баян. Как по мне, нафига баян из MVLOG + ON COMMIT для одной таблицы, если можно внутрях этот лог сделать автоматом для ON STATEMENT. Ведь напрашивается! Если само может сделать лог для связки таблиц, нафига игнорировать, даже ругаться, одну таблицу? Нет логики, как я и сказал. Maxim Demenko, спасибо, понял. ROWID мешает, т.к. у создаваемой для хранения данных MV таблицы свой ROWID будет, значит чужой надо просто переименовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 20:28 |
|
ORA-32428 "Shape of MV is not supported"
|
|||
---|---|---|---|
#18+
Правильный ВасяВедь напрашивается! Если само может сделать лог для связки таблиц, нафига игнорировать, даже ругаться, одну таблицу? Нет логики, как я и сказал.Ну так обратись, чудак, в Oracle с рацухой. Может они проникнутся твоими потугами постичь задворки ораклового синтаксиса и не усмотрят конкурента. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 22:35 |
|
|
start [/forum/topic.php?fid=52&msg=39840078&tid=1882277]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 256ms |
total: | 392ms |
0 / 0 |