Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.29;
Скачать: CL | DM;

Вниз

Агрегирующая функция для строк и дат. (Oracle)   Найти похожие ветки 

 
ANB ©   (2005-05-17 15:20) [0]

Кто может подсказать, какими агрегирующими функциями можно получить контрольные суммы для строк и дат ?
Даты я сделал так :
sum (Emt.data + Emt.Vremya / 86400
           - to_date ("01.01.2000", "DD.MM.YYYY")
          )
Строки пока через ASCII(), но так проверяется только первый символ. Нашел хэш MD5, но он только из функции работает, а ее добавлять в рабочую базу как то не очень.


 
Johnmen ©   (2005-05-17 15:25) [1]

1. Суммируются временные интервалы, а не даты. Что конкретно надо ?
2. >но так проверяется только первый символ.
Не могёт тово быть...:)


 
ANB ©   (2005-05-17 15:33) [2]

Надо из каждого поля получить некую контрольную сумму, чтобы потом можно было ее сравнить после патча БД, для проверки его корректности.


 
ANB ©   (2005-05-17 16:16) [3]

И все ??? Никто не знает ???


 
Sergey13 ©   (2005-05-17 16:27) [4]

Я так вообще не понял чего тебе надо. 8-)
Что за патч БД? В чем выражается (не)корректность поля? Почему просто значение поля не сравнить?


 
ANB ©   (2005-05-17 16:33) [5]

Патч - изменение версии. При этом частенько меняется структура таблиц. Я должен проверить, что при этом не потерялась информация. В таблице может быть до 100 миллионов записей. Сравнивать не с чем, так как таблица после апргрейда уже дропнута. То есть, нужно где то сохранить исходные данные. Все таблицу сохранять долго и некуда. Поэтому придумана система контрольных сумм.


 
Val ©   (2005-05-17 17:01) [6]

Круто как все...хеш, контрольные суммы..
Одно мне непонятно - зачем таблицы удалять у людей?


 
ANB ©   (2005-05-17 17:03) [7]


> Одно мне непонятно - зачем таблицы удалять у людей?
- не нужна больше. Данные в другую перенесли.


 
Val ©   (2005-05-17 17:13) [8]

[7], в котором перенесли данные, не вяжется с [5], в котором их не с чем сравнивать, по-моему.
Если вы меняете структуры таблиц то нет особой необходимости их удалять, если же вы меняете структуру БД и данные из некоего монолита разбрасываете по другим таблицам, то разбрасывайте себе спокойно. Оракл(надеюсь и дба тоже) знает, как все восстановить после подобных патчей.


 
ANB ©   (2005-05-17 17:24) [9]


> Val ©   (17.05.05 17:13) [8]
если таблица называлась ECF001 с русскими полями, а потом ее переделали в стандартный вид, то что с ней еще делать, кроме как удалить.
Все нормально работает. Стоит задача тестирования этой работы. На всякий случай.


 
Val ©   (2005-05-17 17:43) [10]

так тестируйте на здоровье. зачем заниматься делом сервера и дба, объясните?


 
ANB ©   (2005-05-17 17:46) [11]


> Val ©   (17.05.05 17:43) [10]
во млин. Ты по сабжу можешь чего нибудь сказать ?
НУ НАДО. МНЕ ЗА ЭТО ДЕНЬГИ ПЛАТЯТ. СТОИТ ЗАДАЧА - ПОСТАВИТЬ ПРОВЕРКУ НА АВТОМАТ.


 
Val ©   (2005-05-17 18:03) [12]

Я вам и говорю вроде по теме - не надо этого делать - не слушаете. Деньги на на что уйдут.
Делается бэкап перед патчами, из бэкапа схема разворачивается на тестовом сервере, на который из рабочей схемы делается дблинк - вот вам нормальне данные до ваших премудростей с реструктуризацией.


 
Reindeer Moss Eater ©   (2005-05-17 21:52) [13]

СТОИТ ЗАДАЧА - ПОСТАВИТЬ ПРОВЕРКУ НА АВТОМАТ.

И что дальше?
Добустим проверка показала, что изменились 16 миллионов записей из общего количества 17 миллионов записей.
Дальше что?


 
ANB ©   (2005-05-18 09:31) [14]


> Дальше что?
- а дальше берем и дрючим программиста, за то, что плохо апргрейд написал или сломал его :)))

> Делается бэкап перед патчами
- и сравнивать придется - запись - запись. 200 миллионов.


 
ANB ©   (2005-05-18 09:39) [15]


> из бэкапа схема разворачивается на тестовом сервере
- нерационально. У нас есть дампы по 30-50 Гб. Когда развернется - отъест почти вдвое больше места. Иметь две копии - просто негде.


 
Anatoly Podgoretsky ©   (2005-05-18 09:40) [16]

Чтой то у вас там не у нас.


 
Sergey13 ©   (2005-05-18 09:42) [17]

2[14] ANB ©   (18.05.05 09:31)
>- а дальше берем и дрючим программиста
Это побочное действие. Дальше восстанавливаем из бэкапа и продолжаем думать. 8-)

Почему недостаточно сравнить просто количество записей например?


 
ANB ©   (2005-05-18 09:46) [18]


> Sergey13 ©   (18.05.05 09:42) [17]
- а я сравниваю. Порешали - решили маловато. Возникла идея контрольных сумм. В принципе, для чисел - работает прекрасно. Чуть хуже с датой, особливо когда переезжали на нормальный формат хранения (в старых версиях дата лежала отдельно, а время - отдельно, а потом их объединили).


> Anatoly Podgoretsky ©   (18.05.05 09:40) [16]
- как всегда. Исторически сложилось. :)))


 
ANB ©   (2005-05-23 10:36) [19]

Для интерисующихся - ответ :
dbms_utility.Get_Hash_Value ()


 
Anatoly Podgoretsky ©   (2005-05-23 10:42) [20]

Страшная эта вещь - исторически.


 
ANB ©   (2005-05-23 10:50) [21]


> Страшная эта вещь - исторически
- да уж. Как приятно писать новый проект, и как неприятно потом с ним же бороться, когда опыта наберешься :)))



Страницы: 1 вся ветка

Текущий архив: 2005.06.29;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.03 c
6-1112077504
|)elphin
2005-03-29 10:25
2005.06.29
Работа с Интернетом


9-1111489083
Xeno
2005-03-22 13:58
2005.06.29
Деформация


14-1117675849
Dyakon_Frost
2005-06-02 05:30
2005.06.29
Геометрия на плоскости


14-1117653659
Aldor
2005-06-01 23:20
2005.06.29
Фотографии со спутника


1-1117948037
Петр
2005-06-05 09:07
2005.06.29
Протоколирование работы программы(трассировка)