ORA-04028 !!!!! Что это за зверь? Как ней боротся?
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



ORA-04028 !!!!! Что это за зверь? Как ней... Expand / Collapse
Автор
Сообщение
16.01.2002 18:33
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 17.01.2002 10:28
Сообщ.: 4, Visits: 45
Натолкнулся на такую вот ошибку.
Возникает при попытке выполнить запрос.

ORA-04028 cannot generate diana for object stringstringstringstringstring
Cause: Cannot generate diana for an object because of lock conflict.
Action: Report this error to your support representative.
Сообщ. #739333
16.01.2002 20:43
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 17.04.2003 15:55
Сообщ.: 69, Visits: 760
Как это произошло?
Сообщ. #739341
17.01.2002 10:30
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 17.01.2002 10:28
Сообщ.: 4, Visits: 45
И так сразу оговорюсь, что попрыгав с "бубном" некоторое время вокруг компьютера, я вроде бы избавился от этой ошибки, но все равно ясности нет.
Вот подробное описание проблемы, может кого заинтересует или кто-то знает научное объяснение возникновения проблемы.

У нас на одном сервере крутятся три базы: разработочная, тестовая и эталонная (сделаная по дампу от заказчика). Oracle 7.3.4. (только не надо говорить что нужно переходить на др версию, сами уже давно заказчика уламываем).
И так буквально два дня назад, мы оновили все три базы по дампу от заказчика. И почему-то такая ошибка появилась только на разработочной. :о( лится все на таком запросе


Select S.ID, ZPL_CALCSUMM(S.ID)
from (Select DISTINCT a.ID
from ZPL_VAGENT a,
ZPL_C_VMINUS c
where a.ID= c.ID
and a.ID not in (Select C.CRE_ID
from CREDITORS C,
CREDITORS_HIST CH
where C.ID = CH.ID
and P_OPERDAY between CH.FROMDATE and CH.TODATE
and C.CODE = GetParamByName('AXD_CRE_SALARY'))
) S;


Внутри функции есть запрос который использует вьюху ZPL_C_VMINUS,
связь между вьюхами следующая ZPL_C_VMINUS -> ZPL_VAGENT -> ZPL_VKONTRAGENT
Вылечилось все как я уже говорил выше довольно шаманским способом: я в запросе вместо ZPL_C_VMINUS подставил, собсвенно говоря, текст запроса из которого эта вьюха и образована.
Сообщ. #739382
17.01.2002 10:33
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 17.01.2002 10:28
Сообщ.: 4, Visits: 45
Блин имя функции забыл скопировать
"Внутри функции есть запрос" надо чтать как "Внутри функции ZPL_CALCSUMM есть запрос"
Сообщ. #739383
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 3:19