Имя: Пароль:
1C
 
Разрушение DBF-базы
0 AlexSTAL
 
30.01.06
07:29
Всем привет!

В субботу после двух часов работы на одном из компьютеров выскакивает примерно следующая ошибка: "...Codebase...Index..." и пропадают проводки во всех операциях. Ну думаю всё, пипец... Быстро всех выгоняю, удаляю физически все CDX-файлы, запускаю реиндексацию (она занимает чуть больше часа). Все заходят в базу, но через пять минут на другом компе эта же ошибка!

Говорю всем - на этом ваш рабочий день закончился :-), пишите всё на бумаге (потом внесёте)!

Первым делом запускаю тест оперативки (6 часов - 3 полных прогона) - ни одного намёка... Затем HDD - всё в норме... Остаётся (по моему мнению) только одно - сама база! Удаляю я опять все CDX, запускаю полный контроль, пересчёт, проверку - ни одной ошибки... Выгружаю базу и загружаю в другой каталог - практически ничем по размеру не отличается...

Сейчас 3 минут уже все работают в SQL-базе, пока тьфу-тьфу-тьфу всё нормально, телефон на столе не подпригивает...

Вот я и хочу узнать, не ужели у меня DBF-база достигла своего предела стабильной работы (или физического предела)???
Наверняка, кроме размера самого файла (более 2 гиг), на это влияет и кол-во строк в одном DBF-фале? А может и сама структура? Размер моей базы на момент краха:
DBF: 4 116 370 847
CDX: 1 829 090 304
Всего: 5 945 461 151
Из них:
1 481 735 692 1SENTRY.DBF
 755 029 415 1SACCSEL.DBF
 599 197 779 1SSBSEL.DBF
 476 158 464 1SENTRY.CDX
 454 624 256 1SACCSEL.CDX
 424 482 304 1SSBSEL.CDX
 287 741 222 DT5370.DBF
 269 622 222 1SBKTTL.DBF
 180 408 832 1SCRDOC.CDX
 152 617 468 DH5370.DBF
  96 610 746 1SCRDOC.DBF
  95 895 749 DT4961.DBF
  95 041 536 1SBKTTL.CDX
  92 772 864 1SJOURN.CDX
  77 840 974 1SJOURN.DBF
  63 885 138 1SOPER.DBF
  53 197 312 1SOPER.CDX
  ...

Тех.инфо: XEON, терминал, RAID 15000, 4 Гига, 20-25 пользователей
1 Obed
 
30.01.06
07:44
обычно базу размером с гиг-полтора обрезают
2 Vint Kras
 
30.01.06
07:45
(1) кто ?
3 Андрюха
 
30.01.06
07:46
(0) Разбиение какое FAT32 или NTFS?
4 Андрюха
 
30.01.06
07:47
(3)+ Если FAT, то достигнут максимальный размер файла - 4Гб с хвостиком. Перекидывай базу на NTFS и работай дальше.
5 Vint Kras
 
30.01.06
07:47
(4) где ?
6 Череп
 
30.01.06
07:48
(5) На жёстком диске с базой.
7 Андрюха
 
30.01.06
07:49
(5) На жёстком диске с базой.
8 Vint Kras
 
30.01.06
07:51
(6,7) какой ?
самый большой не дотягивает до ограничения по ДБФ...
9 AlexSTAL
 
30.01.06
07:51
Вы прикалываетесь что ли??? Какой FAT???
Если нужны данные за весь период - никто базу обрезать не будет
10 smaharbA
 
30.01.06
07:51
(4) Где ?
11 Череп
 
30.01.06
07:52
fat32 - максимайный размер файла 4 гига.
DBF: 4 116 370 847
правильно говорит Андрюха.
12 AlexSTAL
 
30.01.06
07:53
(11) Читать не умеете?? Эта сумма файлов DBF: 4 116 370 847
13 Vint Kras
 
30.01.06
07:53
(11) чукча, однако, не читатель, чукча писатель....
14 smaharbA
 
30.01.06
07:53
(11) неправильно
15 Vint Kras
 
30.01.06
07:54
(12) сеть наверно...
16 Череп
 
30.01.06
07:55
(12) Блин, точно. А всётаки файловая система какая?
17 Бешенная Нога
 
30.01.06
07:55
тестирование и исправление?
18 AlexSTAL
 
30.01.06
07:56
(15) Терминал
(16) NTFS, куча аппаратных раидов...
(17) Без ошибок каждую ночь, примерно 7 часов занимает
19 HagMan
 
30.01.06
07:58
(0) Сорее всего достигнут именно физический предел формата DBF.
Наблюдал подобную ситуацию дважды (и в 1С7.7 и в БЕСТ4).
У формата DBF кроме ограничения на размер файла (до 2 Гб) существует обграничение на количество индексных элементов.
При приближении какого-нибудь файла к размеру 2Гб начинали возникать проблемы с индексами. Переиндексация спасала, но не надолго. Через некоторое время работы опять выскакивала ошибка по поводу индексов. Причем чем дальше рос файл, тем чаще ошибка.
Фактически происходило следующее. В какой-то момент кончались свободные индексы в системе и при попытки добавления новой записи в DBF-файл системе не удавалось получить индекс и выскакивало сообщение об ошибке.

То что у тебя это произошло достаточно рано - это просто невезение.
Но со временем, подобная ситуация будет возникать постоянно.
Такая штука начинает происходить, если файл DBF около 1.5 Гб или больше. От этого временно может защить постоянная переиндексация. Но только временно.

Либо обрезай базу, либо переходи на SQL. Время у тебя пока есть.
20 Vint Kras
 
30.01.06
07:58
(18) один чёрт, у тебя летит СDХ, туда копать надо....
21 Бешенная Нога
 
30.01.06
08:00
а перед Скулем религиозный страх?
или понятия не позволяют?
22 AlexSTAL
 
30.01.06
08:03
(21) Для скуля необходим выделенный сервак, на него деньги не дают. И к тому же, даже при наличии выделенного сервака скорость работы в DBF выше (не про отчёты).
Сейчас уже час все работают в SQL, размер базы 12 054 268 789 байт (только MDF), но загрузка процессоров временами на пределе...
Поживём - посмотрим
23 Бешенная Нога
 
30.01.06
08:06
дык напугай - дайте денег или в один момент
злой бог 1С (точнее его зам 1СДБФ) вас покарает
и что надо молиться на нового бога 1Скуль,
но для этго надо принести в жертву 2000$ на сервак...
24 AlexSTAL
 
30.01.06
08:07
(23) В крайнем случае скажут - режь!
25 Бешенная Нога
 
30.01.06
08:08
сам же сказал - резать нельзя.
26 AlexSTAL
 
30.01.06
08:09
(25) Резать нельзя для пользователей, бухгалтерии, а начальство если скажет "режь!" то неудобство для пользователей отойдёт на второй план
27 Бешенная Нога
 
30.01.06
08:11
как я понял проблема - критический размер ДБФ базы,
выход или скуль или обрезание.
значит обрезание
28 Андрюха
 
30.01.06
08:12
А что если SQL на пользовательскую тачку поставить?
29 AlexSTAL
 
30.01.06
08:14
(28) Рассмешил
30 Бешенная Нога
 
30.01.06
08:14
ага и движок от камаза в Оку засунь
31 Андрюха
 
30.01.06
08:17
Ну мы же не знаем какие тачки у пользователей. Это раз. А два - что это за машина "XEON, RAID 15000, 4 Гига"? Почему бы на неё не поставить?
32 Бешенная Нога
 
30.01.06
08:18
кстати, а почему бы тебе скуль на этот сервак не поставить?
33 AlexSTAL
 
30.01.06
08:19
(31) Потому что на ней терминал, FireWall и много другой хни
34 AlexSTAL
 
30.01.06
08:20
(32) Да стоит он у меня, бухгалтерия у меня всегда в SQL работала, и сейчас все пользователи в таком режиме работают: на одном серваке и SQL, и терминал, и FireWall, и файл-сервер и сервер печати...
35 Obed
 
30.01.06
08:50
(34) Желаю тебе тогда $3000-4000 на сервак
36 AlexSTAL
 
30.01.06
08:56
(35) :-)

Я так думаю, что HagMan в (19) прав.
Можно тему в базу знаний добавить :-)
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан