Oracle mechanics

23.08.2016

12c: Очередной пропущенный ORA-00979: not a GROUP BY expression — Bug 22338374

Filed under: Oracle — Игорь Усольцев @ 23:12
Tags: ,

Евгений Калинин в очередной раз успешно сумел заставить Oracle выдать странное — на этот раз рез-т запроса (аналитических функции, CONNECT BY, SUBQUERY FACTORING, CASE, ANSI JOIN в комбинациях) с ошибкой в перечислении GROUP BY столбцов вместо ORA-00979 выдавал рез-ты, отличные от рез-тов правильного в части GROUP BY запроса, и, более того, зависел от применения или неприменения TEMP TABLE TRANSFORMATION в плане выполнения!

Столь странное поведение, очевидно, выходило за рамки приличий, пришлось/удалось сделать несложный тесткейс и заслать в оркест обратиться в техподдержку с SR-запросом Query with left outer join gives WRONG results instead of ORA-00979: not GROUP BY expression in 12c

В свою очередь MOS в лице своего славного представителя Lucian Iordache крайне оперативно идентифицировал проблему, точно определив соответствующий Bug 22338374 ORA-7445 [kkoiqb] or ORA-979 or Wrong Results when using scalar sub-queries, заметный на патчёванных версиях 12.1.0.2.+ (включая 12.1.0.2.160419), но не проявляющийся на 12.1.0.2.0 (т.е. на версии 12.1.0.2 без PSU)

Оказалось, что тот же патч лечит ранее описанную GROUP BY-related проблему — Синтаксическая ошибка в запросе, приводящая к бесконечному parsing-у

Соотв.патчи на сайте MOS присутствуют, при этом:

1)

The Patch 22338374 was created also for 12.1.0.2.0 in order to be used for higher PSU’s if no conflicts exists (E.g. Patch 22338374 release: 12.1.0.2.0 can be installed on database with PSU: 12.1.0.2.5 if no conflicts with other patches exists)

2) Patch 22338374 предположительно недавно включён в рекомендованный список Oracle E-Business Suite Release 12.2: Consolidated List of Patches and Technology Bug Fixes (Doc ID 1594274.1)

3) The fix for 22338374 is first included in 12.1.0.2.160719 (Jul 2016) Database Proactive Bundle Patch — Bugs fixed in each 12.1.0.2 Database Proactive Bundle Patch
, но НЕ ВХОДИТ в 12.1.0.2.160719 (Jul 2016) Database Patch Set Update (DB PSU) — Bugs fixed in each 12.1.0.2 Patch Set Update

— что даёт плюс технологии Database Proactive Bundle Patch, несмотря на некоторые неудобства применения — Overview of Database Patch Delivery Methods (Doc ID 1962125.1):(

To change patching methods whilst staying on the same Patch Set Release / 4 digit version you typically need to:

Fully rollback the current method patch/es
This may need you to rollback some interim patches too – make a note of any interim patches rolled back
Apply / install the new method patch/es to at least the same CPU cycle
Acquire and apply any interim patches required to maintain the same fixes as were in place before

You cannot mix BP and DB PSU (or SPU) patching methods in the same ORACLE_HOME

Добавить комментарий »

Комментариев нет.

RSS feed for comments on this post. TrackBack URI

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

Блог на WordPress.com.

%d такие блоггеры, как: