|
TRUSTED CONSTRAINTS в MAT VIEW
|
|||
---|---|---|---|
#18+
Создал несколько матвьюх, где поставил USING ENFORCED или TRUSTED CONSTRAINTS. Однако в ALL_MVIEWS в поле UNKNOWN_TRUSTED_FD Indicates whether the materialized view uses trusted constraints for refresh (Y) or not (N) у всех них стоит только одно значение N . При этом dbms_metadata.GET_DDL возвращает верное значение для каждой конкретной вьюхи. Где и как можно узнать правильное значение для USING CONSTRAINTS конкретной вьюхи? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2019, 23:08 |
|
TRUSTED CONSTRAINTS в MAT VIEW
|
|||
---|---|---|---|
#18+
Чудак, так глубоко копаешь, а до сих пор не знаешь про исходники словоря? Они с кооментами даже. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2019, 23:28 |
|
TRUSTED CONSTRAINTS в MAT VIEW
|
|||
---|---|---|---|
#18+
Elic, Знаю, но временами забываю. Но в этом случае они ещё больше запутывают, т.к. описание противоречит доке. UNKNOWN_TRUSTED_FD (Y/N) MV is in unknown state because it used trusted constraints for refresh Т.е. значение поля не то, что было задано при создании, а только для случая, если вьюха в неопределенном состоянии по причине использования trusted constraints. Где ж тогда брать? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 00:01 |
|
TRUSTED CONSTRAINTS в MAT VIEW
|
|||
---|---|---|---|
#18+
Правильный ВасяГде ж тогда брать? Распарсить dbms_metadata.get_xml не вариант? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2019, 12:12 |
|
TRUSTED CONSTRAINTS в MAT VIEW
|
|||
---|---|---|---|
#18+
Elic, похоже, клавиатуру сменил. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2019, 12:15 |
|
TRUSTED CONSTRAINTS в MAT VIEW
|
|||
---|---|---|---|
#18+
andrey_anonymousРаспарсить dbms_metadata.get_xml не вариант? Кувалдой мебельные гвоздики? Теоретически можно, но должен быть путь проще. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2019, 17:45 |
|
TRUSTED CONSTRAINTS в MAT VIEW
|
|||
---|---|---|---|
#18+
Правильный ВасяКувалдой мебельные гвоздики? Давно xpath кувалдой-то стал? Весь DDL в XML выдергиваете и xpath-ите себе все, что душа пожелает. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2019, 18:43 |
|
TRUSTED CONSTRAINTS в MAT VIEW
|
|||
---|---|---|---|
#18+
andrey_anonymous, andrey_anonymousВесь DDL в XML выдергиваете и xpath-ите себе все, что душа пожелает. Сам по себе XML в DBMS_METADATA.GET_XML не содержит явных указаний на ENFORCED/TRUSTED CONSTRAINTS. Здесь нужно смотреть ?/rdbms/xml/xsl/kumview.xsl (Как и прочие xsl в этой директории для понимания вывода DBMS_METADATA в связке с KU$_% views): Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
Это из SNAP$.FLAG2. XML не может быть первичным в данном анализе, т.к. мы не знаем, как Oracle его трактует для получения DDL (это в xsl). ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2019, 19:17 |
|
TRUSTED CONSTRAINTS в MAT VIEW
|
|||
---|---|---|---|
#18+
Правильный ВасяТ.е. значение поля не то, что было задано при создании, а только для случая, если вьюха в неопределенном состоянии по причине использования trusted constraints. Да читай ты доку (не листай) и вдумчиво. UNKNOWN_TRUSTED_FD означает что мы говорим Oracle: пофиг что FK/DIMENSION может быть невалидированный (non-validated) - обновляй MV с их использованием. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2019, 19:20 |
|
TRUSTED CONSTRAINTS в MAT VIEW
|
|||
---|---|---|---|
#18+
andrey_anonymousВесь DDL в XML выдергиваете и xpath-ите себе все, что душа пожелает.Вот я именно об этом. Если бы мне нужно было всё или много, а ради одного свойства формировать DDL в XML, а потом расковыривать его (пускай даже встроенными средствами) - это как делать пуговицу из черепахи (поехать на острова, поймать, добыть панцирь, распилить, обточить) вместо простой палочки. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2019, 19:47 |
|
TRUSTED CONSTRAINTS в MAT VIEW
|
|||
---|---|---|---|
#18+
SYUNKNOWN_TRUSTED_FD означает что мы говорим Oracle: пофиг что FK/DIMENSION может быть невалидированный (non-validated) - обновляй MV с их использованием. Не вижу, где такое сказано. Есть в CREATE MATVIEW The USING TRUSTED CONSTRAINTS clause lets Oracle Database use dimension and constraint information that has been declared trustworthy by the database administrator but that has not been validated by the database. Есть в ALL_MVIEWS UNKNOWN_TRUSTED_FD Indicates whether the materialized view uses trusted constraints for refresh (Y) or not (N) Есть в \oracle12\product\12.2.0\dbhome_1\rdbms\admin\catsnap.sql UNKNOWN_TRUSTED_FD (Y/N) MV is in unknown state because it used trusted constraints for refresh Так почему тогда для матвьюхи, созданной с USING TRUSTED CONSTRAINTS в ALL_VIEWS стоит UNKNOWN_TRUSTED_FD = 'N' ? Или всё-таки не там смотрим? Ведь разные по сути описания. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2019, 20:03 |
|
TRUSTED CONSTRAINTS в MAT VIEW
|
|||
---|---|---|---|
#18+
Правильный ВасяНе вижу, где такое сказано. 5.3.8.3 About Using Trusted Constraints and Materialized View Refresh Any nonvalidated RELY constraint is a trusted constraint. For example, nonvalidated foreign key/primary key relationships, functional dependencies defined in dimensions or a materialized view in the UNKNOWN state. If query rewrite is enabled during refresh, these can improve the performance of refresh by enabling more performant query rewrites. Any materialized view that can use TRUSTED constraints for refresh is left in a state of trusted freshness (the UNKNOWN state) after refresh. Правильный ВасяТак почему тогда для матвьюхи, созданной с USING TRUSTED CONSTRAINTS в ALL_VIEWS стоит UNKNOWN_TRUSTED_FD = 'N' ? Или всё-таки не там смотрим? Ведь разные по сути описания. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2019, 21:15 |
|
TRUSTED CONSTRAINTS в MAT VIEW
|
|||
---|---|---|---|
#18+
SY, как бы да, но не всегда. Если делать BUILD DEFERRED, то UNKNOWN_TRUSTED_FD = 'N' вне зависимости от того, что поставишь в USING ... CONSTRAINTS. Т.е. получается, что в UNKNOWN_TRUSTED_FD содержится не то, как было создано, а то, что Oracle действительно мог использовать и использовал: Any materialized view that can use TRUSTED constraints for refresh is left in a state of trusted freshness (the UNKNOWN state) after refresh. А если этого рефреша еще не было, то стоит 'N', т.к. Оракл даже не пытался использовать эту опцию. В общем, как бы да, но как бы нет . ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2019, 22:29 |
|
TRUSTED CONSTRAINTS в MAT VIEW
|
|||
---|---|---|---|
#18+
Правильный Вася, Найди в себе смелость и скажи зачем-таки тебе это нужно? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2019, 02:07 |
|
TRUSTED CONSTRAINTS в MAT VIEW
|
|||
---|---|---|---|
#18+
SeaGateСам по себе XML в DBMS_METADATA.GET_XML не содержит явных указаний на ENFORCED/TRUSTED CONSTRAINTS.Не get_xml единым специфицирован dbms_metadata. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2019, 07:10 |
|
|
start [/forum/topic.php?fid=52&gotonew=1&tid=1882249]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
42ms |
get topic data: |
14ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
others: | 254ms |
total: | 424ms |
0 / 0 |