CftClub.ru
Клуб специалистов ЦФТ-Банк

Операшка ломает БД
На страницу 1, 2  След.
 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Oracle DBA
Предыдущая тема :: Следующая тема  
Автор Сообщение
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    Ответить с цитатой
Полезность: Нет оценки
Нет, как раз в рабочеее (руками), автомат, который положил БД, сделал как раз во внерабочее Very Happy
Схема IBSO (ЦФТ банк), не Retail
Alkov
Профи
Неподтвержденный


Вступление в Клуб: 23.09.2010
СообщениеСр Май 27, 2015 11:50    Ответить с цитатой
Полезность: Нет оценки
странный реквизит, с подчерком [_CODE] ну и как вариант неверное значение передаётся в P_znach.
у меня варианты кончились Sad
yaffil
Профи
Неподтвержденный


Вступление в Клуб: 18.08.2011
СообщениеСр Май 27, 2015 11:54    Ответить с цитатой
Полезность: Нет оценки
Alkov пишет:
странный реквизит, с подчерком [_CODE] ну и как вариант неверное значение передаётся в P_znach.
у меня варианты кончились Sad


с подчерком [_CODE] - это потому, что иначе не отрабатывае тег КОД на сайте Laughing
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    Ответить с цитатой
Полезность: Нет оценки
Так понятно не через навигатор, я же писал - в джобе Smile, под ИБС стоит задание по расписанию под IBS которая дергает эту операшку с параметрами выше указанными 1 раз ночью.
Вот и хочу понять как можно массово менять по другому или почему падает.
mike24
Участник со стажем
Неподтвержденный


Вступление в Клуб: 24.08.2012
СообщениеСр Май 27, 2015 12:19    Ответить с цитатой
Полезность: Нет оценки
yaffil пишет:
Так понятно не через навигатор, я же писал - в джобе Smile, под ИБС стоит задание по расписанию под 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 дня)
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Oracle DBA Часовой пояс: GMT + 3
На страницу 1, 2  След.
Страница 1 из 2

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru