Для журнализации требуется наличие определённых полей. Конкретно - стандартного заголовка.
Раз есть поля - их надо заполнять и модифицировать. Причём, вне зависимости от включённости журнализации вообще и по этой таблице в частности. Заполнение, очевидно, требует времени.
Таким образом бездумное включение таблиц в список журналируемых лишь замедлит работу, увеличит объём БД и пр.
Поэтому для некритичных или временных данных журналирование - очевидно лишняя вещь.
Насчёт конфиденциальной информации - вообще говоря права доступа таковыми не являются. Больше того - эта настройка к правам доступа отношения не имеет. Права доступа это то, что в Протекте.
Далее, стандартный заголовок - это набор определённых полей, причём, являющихся первыми полями таблицы. В этой таблице стандартного заголовка нет. Тут нет даже нрека! (то, что в таблице объявлено поле с именем NREC и типом COMP ни разу не делает это поле нреком).
Стало быть, что бы сделать эту таблицу потенциально журналируемой, необходимо в её начало добавить стандартный заголовок.
Пользовательской докомпиляцией словаря это сделать невозможно. Не пользовательская - не для пользователей вообще говоря.
Далее можно было бы объяснить, почему не будет работать ни после прикладной докомпиляции, ни после ручных ковыряний словаря с дальнейшими попытками сэмулировать систему журнализации. Но недосуг. Ковырять словарь нужно стандартными средствами. Стандартными средствами, официально доступными пользователям сделать это невозможно.
Однако эту задачу элементарно решить внешними средствами. Написать к Ораклу свой триггер, журналирующий интересующие изменения в свой (!) журнал.
Список таблиц для журнализации
Модератор: mike
-
- заказчик
- Сообщения: 46
- Зарегистрирован: Вт, 13/01/2009 10:52
- Имя Фамилия: Сергей Головчак
- Откуда: Гипротрубопровод
Заголовка действительно нет. Это задачу усложняет, но не делает ее невыполнимой.
Помимо варианта с журналированием на уровне самого оракла есть еще и третий вариант. Использование программного триггера:
В теле триггера анализируем, что изменилось и куда-нибудь сохраняем. При этом "ломать" БД не потребуется.
PS Кстати при написании ответа через форму (После нажатии кнопки "Ответить") в окне "Обзор темы" отображаются не ФИО, а логины. Теперь знаю кто такой Cruger... ;)
Помимо варианта с журналированием на уровне самого оракла есть еще и третий вариант. Использование программного триггера:
Код: Выделить всё
handler with replace <name> on trigger zar_user before|after update [250]
PS Кстати при написании ответа через форму (После нажатии кнопки "Ответить") в окне "Обзор темы" отображаются не ФИО, а логины. Теперь знаю кто такой Cruger... ;)