Список таблиц для журнализации

Инсталляция, обновления, нюансы БД, администрирование системы

Модератор: mike

cruger
топ-софт
Сообщения: 566
Зарегистрирован: Пт, 21/09/2007 15:19
Имя Фамилия: Фёдор Терсин
Откуда: Галактика Софт
Контактная информация:

Сообщение cruger »

Для журнализации требуется наличие определённых полей. Конкретно - стандартного заголовка.
Раз есть поля - их надо заполнять и модифицировать. Причём, вне зависимости от включённости журнализации вообще и по этой таблице в частности. Заполнение, очевидно, требует времени.
Таким образом бездумное включение таблиц в список журналируемых лишь замедлит работу, увеличит объём БД и пр.
Поэтому для некритичных или временных данных журналирование - очевидно лишняя вещь.
Насчёт конфиденциальной информации - вообще говоря права доступа таковыми не являются. Больше того - эта настройка к правам доступа отношения не имеет. Права доступа это то, что в Протекте.

Далее, стандартный заголовок - это набор определённых полей, причём, являющихся первыми полями таблицы. В этой таблице стандартного заголовка нет. Тут нет даже нрека! (то, что в таблице объявлено поле с именем NREC и типом COMP ни разу не делает это поле нреком).
Стало быть, что бы сделать эту таблицу потенциально журналируемой, необходимо в её начало добавить стандартный заголовок.

Пользовательской докомпиляцией словаря это сделать невозможно. Не пользовательская - не для пользователей вообще говоря.

Далее можно было бы объяснить, почему не будет работать ни после прикладной докомпиляции, ни после ручных ковыряний словаря с дальнейшими попытками сэмулировать систему журнализации. Но недосуг. Ковырять словарь нужно стандартными средствами. Стандартными средствами, официально доступными пользователям сделать это невозможно.

Однако эту задачу элементарно решить внешними средствами. Написать к Ораклу свой триггер, журналирующий интересующие изменения в свой (!) журнал.
m0p3e
заказчик
Сообщения: 46
Зарегистрирован: Вт, 13/01/2009 10:52
Имя Фамилия: Сергей Головчак
Откуда: Гипротрубопровод

Сообщение m0p3e »

Заголовка действительно нет. Это задачу усложняет, но не делает ее невыполнимой.

Помимо варианта с журналированием на уровне самого оракла есть еще и третий вариант. Использование программного триггера:

Код: Выделить всё

handler with replace <name> on trigger zar_user before|after update [250]
В теле триггера анализируем, что изменилось и куда-нибудь сохраняем. При этом "ломать" БД не потребуется.

PS Кстати при написании ответа через форму (После нажатии кнопки "Ответить") в окне "Обзор темы" отображаются не ФИО, а логины. Теперь знаю кто такой Cruger... ;)
vadim
топ-софт
Сообщения: 197
Зарегистрирован: Чт, 06/09/2007 17:38
Имя Фамилия: Вадим Володько
Откуда: ТопСофт
Контактная информация:

Сообщение vadim »

Сергей, зайдите на форум незалогиненным, и Вы узнаете всех остальных :)
Ged
топ-софт
Сообщения: 76
Зарегистрирован: Вс, 16/09/2007 10:23
Имя Фамилия: Леонид Поликутин
Откуда: Галактика СПб
Контактная информация:

Сообщение Ged »

Должна журналироваться - это настройка прав доступа к подразделениям по ЗП.
На самом деле это не так.
ZAR_USER - это буферная таблица , в которую ложатся данные из общесистемных настроек перед запуском какого либо процесса, чтобы постоянно не обращаться к реестру.
Ответить