Oracle материализовал настройку представления - PullRequest
1 голос
/ 17 октября 2019

У меня есть Oracle (Oracle Database 11g - 11.2.0.3.0), который использует материализованное представление для подключения к другим базам данных Oracle. Материализованное представление, похоже, сопоставило поле типа NUMBER с байтом (3). Теперь, когда в связанной базе данных есть большие значения (x, 000 с) по сравнению с (x 100 с), обновление не выполняется, поскольку оно слишком велико для размещения. Я попытался перекомпилировать и изменить размер столбца, но он жалуется с ошибками. В исходном SQL не указываются размеры столбцов - простое поле выбирается в mview.

Issue: ORA-12899: value too large for column "XXXXX"."YYYY_MV"."ZZZZZ" (actual: 4, maximum: 3)

A. Перекомпиляция

ALTER MATERIALIZED VIEW XXXXX.YYYY_MV COMPILE

VIEW CUSTOMERS.CHAMP_DSS_CUSTOMERS_MV altered.  

(но по-прежнему не удается запустить обновление).

B. Изменение

ALTER:
  [sqltask] alter materialized view XXXXX.YYYY_MV
  [sqltask]     modify (ZZZZZ CHAR(30 BYTE))
  [sqltask] Exception executing sql java.sql.SQLSyntaxErrorException: ORA-01732: data manipulation operation not legal on this view

Кто-нибудь сталкивался с таким поведением, какова ваша предлагаемая стратегия исправления / выхода?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...