Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Ср Май 27, 2015 09:39  Операшка ломает БД |
|
Полезность: Нет оценки
|
Код: |
nastroyka ref [FP_TUNE];
i number:=0;
code_len const pls_integer := ::[FP_TUNE].[VARS].code_len; /*длина поля для хранения значения критерия поиска*/
begin
begin
select x(x) in ::[FP_TUNE] where x.[_CODE]=P_kode into nastroyka;
exception when others then nastroyka:=null;
end;
if nastroyka is not null then
for edit in ::[FP_TUNE_VAL]all where edit%collection=nastroyka.[VALUES] loop
if P_all_znach then edit.[EDIT#AUTO](
P_znach
,edit.[CANON_VALS]
);
i:=i+1;
else if to_number(substr(edit.[CANON_VALS],code_len*1+1,code_len)) not in (32303141,32303187,8935328,8935362,32303095) --Пользователи критерий 2
and nastroyka.[_code]='INS_DAYS' --Код настройки
then edit.[EDIT#AUTO](
P_znach
,edit.[CANON_VALS]
);
i:=i+1;
end if;
end if;
end loop;
end if;
end;
|
Суть операшки была поменять значение настройки INS_DAYS на нужное количество дней всем кроме определённых пользователей. Но при запуске операшки в джобе падает база (других вариантов почему база падает у меня нет):
ORA-04031: unable to allocate 32 bytes of shared memory ("shared pool","unknown object","KGLH0^1c3b70a6","kglHeapInitialize:temp")
Что тут такого дикого в операшки? И какие ещё способы есть поменять всем сразу количество дней вставки, кроме ручного. Общая настройка тоже не подходит, нужно именно значение по пользователям менять массово. |
|
 |
Alkov Профи
Вступление в Клуб: 23.09.2010
|
Ср Май 27, 2015 10:21   |
|
Полезность: Нет оценки
|
[FP_TUNE]..., у тебя на настройке случайно не стоит галочка "Кэшировать настройку" ?
Если стоит , то попробуй руками поменять эту настройку и увидишь какой атас будет на базе , хотя бы в top activity... Все сессии открытые будут перечитывать значение этой настройки... |
|
 |
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Ср Май 27, 2015 10:26   |
|
Полезность: Нет оценки
|
Да, стоит. Но мы каждый день руками меняем много, никаких проблем не замечено. Мне бы понять может быть в операшке у меня атас какой. |
|
 |
Alkov Профи
Вступление в Клуб: 23.09.2010
|
Ср Май 27, 2015 10:38   |
|
Полезность: Нет оценки
|
Может вы меняете массово в нерабочее время ? Или валиться на тестовой ? Схема я так понял Retail ?
Я бы в пакет посмотрел , во что код преобразовался, а то мож комиплятор накрутил чего там... |
|
 |
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Ср Май 27, 2015 10:46   |
|
Полезность: Нет оценки
|
Нет, как раз в рабочеее (руками), автомат, который положил БД, сделал как раз во внерабочее
Схема IBSO (ЦФТ банк), не Retail |
|
 |
Alkov Профи
Вступление в Клуб: 23.09.2010
|
Ср Май 27, 2015 11:50   |
|
Полезность: Нет оценки
|
странный реквизит, с подчерком [_CODE] ну и как вариант неверное значение передаётся в P_znach.
у меня варианты кончились  |
|
 |
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Ср Май 27, 2015 11:54   |
|
Полезность: Нет оценки
|
Alkov пишет: | странный реквизит, с подчерком [_CODE] ну и как вариант неверное значение передаётся в P_znach.
у меня варианты кончились  |
с подчерком [_CODE] - это потому, что иначе не отрабатывае тег КОД на сайте
P_znach передаю цифру 0,1,2,3 .... на которую надо заменить
P_kode соответственно INS_DAYS |
|
 |
Alkov Профи
Вступление в Клуб: 23.09.2010
|
Ср Май 27, 2015 12:05   |
|
Полезность: Нет оценки
|
Ну не знаю тогда, возвращаюсь к тригеру на запись настройки...
Хоть и говоришь что у вас нормально всё...может ты не через навигатор запускаешь эту операцию , или в отдельной сессии или ещё как-то иначе от пользователей у которых всё нормально ? |
|
 |
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Ср Май 27, 2015 12:12   |
|
Полезность: Нет оценки
|
Так понятно не через навигатор, я же писал - в джобе , под ИБС стоит задание по расписанию под IBS которая дергает эту операшку с параметрами выше указанными 1 раз ночью.
Вот и хочу понять как можно массово менять по другому или почему падает. |
|
 |
mike24 Участник со стажем
Вступление в Клуб: 24.08.2012
|
Ср Май 27, 2015 12:19   |
|
Полезность: Нет оценки
|
yaffil пишет: | Так понятно не через навигатор, я же писал - в джобе , под ИБС стоит задание по расписанию под IBS которая дергает эту операшку с параметрами выше указанными 1 раз ночью.
Вот и хочу понять как можно массово менять по другому или почему падает. |
Мы используем справочник USER_INS_IN_PAST (Пользователи, имеющие динамический доступ в прошлые дни). С ним удобнее работать.
И в джобе висит операция что-то типа
Код: | v_date_od [DATE];
v_fil ref [BRANCH];
begin
v_fil := ::[BRANCH]([CODE_]='003');
v_date_od := v_fil.[OP_DATE];
if [CALENDAR].Check_Date('HOLIDAYS', v_date_od)='0'
and [CALENDAR].Check_Date('HOLIDAYS', v_date_od - 1)='1' then -- сегодня первый рабочий день
::[USER_INS_IN_PAST].[OPN_IN_PAST](v_fil, null); -- раздадим расширенный доступ
end if;
end;
|
|
|
 |
Ghost Профи
Вступление в Клуб: 24.11.2007
|
Ср Май 27, 2015 12:20   |
|
Полезность: Нет оценки
|
В параметре CLS_NO_CACHE_PIPES в админе словаря что указано? Нет ли там FP_TUNE? |
|
 |
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Ср Май 27, 2015 12:28   |
|
Полезность: Нет оценки
|
Ghost пишет: | В параметре CLS_NO_CACHE_PIPES в админе словаря что указано? Нет ли там FP_TUNE? |
BRANCH,CL_PART,DEPART |
|
 |
Ghost Профи
Вступление в Клуб: 24.11.2007
|
Ср Май 27, 2015 12:33   |
|
Полезность: Нет оценки
|
yaffil пишет: | Ghost пишет: | В параметре CLS_NO_CACHE_PIPES в админе словаря что указано? Нет ли там FP_TUNE? |
BRANCH,CL_PART,DEPART |
Предположение отпадает. |
|
 |
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Ср Май 27, 2015 12:40   |
|
Полезность: Нет оценки
|
mike24 пишет: | Мы используем справочник USER_INS_IN_PAST (Пользователи, имеющие динамический доступ в прошлые дни). С ним удобнее работать. |
А в чём разница между расширенным и стандартным? Только в том, какую операцию запустишь в 1м случае из поля стандартного значения заполнит INS_DAYS во втором из расширенного?
Т.е. делает одно и тоже, только значение берёт из разных переменных? |
|
 |
mike24 Участник со стажем
Вступление в Клуб: 24.08.2012
|
Ср Май 27, 2015 12:45   |
|
Полезность: Нет оценки
|
yaffil пишет: |
А в чём разница между расширенным и стандартным? Только в том, какую операцию запустишь в 1м случае из поля стандартного значения заполнит INS_DAYS во втором из расширенного?
Т.е. делает одно и тоже, только значение берёт из разных переменных? |
именно так
дальневосточный филиал просыпается раньше нас, поэтому ему автоматом даем расширенный доступ (3 дня) |
|
 |
|