powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Дамп больших таблиц в PROGRESS
3 сообщений из 3, страница 1 из 1
Дамп больших таблиц в PROGRESS
    #35792308
taurus.rpd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Итак. Есть база данных под PROGRESS 9.1D. Сама база состоит с нескольких файлов (35 частей по 256 МБ). Нужно слить ето все в текстовый файл (в принципе не важно во что слить, лиш бы потом можно было заново залить данные в базу). Проблема состоит в том, что в самой базе есть таблича размером больше 2-х Гигабайт. И при выполнении дампа прогрес слетает с ошибкой:
Код: plaintext
1.
2.
3.
4.
5.
6.
....
 01 : 05 : 51  Выгружено   84100000  записей
 01 : 05 : 53  Выгружено   84110000  записей
File size limit exceeded. ( 3697 )
** UNIX maximum file size exceeded.


Файловая система ext3, так что вроде проблем с размером файла со стороны системы не должно быть.
Может есть у когото идеи на этот щет ?
...
Рейтинг: 0 / 0
Дамп больших таблиц в PROGRESS
    #35808256
dimchiks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
taurus.rpd,

dвот что рекомендует один производитель АБС. сам не пробывал.

Перед выполнением дампа надо убедится, что размер всех таблиц находится в пределах 2ГБ, для этого надо запустить БИСквит с параметром tabanalys с перенаправлением вывода в файл (можно и на работающей базе):
bq41c tabanalys > analys.log
После окончания анализа, который может длиться достаточно долго и зависит от размера БД и степени фрагментации БД, посмотреть в полученном файле размеры таблиц. Если есть превышение, то можно воспользоваться следующим алгоритмом:
1) Для каждой таблицы, размеры которой превышают 2ГБ, создаем в каталоге $BQ/dump специальный файл типа pipe, например, для таблиц history и dataline:
mknod history.d p
mknod dataline.d p
2) Делаем перенаправление при выводе в эти файлы через архиватор gzip:
gzip -c <history.d >history.gz &
gzip -c <dataline.d >dataline.gz &
В результате получим архивы history.gz и dataline.gz. Затем выполняем выгрузку, описанную в следующем пункте. Указанные команды используются в скрипте conv89_1
3) В дальнейшем на этапе загрузки этих таблиц с помощью bulkload произойдет «зависание» - это означает, что программа загрузки ожидает данные из входного потока. В этот момент в дополнительной сессии необходимо выполнить обратные команды (скрипт conv89_4):
gzip -cd history.gz >history.d &
gzip -cd dataline.gz >dataline.d &
Сразу же bulkload выдаст предупреждающее сообщение:
Warning: Unable to read the .d trailer. Do you want to use ibm866 as the code page for conversion? [y/n]: (9271)
Надо ответить y и нажать Enter.
Однако, при массированной загрузке всех таблиц могут возникнуть проблемы. В таком случае, рекомендуется произвести раздельную загрузку сжатых данных. Сделать файлы описания для каждой таблицы history.fd и dataline.fd. Последовательно выполнить загрузку. В одной сессии запускаем bulkload с history.fd, в момент зависания переходим в другую сессию и даем команду gzip -cd history.gz >history.d &. Аналогичные действия для dataline.
...
Рейтинг: 0 / 0
Дамп больших таблиц в PROGRESS
    #35860919
Vlad-bis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
taurus.rpd,

в ос косяк
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Дамп больших таблиц в PROGRESS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]