Быстрое создание обновлений matview при неудачной фиксации с ORA-12033 - PullRequest
0 голосов
/ 11 декабря 2018

Oracle Database - Standard Edition - версия 12.1.0.2.0, платформа Windows 64-bit

При попытке создать mview возникает ошибка ora-12033, все необходимые столбцы уже включеныв журнале mview.Когда я пытаюсь сделать то же самое в версии 11g, это работает, но ошибка выдает 12c.

Пожалуйста, помогите мне решить эту проблему или предоставьте ссылки, которые могут помочь.

Здесьэто код:

CREATE MATERIALIZED VIEW LOG ON contract_details
with rowid (count, contract_id) including new values;

CREATE MATERIALIZED VIEW m_contract_sum
refresh fast on commit
as
select d.contract_id as contract_id,
       count(*) as count_grp,
       count(d.count) as cnt_count,
       sum(d.count) as sm_count
  from contract_details d
 group by d.contract_id;

Заранее спасибо!

1 Ответ

0 голосов
/ 27 декабря 2018

Может быть проблема с расширенной статистикой, которая автоматически создается для сбора статистики по группе столбцов.Вы можете проверить это, выполнив следующий запрос:

SELECT column_name, data_default, virtual_column, hidden_column 
  FROM dba_tab_cols 
 WHERE table_name = 'CONTRACT_DETAILS' AND hidden_column = 'YES';

Если это так, вам нужно сбросить статистику (используя dbms_stats.drop_extended_stats) перед (повторным) созданием материализованного представления.например,

BEGIN
   dbms_stats.drop_extended_stats('master', 'contract_details', '(x, y)');
END;
/

После этого вы, вероятно, захотите снова собрать статистику, используя

BEGIN
   dbms_stats.create_extended_stats('master', 'contract_details', '(x, y)')
END;
/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...