Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Вниз

Агрегирующая функция для строк и дат. (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.051 c
1-1118046072
Ньюб
2005-06-06 12:21
2005.06.29
Access Violation at address


1-1117654366
Drow
2005-06-01 23:32
2005.06.29
непонятный Error


1-1118086794
Pasha L
2005-06-06 23:39
2005.06.29
openDialog


3-1115988123
Andarko
2005-05-13 16:42
2005.06.29
Создать поле


4-1115666441
n0wheremany
2005-05-09 23:20
2005.06.29
Информация о процессе





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский