Размеры таблиц файловой базы данных (в т.ч. для платформы 8.3 под Linux)

Обработка позволяет просмотреть размеры всех таблиц в файловой базе данных, с разбивкой по объектам (записи, BLOB, индексы). Работает как на платформах 8.2-8.3 под Windows, так и на 8.3 под Linux

Для каждой таблицы показывается соответствующее описание метаданных. Является внешней обработкой для режима управляемого приложения 1С:Предприятие 8.2, можно запустить из любой конфигурации на УФ, или из созданной пустой базы.

Технические детали:
Обработка может функционировать только на платформах 1С 8.2 и выше (т.к. используемая компонента написана по технологии NativeAPI), в режиме управляемого приложения (код открыт — можно портировать и для обычного приложения), при этом сами обрабатываемые БД могут быть любых версий (8.0-8.3). Используется компонента 1CDLib //infostart.ru/public/166557/

Ближайший аналог: Программа от MMF //infostart.ru/public/82178/
Существенные отличия представленной обработки от программы MMF:
+ Формируется быстрее
+ Показывается размер удалённых BLOB-данных
+ Открытый код (возможность модификации)

+ Поддержка клиентов на платформе 8.3 под Linux
— Не является самостоятельным приложением

Обн. от 17.03.2013 г.

1) Добавлена поддержка клиентов на платформе 8.3 под Linux (пока только для x32)

2) Исправлены мелкие ошибки и неточности

