Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Сбой при пересылке из SQL в DB2
|
|||
|---|---|---|---|
|
#18+
Вопрос начинающего. Установил DB2 9.2 express, нужно перекинуть из SQL таблицу в 50 млн записей. Установил дома, на станции. 2 гига оперативы, 1 двухъядерный проц, места на диске - 60 Гб. Перекидываю экспортом данных из SQL. 16 млн перекинулось - вылетел "не хватает памяти". Центр команд на SELECT COUNT(*) FROM Calc отвечает, что, возможно, полны журналы. Увеличиваю количество журналов до 50, выделяю каждому размер в 5000, разбиваю исходную таблицу на 3. Первая таблица в 12 млн записей проходит нормально. На второй вылетает. Считаю записи в DB2 около 16 млн, чуть меньше. В документации написано, что ограничений на размер базы нет. Следил за журналами - нормально перезаписывались 3 раза, все 50. В чём дело? Может, есть-таки какие-то ограничения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2011, 19:38 |
|
||
|
Сбой при пересылке из SQL в DB2
|
|||
|---|---|---|---|
|
#18+
ДмитрийV, Попробуй при импорте указать COMMITCOUNT N , где N - число записей после которых делать принятие в БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2011, 20:12 |
|
||
|
Сбой при пересылке из SQL в DB2
|
|||
|---|---|---|---|
|
#18+
askfinder, Я экспортирую стандартными средствами MSSQL, импортировать из DB2 пока не умею, даже не знаю - где это. Сейчас заливаю данные из третьего файла в другую таблицу, пока нормально прошли 2 млн. Там видно будет - попробую слить в одну, если позволит и не вылетит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2011, 20:36 |
|
||
|
Сбой при пересылке из SQL в DB2
|
|||
|---|---|---|---|
|
#18+
ДмитрийV, Гражане, ну это - издевательство. Целый день протрахался, потом плюнул, запустил ещё раз, пошёл спать. Утром встаю - "команда выполнена успешно". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2011, 10:20 |
|
||
|
Сбой при пересылке из SQL в DB2
|
|||
|---|---|---|---|
|
#18+
ДмитрийVДмитрийV, Гражане, ну это - издевательство. Целый день протрахался, потом плюнул, запустил ещё раз, пошёл спать. Утром встаю - "команда выполнена успешно". Очень хорошо! В своя время Я выполнял IMPORT данных из MS SQL стандартными средствами IBM DB2 (db2 import & db2 load). Точно не помню, но у меня 50 000000 загружалось в течение 5-минут (выполнял commit через каждые 100000 записей для таблиц фактов). Для простых таблиц (скрипт): IMPORT FROM "/database/import/dataGenerator/big_dims_pub/tbl_Dim_Maxybox.csv" OF DEL MODIFIED BY TIMESTAMPFORMAT="YYYY-MM-DD HH:MM:SS.UUUUUU" NOCHARDEL COLDEL0x09 COMMITCOUNT 1000 MESSAGES "/database/import/msg/tbl_Dim_Maxybox.txt" INSERT_UPDATE INTO DBO.TBL_DIM_MAXYBOX; Для таблиц фактов (скрипт): LOAD FROM "/datatxt/dataGenerator/out_data/_fact_level_0_visitor_part_9.tsv" OF DEL MODIFIED BY COLDEL0x09 NOCHARDEL TIMESTAMPFORMAT="YYYY-MM-DD HH:MM:SS.UUU" MESSAGES "/database/import/msg/_fact_level_0_visitor_part.txt" INSERT INTO DBO.TBL_FACT_VISITOR NONRECOVERABLE DATA BUFFER 10000 SORT BUFFER 100000 CPU_PARALLELISM 10 DISK_PARALLELISM 16 INDEXING MODE AUTOSELECT ALLOW READ ACCESS USE TEMPSPACE1 ISOLATE_PART_ERRS NO_ISOLATION MODE PARTITION_AND_LOAD PARTITIONING_DBPARTNUMS (0, 1, 2, 3, 4); SET INTEGRITY FOR DBO.TBL_FACT_VISITOR CHECK, MATERIALIZED QUERY, GENERATED COLUMN, STAGING, FOREIGN KEY IMMEDIATE UNCHECKED; База данных с включенным режимом - Self tuning memory. Log file size (4KB) (LOGFILSIZ) = 20000 Number of primary log files (LOGPRIMARY) = 30 Объем базы ~ 700 000 МБ Думаю, что скорее всего DB2 не хватало ресурсов или ENGINE ожидал освобождение очередей. Нужно смотреть файл db2diag.log (<instance-home>/sqllib/db2dump). С уважением, Вадим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2011, 12:23 |
|
||
|
Сбой при пересылке из SQL в DB2
|
|||
|---|---|---|---|
|
#18+
9.2 express - ха, это новость. Как я заметил, IMPORT, по сравнению с LOAD, очень медленный (или LOAD, по сравнению с IMPORT, очень быстрый). На больших объёмах разница гигантская - десятки и сотни раз. Даже вместо Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. выгоднее Код: plaintext 1. 2. Журнал один, а вот файлов в нём много. Есть primary-файлы, которые лежат на диске постоянно, и есть secondary, которые создаются по потребности и удаляются, когда в них нет нужды. Как бы то ни было, если 50 миллионов вставляются в одной транзакции insert'ами (ы том числе через IMPORT), под них в журнале должно быть достаточно места ( место определяется как (количество primary + количество secondary) * размер), ну, а LOAD без этого обходится, да ещё может и индексы побыстрее переделать и статистику собрать. Так что экспортировать в CSV-файлы и грузить их LOAD'ом может быть разумно. А ещё для облегчения таких дел существуют бесплатные IBM Migration Toolkit и IBM Data Movement Tool. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2011, 19:18 |
|
||
|
Сбой при пересылке из SQL в DB2
|
|||
|---|---|---|---|
|
#18+
Load работает быстрее чем Import, потому что грузит данные напрямую в страницы базы без журналирования. Import же делает загрузку через обычные insert, и журналирует эти инсерты. См. Load overview ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2011, 08:52 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=37183979&tid=1602327]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
80ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 320ms |
| total: | 496ms |

| 0 / 0 |
