powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / TRUSTED CONSTRAINTS в MAT VIEW
16 сообщений из 16, страница 1 из 1
TRUSTED CONSTRAINTS в MAT VIEW
    #39842227
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создал несколько матвьюх, где поставил 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 конкретной вьюхи?
...
Рейтинг: 0 / 0
TRUSTED CONSTRAINTS в MAT VIEW
    #39842228
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чудак, так глубоко копаешь, а до сих пор не знаешь про исходники словоря? Они с кооментами даже.
...
Рейтинг: 0 / 0
TRUSTED CONSTRAINTS в MAT VIEW
    #39842233
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,

Знаю, но временами забываю.

Но в этом случае они ещё больше запутывают, т.к. описание противоречит доке.
UNKNOWN_TRUSTED_FD (Y/N) MV is in unknown state because it used trusted constraints for refresh
Т.е. значение поля не то, что было задано при создании, а только для случая, если вьюха в неопределенном состоянии по причине использования trusted constraints.

Где ж тогда брать?
...
Рейтинг: 0 / 0
TRUSTED CONSTRAINTS в MAT VIEW
    #39842490
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный ВасяГде ж тогда брать?
Распарсить dbms_metadata.get_xml не вариант?
...
Рейтинг: 0 / 0
TRUSTED CONSTRAINTS в MAT VIEW
    #39842493
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic, похоже, клавиатуру сменил.
...
Рейтинг: 0 / 0
TRUSTED CONSTRAINTS в MAT VIEW
    #39842668
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousРаспарсить dbms_metadata.get_xml не вариант?
Кувалдой мебельные гвоздики?
Теоретически можно, но должен быть путь проще.
...
Рейтинг: 0 / 0
TRUSTED CONSTRAINTS в MAT VIEW
    #39842704
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный ВасяКувалдой мебельные гвоздики?
Давно xpath кувалдой-то стал?
Весь DDL в XML выдергиваете и xpath-ите себе все, что душа пожелает.
...
Рейтинг: 0 / 0
TRUSTED CONSTRAINTS в MAT VIEW
    #39842712
Фотография SeaGate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
    <xsl:choose>
     <xsl:when test="(MVIEW/FLAG2 mod 131072)>=65536">
      <xsl:text> USING TRUSTED CONSTRAINTS</xsl:text>
     </xsl:when>
     <xsl:otherwise>
      <xsl:text> USING ENFORCED CONSTRAINTS</xsl:text>
     </xsl:otherwise>
    </xsl:choose>


Это из SNAP$.FLAG2. XML не может быть первичным в данном анализе, т.к. мы не знаем, как Oracle его трактует для получения DDL (это в xsl).
...
Рейтинг: 0 / 0
TRUSTED CONSTRAINTS в MAT VIEW
    #39842714
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный ВасяТ.е. значение поля не то, что было задано при создании, а только для случая, если вьюха в неопределенном состоянии по причине использования trusted constraints.


Да читай ты доку (не листай) и вдумчиво. UNKNOWN_TRUSTED_FD означает что мы говорим Oracle: пофиг что FK/DIMENSION может быть невалидированный (non-validated) - обновляй MV с их использованием.

SY.
...
Рейтинг: 0 / 0
TRUSTED CONSTRAINTS в MAT VIEW
    #39842720
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousВесь DDL в XML выдергиваете и xpath-ите себе все, что душа пожелает.Вот я именно об этом. Если бы мне нужно было всё или много, а ради одного свойства формировать DDL в XML, а потом расковыривать его (пускай даже встроенными средствами) - это как делать пуговицу из черепахи (поехать на острова, поймать, добыть панцирь, распилить, обточить) вместо простой палочки.
...
Рейтинг: 0 / 0
TRUSTED CONSTRAINTS в MAT VIEW
    #39842724
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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' ?

Или всё-таки не там смотрим? Ведь разные по сути описания.
...
Рейтинг: 0 / 0
TRUSTED CONSTRAINTS в MAT VIEW
    #39842738
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный ВасяНе вижу, где такое сказано.


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.
SQL> CREATE MATERIALIZED VIEW MV_EMP
  2  REFRESH FORCE ON DEMAND
  3  USING TRUSTED CONSTRAINTS
  4  WITH ROWID AS
  5  SELECT * FROM EMP
  6  /

Materialized view created.

SQL> SELECT  UNKNOWN_TRUSTED_FD
  2    FROM  USER_MVIEWS
  3    WHERE MVIEW_NAME = 'MV_EMP'
  4  /

U
-
Y

SQL> 



SY.
...
Рейтинг: 0 / 0
TRUSTED CONSTRAINTS в MAT VIEW
    #39842754
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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', т.к. Оракл даже не пытался использовать эту опцию.

В общем, как бы да, но как бы нет .
...
Рейтинг: 0 / 0
TRUSTED CONSTRAINTS в MAT VIEW
    #39842793
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный Вася,

Найди в себе смелость и скажи зачем-таки тебе это нужно?
...
Рейтинг: 0 / 0
TRUSTED CONSTRAINTS в MAT VIEW
    #39842813
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeaGateСам по себе XML в DBMS_METADATA.GET_XML не содержит явных указаний на ENFORCED/TRUSTED CONSTRAINTS.Не get_xml единым специфицирован dbms_metadata.
...
Рейтинг: 0 / 0
TRUSTED CONSTRAINTS в MAT VIEW
    #39843141
Фотография SeaGate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Не get_xml единым специфицирован dbms_metadata.

Да, забыл про get_sxml.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / TRUSTED CONSTRAINTS в MAT VIEW
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]