Oracle - непонятный глюк

User avatar
Mak_Sim
Уже с Приветом
Posts: 472
Joined: 09 Aug 2000 09:01
Location: Ташкент -> Силиконовка

Oracle - непонятный глюк

Post by Mak_Sim »

Некоторое время назад стали замечать "один странный вешч".
Имеем:
SELECT * FROM (
SELECT atr1, atr2, ... , atrN
FROM table1, table2, table3
WHERE ....
ORDER BY atr1 DESC, atr3
) WHERE rownum <= 5;

Внутренний запрос возвращает 20 записей. Запрос в целом не возвращает НИЧЕГО! Если же во внутренний запрос поместить хинт вида /*+ ORDERED */ , то все работает, как полагается.
Кстати, работает и когда во внутреннем запросе убран один из фильтров вида
table2.attr3 = 'value'.
Execution plan показывает, что меняется порядок выборки данных из таблиц.
Oracle 9.2. Я открыл ТАР на Oracle metalink, но может, кто-нибудь слышал о подобном раньше?
Таити, Таити... Нас и тут неплохо кормят.
vc
Уже с Приветом
Posts: 664
Joined: 05 Jun 2002 01:11

Re: Oracle - непонятный глюк

Post by vc »

Mak_Sim wrote:Некоторое время назад стали замечать "один странный вешч".
Имеем:
SELECT * FROM (
SELECT atr1, atr2, ... , atrN
FROM table1, table2, table3
WHERE ....
ORDER BY atr1 DESC, atr3
) WHERE rownum <= 5;

Внутренний запрос возвращает 20 записей. Запрос в целом не возвращает НИЧЕГО! Если же во внутренний запрос поместить хинт вида /*+ ORDERED */ , то все работает, как полагается.
Кстати, работает и когда во внутреннем запросе убран один из фильтров вида
table2.attr3 = 'value'.
Execution plan показывает, что меняется порядок выборки данных из таблиц.
Oracle 9.2. Я открыл ТАР на Oracle metalink, но может, кто-нибудь слышал о подобном раньше?


What are:
a. the exact version and configuration (enterprise/standard)
b. the tables structure
c. the execution plan(s)
d. the platform

There was a similar (but not the same) bug with parallel query execution in 9.2.0.1. that has not been fixed until 9.2.0.5 The solution was: an upgrade to 9.2.0.5.

VC
User avatar
Mak_Sim
Уже с Приветом
Posts: 472
Joined: 09 Aug 2000 09:01
Location: Ташкент -> Силиконовка

Post by Mak_Sim »

Oracle9i Enterprise Edition Release 9.2.0.4.0
There are 3 partitioned mat views which this query uses -- one has 1.2 mil rows, the second one is 7.5 mil rows, and the third is 2500 rows.
I can send you the exact quiery and execution plans by e-mail.
Таити, Таити... Нас и тут неплохо кормят.
vc
Уже с Приветом
Posts: 664
Joined: 05 Jun 2002 01:11

Post by vc »

Mak_Sim wrote:Oracle9i Enterprise Edition Release 9.2.0.4.0
There are 3 partitioned mat views which this query uses -- one has 1.2 mil rows, the second one is 7.5 mil rows, and the third is 2500 rows.
I can send you the exact quiery and execution plans by e-mail.


Pls. send me a PM but first try the NOPARALLEL hint and see if the query works with it.

VC

Return to “Вопросы и новости IT”