Oracle 9i problem: ORA-03113: end-of-file on communication channel
Имею:
- Oracle 9i
- view ar_payment_view_date с полями
currency
customer
amt_open
и ещё другими - view ar_inv_view_date с такими же полями
i.currency ic, i.amt_open io
FROM
(SELECT currency, amt_open
FROM ar_payment_view_date
WHERE customer = 'ДЕЦИМА' AND amt_open > 0) p
LEFT OUTER JOIN
(SELECT currency, amt_open
FROM ar_inv_view_date
WHERE customer = 'ДЕЦИМА' AND amt_open > 0) i
ON p.currency = i.currency;
Запрос
i.currency ic, i.amt_open io
FROM
(SELECT currency, amt_open
FROM ar_payment_view_date
WHERE customer = 'ДЕЦИМА' AND amt_open > 0) p
FULL OUTER JOIN
(SELECT currency, amt_open
FROM ar_inv_view_date
WHERE customer = 'ДЕЦИМА' AND amt_open > 0) i
ON p.currency = i.currency;
ORA-03113: end-of-file on communication channel.
При этом моя сессия дохнет.
Второй запрос отличается от первого только тем, что вместо LEFT OUTER JOIN написано FULL OUTER JOIN.
Вообще-то FULL OUTER JOIN в других случаях работает.
Что посоветуете?
Вообще-то FULL OUTER JOIN в других случаях работает.
Что посоветуете?
Подобная хрень может происходить, когда в Oracle случается внутренняя ошибка. Может быть, что и труба.
Кстати, для подключения к серверу используется клиект той же, или старшей/младшей версии?
Подобная хрень может происходить, когда в Oracle случается внутренняя ошибка. Может быть, что и труба.
Кстати, для подключения к серверу используется клиект той же, или старшей/младшей версии?
До этого у меня был сервер версии 8, а клиент 9. Проблемы, естественно, не было, потому что сервер 8 вообще не понимает слова JOIN.
Теперь сервер апгрейднули до 9. Клиент остался тот же (9). Хочется написать FULL JOIN, а то без него SQL предложение получается длиннее страницы. В тестах FULL JOIN работает подобно зверю, а в реальном запросе — фиг :(
Всё ещё надеюсь, что труба не полная...
Теперь сервер апгрейднули до 9. Клиент остался тот же (9).
У 9i есть две версии - 1-я и Release 2. Full outer join, если не изменяет память, появился только во втором релизе. Поэтому, вопрос повторяется: совпадает ли версия клиента и сервера.
Несмотря на совместимость по большей части снизу вверх, у нас уже много раз бывали случаи, когда по полдня терялось на поиск проблемы, а потом выяснялось, что связана она с несоответствием версии клиента и сервера (у нас с этим полный зоопарк).
На sql.ru пишут, что надо установить последний patch.
Я написал письмо сисадминам, они сейчас отсутствуют. Пусть разбираются. Может быть, проблема решится легко, а пока я слепил вместо FULL JOINа запрос с UNIONами. Получилось раз в 20 длиннее и непонятнее, но работает.
Спасибо.