Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Контроль сохранности данных - кто-то делает?  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54381
Контроль сохранности данных - кто-то делает?
Механизм контроля - например, вчера было (укрупнённо) по какой-нибудь таблице за прошлый год 2 млн строк, а стало 2млн+1 строка... и/или проверка на суммы
Понимаю, что пишу не совсем понятно...
Да и проверки такие далеко не всё проверят...
Есть ли где статьи (на русском) на эту тему? Программы? Куда бы почитать?
1 сен 06, 14:51    [3082708]     Ответить | Цитировать Сообщить модератору
 Re: Контроль сохранности данных - кто-то делает?  [new]
Sqaimes
Member

Откуда: Украина, Мариуполь
Сообщений: 443
andreymx
Контроль сохранности данных - кто-то делает?

я думаю такой механизм можно чаще встретить в DWH нежели в OLTP там где чаще применяются функции анализа и сбора статистических данных(OLAP...и т.д.)...
У нас же в системе как бы близкое к этому есть, за такими вот случайно "появившимеся" данными следят, точнее мы просто фиксируем эти изменения (точнее конкретно изменненое значение) в отдельную таблицу для возможного возврата, т.к. пользователи сделавшие такие измения несут за это оветсвенность..

Des Radas aider
1 сен 06, 15:17    [3082960]     Ответить | Цитировать Сообщить модератору
 Re: Контроль сохранности данных - кто-то делает?  [new]
Takurava
Member

Откуда:
Сообщений: 1776
Не думаю, что это кто-то реализует - проще при работе с данными запрещать такие дела (типа проводить-исправлять документы задним числом нельзя).
1 сен 06, 15:26    [3083032]     Ответить | Цитировать Сообщить модератору
 Re: Контроль сохранности данных - кто-то делает?  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54381
Takurava
Не думаю, что это кто-то реализует - проще при работе с данными запрещать такие дела (типа проводить-исправлять документы задним числом нельзя).
Это понятно, так всё и сделано.
А вы, например, проводили независимое тестирование своего ПО - можно при желании/случайности или нет? Вдруг вы думаете, что нельзя (как и мы), а дикий юзверь, излазив весь видеокадр, вдруг сможет?
Т.е. если бы была доп. ступень контроля... или как это называется...
1 сен 06, 15:47    [3083233]     Ответить | Цитировать Сообщить модератору
 Re: Контроль сохранности данных - кто-то делает?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 63951
Блог
andreymx
Вдруг вы думаете, что нельзя (как и мы), а дикий юзверь, излазив весь видеокадр, вдруг сможет?

alter table XYZ add constraint check_change_period 
  check ( trunc ( date_created, 'MM' ) = trunc ( date_changed, 'MM' )) ;

Более глобально - всякие FGAC на изменения и вплоть до alter tablespace readonly.

andreymx
Т.е. если бы была доп. ступень контроля... или как это называется...

Имхо малоосмысленно. Допустим, определили мы, что данные порушились. И что? Будем тщательно просматривать 2000001 строку, пытаясь определить, какая же из них лишняя? Наверное все же пойдем смотреть всякие date_changed, журналы и прочие грязные следы.

А тогда вопрос - почему бы не смотреть их непосредственно? Зачем подсчитывать количества/cуммы?
1 сен 06, 15:55    [3083302]     Ответить | Цитировать Сообщить модератору
 Re: Контроль сохранности данных - кто-то делает?  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54381
softwarer
А тогда вопрос - почему бы не смотреть их непосредственно? Зачем подсчитывать количества/cуммы?
а чтоб как раз знать, что их надо посмотреть.
Кстати, я пока только эту проблему для себя исследую, так что мне интересны любые варианты
1 сен 06, 16:01    [3083359]     Ответить | Цитировать Сообщить модератору
 Re: Контроль сохранности данных - кто-то делает?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 63951
Блог
andreymx
а чтоб как раз знать, что их надо посмотреть.

Хм. Давайте рассмотрим два варианта:

1. Вы можете выполнить запрос и увидеть "неправильные строки". Если все правильно, вернется ноль строк.

2. Вы должны сделать дополнительные таблицы, реализовать логику их заполнения, регулярно выполнять некий расчет и сверку его данных с таблицами - и все это ради того, чтобы узнать, нужно ли выполнять запрос из пункта 1.

Имхо выбор очевиден :)

Я сделал примерно так: в настроечной таблице хранятся тексты запросов. Контрольный job по одному выполняет их, и если вдруг вернулась непустая выборка - кидает ее данные мне в почту. Содержание письма - название проверки и список id найденных (неправильных) записей.
1 сен 06, 16:10    [3083418]     Ответить | Цитировать Сообщить модератору
 Re: Контроль сохранности данных - кто-то делает?  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54381
softwarer
Я сделал примерно так: в настроечной таблице хранятся тексты запросов. Контрольный job по одному выполняет их, и если вдруг вернулась непустая выборка - кидает ее данные мне в почту. Содержание письма - название проверки и список id найденных (неправильных) записей.
Вот как раз хотелось бы послушать об алгоритме "текстов запросов в настроечной таблице".
Там только trunc(date_created,'MM')<>trunc(date_changed,'MM') или что-то еще?
1 сен 06, 16:15    [3083458]     Ответить | Цитировать Сообщить модератору
 Re: Контроль сохранности данных - кто-то делает?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 63951
Блог
Там все, что приходило мне в голову и оказывалось полезным.

Прямо сейчас мне трудно перечислить варианты, поскольку с одного места работы, где я такое сделал, я давно ушел, а на текущем еще не накопилось данных для таких проверок, соответственно не занимался этим вопросом. Но проверки действительно самые разные, just for example

select id from table minus select id from view_under_this_table ;

select id from table where record_type = N and data_for_this_record_type is null ;

select t1.id from t1, t2 where t1.t2_id = t2.id and t1.some_other_id <> t2.some_other_id ;
1 сен 06, 16:29    [3083557]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить