У меня есть db DB2 в среде ubuntu. Пустая база данных со всеми таблицами уже существует. Теперь я хочу импортировать 1000 соответствующих .ixf файлов в базу данных. Кроме того, у меня есть файл .msg для каждого файла.
Знаете ли вы, как это сделать? Спасибо, Jassin
По соображениям скорости вам не нужно использовать импорт, вместо этого вы можете использовать утилиту загрузки Db2. Используйте импорт только в том случае, если вы уже знаете, что файлы крошечные, и существует достаточная пропускная способность транзакций или существуют таблицы, но не индексы, и вы хотите, чтобы действие по импорту также создавало индексы.
Решение зависит от ваши навыки написания сценариев и частоту выполнения задания. Вам нужно будет узнать, какой файл заполняет эту таблицу независимо от используемой вами технологии.
Db2 в Linux очень программируется с помощью сценариев оболочки (например, с bash). Это умение, заслуживающее изучения.
Вы также можете создавать скрипты такого типа в perl или python или на любом языке сценариев.
Простейшим (и самым медленным) способом является использование Db2 LOAD, чтобы последовательно вставлять файлы.
Более сложные способы включают использование утилиты Db2 LOAD параллельно, в зависимости от количества доступных вам ядер и доступной пропускной способности ввода-вывода. Например, если у вас есть 32 ядра, у вас может быть 20 одновременных заданий нагрузки, каждый из которых загружает отдельную таблицу с подзадачей, имеющей собственное соединение с базой данных. Для этого подхода нет никакой пользы, если ваши контейнеры не находятся в сети SAN с большим количеством пропускной способности ввода / вывода.
Независимо от того, загружаете ли вы последовательно или параллельно, вы должны иметь проверку на каждую команду exit- код и возможность перезапуска с момента сбоя, а также проверить, что количество загружаемых строк соответствует количеству строк в каждом файле IXF (с учетом всех отброшенных строк).
У вас есть L-файл? у вас это есть, тогда вы можете выполнить импорт db2move или db2move, а затем RDBMS поместит все эти данные в базу данных.
Файлы ixf содержат определение таблицы плюс данные.
Файлы msg имеют информацию о времени экспорта. После выполнения импорта db2move вы будете регенерировать эти файлы с информацией об импорте.