|
08.08.2004, 12:07 | #1 |
Участник
|
Как выполнять дефрагментирование RecID
Вопрос возник после реплики Yaroslav Batozskiy
http://www.axforum.info/forums/showt...0348#post40348 Цитата:
Например при дефрагментировании RecId я обнаружил, что есть поля со ссылками по Recid, тип которых не наследуется от RecId
Именно из-за того, что есть поля, которые содержат ссылку на RecID, но не унаследованы от RecIdRef. А кто как делает дефрагментацию RecID? И надо ли делать эту дефрагментацию? Yaroslav Batozskiy, очень хотелось бы услышать ваше мнение. |
|
|
За это сообщение автора поблагодарили: alex55 (1). |
25.07.2006, 09:17 | #2 |
Участник
|
Здравстуйте
помогите решить проблему на данный момент поле nextVal в таблице SystemSequences равно -13 соответсвенно в базе работать невозможно ругается на дубрирование записи и не создает.... как решить проблему? |
|
25.07.2006, 09:55 | #3 |
злыдень
|
Цитата:
Сообщение от velk
Здравстуйте
помогите решить проблему на данный момент поле nextVal в таблице SystemSequences равно -13 соответсвенно в базе работать невозможно ругается на дубрирование записи и не создает.... как решить проблему?
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ |
|
25.07.2006, 10:03 | #4 |
Участник
|
Цитата:
Сообщение от Recoilme
Обычной перезагрузкой )) АОС перезапустить
А я думал что RecID кончились :-((( |
|
25.07.2006, 10:52 | #5 |
злыдень
|
Цитата:
Сообщение от velk
Здравстуйте
помогите решить проблему на данный момент поле nextVal в таблице SystemSequences равно -13 соответсвенно в базе работать невозможно ругается на дубрирование записи и не создает.... как решить проблему?
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ |
|
25.07.2006, 11:34 | #6 |
Участник
|
Цитата:
Сообщение от Recoilme
-114 поставьте
|
|
25.07.2006, 12:10 | #7 |
Участник
|
PHP код:
сейчас установили 10 |
|
25.07.2006, 10:06 | #8 |
злыдень
|
Рано радуетесь)) Вот как 400000 строк заказов в день научитесь разносить так и приходите за 64 битным рекид
Скорей всего у Вас просто псевдо сцылочностная целкостность нарушилась.
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ |
|
25.07.2006, 10:18 | #9 |
Участник
|
Мдааа сложно
может подскажете как ее решить...:-( а то база стоит работать не возможно и как найти свободный диапазон RECID чтоб сместить его? |
|
25.07.2006, 10:23 | #10 |
злыдень
|
Цитата:
Сообщение от velk
Мдааа сложно
может подскажете как ее решить...:-( а то база стоит работать не возможно и как найти свободный диапазон RECID чтоб сместить его?
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ |
|
25.07.2006, 10:31 | #11 |
Участник
|
Цитата:
Сообщение от Recoilme
Старт/стоп AOS а не помог???
|
|
25.07.2006, 10:44 | #12 |
Иван Захаров
|
Цитата:
Сообщение от velk
Мдааа сложно
может подскажете как ее решить...:-( а то база стоит работать не возможно и как найти свободный диапазон RECID чтоб сместить его? http://axforum.info/forums/showthrea...992#post110992 По результатам телефонного митинга с John McBride (менеджер команды разработки) и Mathieu Kemenovic (глобальная служба поддержки) мне подтвердили что они ничего менять в 3.0 не будут (и даже не будут делать private hot-fix) и предоставлили набор SQL-скриптов, которые ищут большие "дырки" последовательности идентификаторов записей и используют их. Данные скрипты неавтоматические и необходимо выполнять ряд шаманских танцев с бубнами... . |
|
25.07.2006, 10:58 | #13 |
злыдень
|
Потом выгрузите в текстовый файд список всех таблиц
(Встаньте на список таблиц а энтерпрайзменеджере и экспорт лист) на любом языге нопишите select min(recid) from "тут_ваша_таблица" если с язаком сложно - откройте список таблиц в экселе , добавьте колонку про селект , СЦЕПИТЬ(а,б) и выполните этот скрипт из кверианалайзера например , Выгрузите результаты запроса в ексель, например и посмотрите минимум, это и буде Ваш nextVal СОРРИ: сумбурно очень, но примерно так я бы делал ибо не знаю как список всех таблиц например запросом получить и т.п.
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ |
|
25.07.2006, 12:18 | #14 |
Участник
|
и сместили значение nextVal в обратную сторону
промежуток RecId взяли из LedgerTrans вроде бы пошло но проблема в том что в таблице LedgerTrans есть этот промежуток RecId значит эти RecId где то были использованы... и если будем делать дефрагментанцию то корректно либудет произведена она? |
|
25.07.2006, 13:02 | #15 |
Иван Захаров
|
Цитата:
Сообщение от velk
... если будем делать дефрагментанцию то корректно либудет произведена она?
Администрирование\Периодические операции\SQL Администрирование\Проверка кодов записей. (Classes\SysRecIdRepair) Он сам выстраивает в рамках компании все записи последовательно и перенумеровывает их. Насколько результат работы данного средства будет положительным зависит от размера базы, мощности серверов и прочего. Предостережение: Не стоит впадать в крайности и сразу запускать данную обработку в production environment - необходимо сделать копию "боевой" версии. Кроме того, если Вы используете виртуальные компании - следует особо внимательно проверить результаты работы данного механизма - если у Вас таблицы, со связями по RecId сделаны "общими". |
|
25.07.2006, 14:29 | #16 |
Участник
|
Виртуальных компаний нет....слава богу...
база архивируется каждый день размер её 40Гб сервер 2-х процессорный XEON |
|
25.07.2006, 16:31 | #17 |
Иван Захаров
|
Цитата:
Сообщение от velk
Виртуальных компаний нет....слава богу...
база архивируется каждый день размер её 40Гб сервер 2-х процессорный XEON Есть несколько способов идентификации и лечения проблемы, но они скорее представляют собой "сакральные знания" (как любят говорить в одной цветочной компании - "конкурентные преимущества"), которые на форуме выкладывать смысла не имеет. Вот, например, Yaroslav Batozskiy, будучи представителем данной цветочной компании, кратко описывал методы решения данной проблемы с намеком продажу всем желающим (см. выше). А можно поинтересоваться, Вы сами внедряете (внутренний проект) или пользуетесь услугами консультантов? Если Вы работаете с внедренцем - адресуйте вопрос ему - ведущий разработчик должен решить проблему. В любом случае Вам нужен профессионал который через это "проходил" и данную проблему решал неоднократно. |
|
24.08.2006, 11:16 | #18 |
Участник
|
Цитата:
Сообщение от ziva
Есть несколько способов идентификации и лечения проблемы, но они скорее представляют собой "сакральные знания" (как любят говорить в одной цветочной компании - "конкурентные преимущества"), которые на форуме выкладывать смысла не имеет.
Вот, например, Yaroslav Batozskiy, будучи представителем данной цветочной компании, кратко описывал методы решения данной проблемы с намеком продажу всем желающим (см. выше). Ziva, а почему эту известную компанию называют "цветочной" ? Давно уже не в теме, но попробую вспомнить, чего я тогда наваял. 1. Берем связи по recid из словаря--формируем таблицу связей. 2. Запускаем анализатор БД. Он полчаса шуршит, и выдает такую же таблицу, как в п.1., но с дополнительной колонкой "Вероятность". Там, где вероятности меньше процентов 75 -- отбрасываем сразу. Осталось 5...10 строк. Смотрим данные. На тех клиентах, где я это делал -- по 2...3 связи из этих 10 предполагаемых -- это реальные связи и кастом код разработчика, которые они не отразили в типах полей и которые надо врукопашную добавить в таблицу, полученную в п.1. Остальные--случайные совпадения 3. Запускаем дефрагментатор. Все. А в чем вопрос-то ? П. 1 и 3 реализуются тривиально на T-SQL, причем для первого, по моему, достаточно одного select'а. В смысле, алгоритм тривиальный, а клаву топтать надо будет долго. П.2 имеет смысл, если кастом-кода много, приложение старое, и источники знаний уже покинули компанию. Если разработчики здесь--то недокументированные связи извлекаем из голов. |
|
24.08.2006, 12:21 | #19 |
Иван Захаров
|
Цитата:
Сообщение от Kasper
Ziva, а почему эту известную компанию называют "цветочной" ?
|
|
01.08.2006, 08:21 | #20 |
Участник
|
а может кто посоветует как провести процедуру дефрагментации несколькими этапами?
у нас база уходит в down и уже дня три - четыре никакого эффекта |
|