Загрузка новых данных в секции
На предыдущем уроке вы узнали, как создавать новые секционированные таблицы. На этом уроке было описано, как реализовать секционирование в существующих таблицах. Ещё может возникнуть ситуация, когда вам будет необходимо загрузить новые данные в секции.
Существует два основных способа загрузки данных в секции таблицы в онлайн:
- С помощью Database Administration Console.
- С помощью бинарной загрузки.
Если будет выбран бинарный способ загрузки, то вы сможете загружать данные в несколько секций параллельно.
Рассмотрим каждый из этих способов отдельно.
Загрузка данных с помощью Database Administration Console
Если данные для секционированной таблицы находятся в .d-файле (текстовый дамп), то вы можете использовать Database Administration Console для их загрузки в онлайн. OpenEdge автоматически проанализирует каждую загружаемую запись и поместит её в соответствующую секцию.
Ниже приведены шаги для загрузки данных из Database Administration Console:
- Находясь в секции Data Administration, щёлкните по ссылке Load table contents (.d file).
Откроется страница Load Table Contents: - В поле Load root directory укажите каталог, где размещён .d-файл. По умолчанию здесь указан стандартный рабочий каталог OpenEdge.
- Для импорта LOB-данных, выберите чек-бокс Include LOB. Если LOB-полей нет, наоборот, снимите выделение.
- Если вы выберите загрузку LOB-полей, то укажите подкаталог с LOB-данными. По умолчанию указан подкаталог с именем lobs.
- В поле Acceptable error percentage, укажите допустимый процент ошибок загрузки. По умолчанию 0.
- Выберите чек-бокс Skip secured tables, если вы не хотите выполнять загрузку в защищенные таблицы. Это таблицы, которые зашифрованы с помощью OpenEdge Transparent Data Encryption (TDE).
- В поле Tables выберите All или Selected:
- Если выбрано All, то переходите к шагу 10.
- Если выбрано Selected, то будет развёрнута секция Selected Tables, в которой вы можете выполнить поиск таблицы по имени или по области хранения.
- Укажите критерии поиска и щёлкните по кнопке Apply Filter. В таблице внизу отобразится результат поиска.
- Выберите необходимые таблицы.
- Щёлкните по кнопке Load.
Откроется диалоговое окно Confirm task for table data load. - Щёлкните по кнопке Commit & Monitor для выполнения и наблюдения за процессом загрузки:
Во время загрузки на странице Database Connection Details отобразится три секции: Load Table Data Summary, File System Status и Monitor Database Table Load.
- Секция Load Table Data Summary показывает прогресс выполнения загрузки, а секция Monitor Database Table Load – количество строк, загруженных в каждую таблицу.
- Если в процессе загрузки вы увидите на экране один или более символов предупреждения об ошибке и сообщение на подобие «Errors/Warnings listed in .e files placed into same directory as .d files». Откройте .e-файлы, определите причину ошибки, устраните её и повторите загрузку.
Бинарная загрузка
Для бинарной загрузки файл (.bd) должен содержать данные только загружаемой секции. Для выполнения binary load используется утилита PROUTIL LOAD. Имейте в виду, что вам будет необходимо ещё построить локальные индексы, связанные с секцией.
Для достижения преимуществ параллельной загрузки, вы можете выполнить двоичную загрузку данных в несколько секций одной таблицы одновременно.
Команда для бинарной загрузки в конкретную секцию:
proutil db-name -C load file-name partition partition-name
Пример. Предположим, таблица Order имеет три секции: Order-1, Order-2 и Order-3. У нас так же есть три бинарных файла, Order_1P_Order-1.bd, Order_2P_Order-2.bd и Order_3P_Order-3.bd, которые содержат данные этих секций.
Следующий пример демонстрирует три команды PROUTIL LOAD для параллельной загрузки двоичных данных в три секции. Примечание: для параллельной загрузки мы должны выполнить каждую команду в отдельной клиентской сессии (например, открыв три окна Proenv).
proutil sportsco -C load order_1p_order-1.bd partition order-1 proutil sportsco -C load order_2p_order-2.bd partition order-2 proutil sportsco -C load order_3p_order-3.bd partition order-3