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

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

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

Где ж тогда брать?
...
Рейтинг: 0 / 0
29.07.2019, 12:12
    #39842490
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TRUSTED CONSTRAINTS в MAT VIEW
Правильный ВасяГде ж тогда брать?
Распарсить dbms_metadata.get_xml не вариант?
...
Рейтинг: 0 / 0
29.07.2019, 12:15
    #39842493
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TRUSTED CONSTRAINTS в MAT VIEW
Elic, похоже, клавиатуру сменил.
...
Рейтинг: 0 / 0
29.07.2019, 17:45
    #39842668
Правильный Вася
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TRUSTED CONSTRAINTS в MAT VIEW
andrey_anonymousРаспарсить dbms_metadata.get_xml не вариант?
Кувалдой мебельные гвоздики?
Теоретически можно, но должен быть путь проще.
...
Рейтинг: 0 / 0
29.07.2019, 18:43
    #39842704
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TRUSTED CONSTRAINTS в MAT VIEW
Правильный ВасяКувалдой мебельные гвоздики?
Давно xpath кувалдой-то стал?
Весь DDL в XML выдергиваете и xpath-ите себе все, что душа пожелает.
...
Рейтинг: 0 / 0
29.07.2019, 19:17
    #39842712
SeaGate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TRUSTED CONSTRAINTS в MAT VIEW
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
29.07.2019, 19:20
    #39842714
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TRUSTED CONSTRAINTS в MAT VIEW
Правильный ВасяТ.е. значение поля не то, что было задано при создании, а только для случая, если вьюха в неопределенном состоянии по причине использования trusted constraints.


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

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


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
29.07.2019, 22:29
    #39842754
Правильный Вася
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TRUSTED CONSTRAINTS в MAT VIEW
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
30.07.2019, 02:07
    #39842793
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TRUSTED CONSTRAINTS в MAT VIEW
Правильный Вася,

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

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


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