Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Найти причину выключения триггеров / 14 сообщений из 14, страница 1 из 1
02.05.2017, 12:26
    #39447235
lYY
lYY
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти причину выключения триггеров
Приветствую всех!

Под наблюдением порядка 30 серверов Oracle 10g.
Периодически на каком-нибудь из серверов выключается несколько триггеров. Логика приложений нарушается.
Проверяю запросом:

Код: plsql
1.
2.
3.
4.
select * from all_triggers t
where
owner='X'
and status <> 'ENABLED'


Программисты не признаются)
Как найти и отследить, по какой причине выключаются триггеры?

Пример триггера:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE OR REPLACE TRIGGER "X"."t1" before insert or update of StoreUnit
on SLArtScaleMap
for each row
declare
	vCount integer;
begin
	select count(*) into vCount from SVStoreUnits
		where BarCode = :new.StoreUnit;
	if (vCount = 0) then
		Core.Fail((-20000-140));
	end if;
end;


...
Рейтинг: 0 / 0
02.05.2017, 12:34
    #39447242
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти причину выключения триггеров
lYYПрограммисты не признаются)Что они там делают?
lYY Как найти и отследить, по какой причине выключаются триггеры? Аудит.
...
Рейтинг: 0 / 0
02.05.2017, 12:38
    #39447248
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти причину выключения триггеров
lYYПрограммисты не признаются)
Терморектальный криптоанализ + аудит
...
Рейтинг: 0 / 0
02.05.2017, 12:39
    #39447249
lYY
lYY
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти причину выключения триггеров
ElicЧто они там делают?
Это торговля, постоянно что-то дописывают.
Но закономерности я не нахожу.
Несколько лет такого не было, а сейчас если не каждый день, то через день где нибудь.
...
Рейтинг: 0 / 0
02.05.2017, 12:39
    #39447250
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти причину выключения триггеров
не пускать обезьяну с гранатой на продакт
...
Рейтинг: 0 / 0
02.05.2017, 13:09
    #39447281
Бракованный финский угорь
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти причину выключения триггеров
andreymxне пускать обезьяну с гранатой на продакт

20449370

О таком речь?
...
Рейтинг: 0 / 0
02.05.2017, 13:29
    #39447316
Lary Denis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти причину выключения триггеров
А какие события могут "отключить" триггер? Исключая варианты инвалидации триггера, и явного disable.
...
Рейтинг: 0 / 0
02.05.2017, 13:34
    #39447322
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти причину выключения триггеров
да, бывает, отключаю триггера на продакте
когда падает заявка в сервис-деск - пля, просчитали не с тем коэффициентом, верните данные на 08:00
ну, возвращаю
но потом всегда включаю
каким образом?
обязательно пишу скрипт, плюс зову постановщика - просмотреть вдвоём
сначала данные в левую таблицу
Код: sql
1.
create table a as select * from b  as of timestamp(trunc(sysdate)+interval '8' hour) where ***


затем уже
Код: plsql
1.
2.
3.
4.
5.
6.
alter trigger b_del disable;
alter trigger b_ins disable;
delete b where ***;
insert into b select * from a;
alter trigger b_del enable;
alter trigger b_ins enable;

прогоняю на тесте, затем в продакт
но, конечно, ошибки случаются
...
Рейтинг: 0 / 0
02.05.2017, 13:38
    #39447330
Бракованный финский угорь
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти причину выключения триггеров
lYY Как найти и отследить, по какой причине выключаются триггеры?
Повесить триггер на событие отключения триггера.
...
Рейтинг: 0 / 0
02.05.2017, 14:20
    #39447365
lYY
lYY
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти причину выключения триггеров
Бракованный финский угорьlYY Как найти и отследить, по какой причине выключаются триггеры?
Повесить триггер на событие отключения триггера.
Триггеров много.

Их точно не вручную выключают, какая-то "инвалидация" происходит. Это из за какого-то события/ошибки происходит.
...
Рейтинг: 0 / 0
02.05.2017, 14:37
    #39447373
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти причину выключения триггеров
lYYЭто из за какого-то события/ошибки происходит.Продолжай верить.
...
Рейтинг: 0 / 0
02.05.2017, 14:46
    #39447377
lYY
lYY
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти причину выключения триггеров
Покопался в исходниках у программистов, нашел команды на изменение состояния триггеров.

EliclYYЭто из за какого-то события/ошибки происходит.Продолжай верить.
Был не прав)

Всем спасибо!
...
Рейтинг: 0 / 0
03.05.2017, 15:44
    #39447971
stax..
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти причину выключения триггеров
lYYПриветствую всех!

Под наблюдением порядка 30 серверов Oracle 10g.
Периодически на каком-нибудь из серверов выключается несколько триггеров. Логика приложений нарушается.
Проверяю запросом:

Код: plsql
1.
2.
3.
4.
select * from all_triggers t
where
owner='X'
and status <> 'ENABLED'


Программисты не признаются)
Как найти и отследить, по какой причине выключаются триггеры?

Пример триггера:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE OR REPLACE TRIGGER "X"."t1" before insert or update of StoreUnit
on SLArtScaleMap
for each row
declare
	vCount integer;
begin
	select count(*) into vCount from SVStoreUnits
		where BarCode = :new.StoreUnit;
	if (vCount = 0) then
		Core.Fail((-20000-140));
	end if;
end;



імхо
у Вас не триггера отключают, они "неправмльные"
попробуйте в паралельных сессиях удалять/добавлять записи

select count(*) into vCount from SVStoreUnits
where BarCode = :new.StoreUnit;

не видит незакомиченные

"переодически" у Вас не будет срабытывать Core.Fail

.....
stax
...
Рейтинг: 0 / 0
03.05.2017, 17:59
    #39448093
Alexander_Ttl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти причину выключения триггеров
Похоже на попытку подменить триггером внешний ключ.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Найти причину выключения триггеров / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]