49 Comments

  1. petrov_al

    Полезная вещь, она мне помогла вовремя перейти c файловой на sql.

    Reply ↓
  2. kauksi

    полезная штука. базопузомер 2.0 ))

    Reply ↓
  3. scape

    Напиши, что для управляемых форм.

    Reply ↓
  4. andrewks

    (3) scape, всё написано, читайте описание

    Является внешней обработкой для режима управляемого приложения 1С:Предприятие 8.2, можно запустить из любой конфигурации на УФ
    Reply ↓
  5. tormozit

    Если поле сортировки выбрать до открытия файла, то получаем ошибку

    {Форма.Форма.Форма(539)}: Ошибка при вызове метода контекста (Сортировать)

    ДанныеТаблицы.Сортировать(«РазмерОбщий Убыв»);

    по причине:

    Неизвестная колонка

    Неизвестная колонка

    Reply ↓
  6. andrewks

    (5) tormozit, спасибо, поправлю

    Reply ↓
  7. Evil Beaver

    А есть какой-то пример полезного применения, помимо простого удовлетворения любопытства?

    Reply ↓
  8. tormozit

    (7) Файловая СУБД имеет ограничения на размер каждой таблицы в 4ГБ. Как только его достигнешь, сразу захочешь узнать какую таблицу оперировать.

    Reply ↓
  9. andrewks

    (7) Evil Beaver, например, можно узнать, на каких объектах быстро пухнет файловая база.

    а также, есть ли объекты, чей размер приближается к 4Гб (это верхний предел размера объекта для файловой БД)

    Reply ↓
  10. Evil Beaver

    (8) tormozit, сразу не догнал. Спасибо.

    Reply ↓
  11. Sergoninfostarru

    Не, ну, если база сильно пухнет, то в большинстве случаев — это результат незакрытых остатков. Незакрытые остатки — это постоянное переписывание остатков в базу данных из месяца в месяц, что является следствием неправильного ведения учета. Сами справочники и документы особо базу не раздувают. Поэтому, когда база распухла через полгода-год, можна говорить о «природном» ее увеличении, а если через 2-3 месяца, то нужно садить за парту пользователей и показывать, как происходит закрытие месяца и определение фин.результатов, причем как для регламентного, так и для управленческого учетов.

    Reply ↓
  12. Sergoninfostarru

    «Сортировать по» лучше сделать неактивным, если база не открыта, т.к. непонятно будет произведена сортировка после открытия базы или в уже открытой. Я сразу поставил «сортировать по имени» и получил «Неизвестная колонка». Только после открытия базы понял, что работает в уже открытой …

    А вот галочка «Показывать размер удаленных» работает до открытия базы данных, что еще больше запутывает.

    Reply ↓
  13. andrewks

    (12) Sergoninfostarru, галку просто назвал неудачно, переименую в «Вычислять размер удалённых», ведь её смысл не просто в показе доп.колонок, но больше в том, что при считывании данных дополнительно вычисляется размер удалённых данных. т.е. она оказывает влияние на процесс чтения — без этой галки скорость раза в два выше.

    а вот сортировка — её можно выполнить и после чтения, она оперирует уже с заполненной таблицей

    Reply ↓
  14. CratosX

    (0),

    Обн. от 17.03.2013 г.

    2) Исправлены мелкие ошибки и неточности

    Имея предыдущую версию, стоит качать эту?

    Reply ↓
  15. andrewks

    (14) Cratos2, улучшено описание некоторых таблиц регистров накопления, + исправления для работы под linux. если для Вас это не критично — то можно и не качать

    Reply ↓
  16. RG84

    очень полезная и интересная программа!!! обязательно попробую в работе!

    Reply ↓
  17. expert.1c8

    А если одну и тот же файл но разных версий дважды скачивать,

    то SM списываются тоже несколько раз?

    Reply ↓
  18. andrewks

    (17) expert.1c8, с некоторых пор, $m списываются, даже если дважды скачать один и тот же файл

    Reply ↓
  19. clab

    Спасибо, помогла увидеть 1.5 gb индексов у пустого регистра

    Reply ↓
  20. BTRVODKA

    Спасибо, очень пригодилась ваша публикация!

    Reply ↓
  21. sorb

    Если не жалко, выложите исходники ВК, пожалуйста 🙂

    З.Ы. Сорри, ступил…

    Reply ↓
  22. xalker

    Полезная вещь 🙂 Разве что добавил себе вычисление в Мб и Гб для наглядности.

    Reply ↓
  23. KillHunter

    Любопытно получается, 1С говорит вот так:

    Ограничения на размер файловой базы данных. Все данные, относящиеся к одной таблице собраны в три внутренних файла:

    — файл записей, в котором находятся все записи таблицы, за исключением полей неограниченной длины

    — файл индексов

    — файл значений неограниченной длины

    Размер каждого из этих файлов не может превышать 4 гб.

    Загрузил архив базы в SQL, смотрю сколько все таблицы в сумме занимают места

    — dat a: 6515520 Kb

    — indexes: 5498160 Kb

    Итого: 12013680 Кб

    Видно, что индексы зашкаливает за 4 гига.

    Но этот архив грузится в файловую базу без вопросов.

    Однако когда данные или индексы забегают за 7 гиг, тогда в файловую уже не грузится.

    Значит ограничение не 4 гига, а чуть побольше.

    Или есть иное объяснение?

    Reply ↓
  24. andrewks

    (24) для каждой из таблиц есть три файла: файл записей, файл BLOB, файл индексов.

    индексы всех таблиц могут превышать 4 Гб, но индексы одной таблицы не могут превышать 4 Гб

    Reply ↓
  25. KroVladS

    (0)

    Спасибо, то что нужно.

    Предлагаю добавить сортировку по каждой таблице,

    добавить пересчёт в Мб и Гб.

    выделять красным таблицы у которых достигнут порог 90% от максимально возможного размера 4Гб.

    Сделать «примерный» прогноз оставшегося времени работы по таблице с максимальным размером.

    З.Ы. «примерный» — это примерный, два локтя по карте, с отказом от ответственности.

    Reply ↓
  26. lesenoklenok

    Здравствуйте, ошибку выдает

    {Обработка.РазмерыТаблиц.Форма.Форма.Форма(100)}: Поле объекта не обнаружено (ИспользуемоеИмяФайла)

    ВремФайл=Новый Файл(ТекОбъект.ИспользуемоеИмяФайла);

    Reply ↓
  27. andrewks

    (27) lesenoklenok, версия платформы? под какой конфигурацией открываете?

    Reply ↓
  28. extalionos

    Спасибо!

    Reply ↓
  29. Shaka13

    ценная вещь, завтра опробую, у нас как раз на Линуксе крутится 32 битная 1С пробовал dt развернуть в файловом варианте не получается, ищем где в базе идет перекос, надеюсь поможет ускорить поиск проблемы.

    тут про КЛАДР писали, а в чем феномен, что при его загрузке в базу он так раздувает ее просто фантастически.

    ради эксперимента в демо базу УТ 11.1, которая весит около 1Гига выгрузил весь КЛАД, который весит от силы 30 мегабайт, база запухла … до 3,5 гигов?

    Reply ↓
  30. ololoanonim

    А можно ли выгрузить таблицу Files в читабельном виде во внешний (напримет xml) файл?

    Reply ↓
  31. Najly

    Спасибо огромное, как раз то что нужно!

    Reply ↓
  32. orfos

    (30) Shaka13, это все xml виноват. У меня файл обмена xml 900 МБ весит, а в архиве безобидные 20 Мб. А потом думаешь и чего это так обмен висит долго.

    Reply ↓
  33. tormozit

    Большое спасибо автору. Внедрил сделанную им внешнюю компоненту в инструмент «Структура хранения БД» в подсистеме Инструменты разработчика

    Reply ↓
  34. sashocq

    База 25 ГБ, версия формата 8.3.8, размер страницы 16384. При открытии базы обработка вылетает с созданием дампа 🙁

    Reply ↓
  35. ybatiaev

    Не поддерживает 64… (((

    Reply ↓
  36. agent100

    Не работает. При запуске вылетает 1С(

    Reply ↓
  37. xxxqw

    Сигнатура проблемы:

    Имя события проблемы: APPCRASH

    Имя приложения: 1cv8c.exe

    Версия приложения: 8.3.9.1818

    Отметка времени приложения: 57ebfa49

    Имя модуля с ошибкой: 1CDLib32.dll

    Версия модуля с ошибкой: 1.3.0.0

    Отметка времени модуля с ошибкой: 00000000

    Код исключения: c0000005

    Смещение исключения: 0002936d

    Версия ОС: 6.1.7601.2.1.0.256.48

    Код языка: 1049

    Дополнительные сведения 1: 0a9e

    Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789

    Дополнительные сведения 3: 0a9e

    Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789

    Ознакомьтесь с заявлением о конфиденциальности в Интернете:

    http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0419

    Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом:

    C:Windowssystem32
    u-RUerofflps.txt

    Reply ↓
  38. Filt

    (38) Такая же ошибка 🙁

    Reply ↓
  39. tormozit

    Не планируется ли публикация исходного кода внешней компоненты?

    Reply ↓
  40. dihlam

    Запускать надо не в той конфе по которой хотите посмотреть статистике. Тогда всё работает )

    Reply ↓
  41. MaiorovYury

    (36) жаль не увидел ваш коммент перед скачиванием(((

    Reply ↓
  42. smit1c

    Сигнатура проблемы:

    Имя события проблемы: APPCRASH

    Имя приложения: 1CV8C.exe

    Версия приложения: 8.3.10.2580

    Отметка времени приложения: 599f5753

    Имя модуля с ошибкой: 1CDLib32.dll

    Версия модуля с ошибкой: 1.3.0.0

    Отметка времени модуля с ошибкой: 00000000

    Код исключения: c0000005

    Смещение исключения: 0002936d

    Версия ОС: 6.1.7601.2.1.0.16.7

    Код языка: 1049

    Дополнительные сведения 1: 0a9e

    Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789

    Дополнительные сведения 3: 0a9e

    Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789

    Reply ↓
  43. EvaMendes

    (11) а что значит незакрытые остатки для УТ 10.3? Как их закрывать?

    Reply ↓
  44. rvlg

    Какие условия работы обработки, вываливается с дампом, и в 32 битном и 64 битном приложении 1с. Может винда нужна 32 битная. Что нужно чтобы она отработала?

    Reply ↓
  45. rvlg

    Запускаю в пустой конфе, замеряю базу 40 гб.

    Reply ↓
  46. Плюшкин_

    Подтверждаю, вылетает хоть даже если запускаешь из чужой базы.

    Платформа 8.3.13.1513. Пытаюсь открыть базу которая весит 2 Гб.

    Reply ↓
  47. ifal

    Не работает, падает в dump 8.3.13.1865

    Reply ↓
  48. Srk47

    Так же падает в дамп 8.3.13.1690

    Reply ↓
  49. denmax

    Не работает, падает 8.3.12.1529

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *