Документация iSZN
Перенос районных данных
Под переносом районных данных понимается копирование данных выбранного района с одного экземпляра Системы (источника) на другой экземпляр Системы (приёмник).
Для экспорта районных данных используется задача «Выгрузка районных данных», которая позволяет задавать различные степени сжатия файла (см. «LZMA-сжатие») и выбирать для выгрузки либо все таблицы с районными данными, либо таблицы с районными данными, входящие в какой-либо набор таблиц, из которых необходимо экспортировать данные.
Для импорта районных данных используется задача «Загрузка районных данных», которая может загружать за один сеанс данные как одного, так и нескольких районов. Эта задача сначала удаляет данные загружаемых районов из базы данных Системы с помощью серверной операции «Удаление районных данных», а затем выполняет импорт данных с помощью программы SQL Loader, которая входит в комплект клиентского программного обеспечения Oracle (см. «Установка клиентского программного обеспечения Oracle»).
Программа SQL Loader — это инструмент для массовой загрузки данных в СУБД Oracle. Она обеспечивает два режима загрузки данных:
- обычный режим загрузки;
- прямой режим загрузки.
В обычном режиме загрузки для заполнения таблиц используются SQL-операторы. При прямом режиме загрузки производительность сервера Oracle повышается, так как данные записываются напрямую в файлы базы данных, минуя SQL-машину. Прямая загрузка использует упрощённые правила согласованного (с другими транзакциями) доступа к данным, поэтому, как правило, она может загружать данные со скоростью, приближающейся к скорости записи на диск.
При работе с SQL Loader задача использует следующие типы файлов:
Наименование | Расширение | Описание |
---|---|---|
Входные файлы | ||
Файл данных | .dat | Текстовый файл. Может содержать данные в различном виде (записи с разделителями, записи фиксированной ширины и тому подобное). |
Управляющий файл | .ctl | Текстовый файл. Содержит сведения о данных в файле данных: их организацию, типы данных и тому подобное, а также указывает, в какую таблицу или таблицы эти данные необходимо загрузить. |
Выходные файлы | ||
Файл протокола | .log | Текстовый файл. Содержит различные сведения о выполненном процессе загрузки данных (использованные опции, продолжительность загрузки, сообщения об ошибках и тому подобное). |
Файл отвергнутых записей | .bad | Текстовый файл. Содержит записи, которые должны были быть загружены, но были отвергнуты (например, из-за нарушений ограничений целостности таблиц). |
Файл пропущенных записей | .dis | Текстовый файл. Содержит записи, которые не должны загружаться (SQL Loader может загружать только записи, удовлетворяющие заданным критериям). |
Выгрузка районных данных
Параметры выгрузки данных
Параметр | Описание |
---|---|
Район | Определяет район, данные которого будут выгружены. |
Степень сжатия | Определяет степень сжатия данных. |
Таблицы, данные которых необходимо выгрузить | Определяет таблицы, из которых будут выгружены данные выбранного района. |
При выгрузке районных данных выполняются следующие действия:
- Формируется список таблиц, из которых необходимо выгружать данные. Если пользователем выбран набор таблиц, то будут выгружены данные таблиц с районными данными, входящими в выбранный набор. Иначе будут выгружены данные всех таблиц с районными данными. Таблица содержит районные данные, если хотя бы в одном её столбце хранится идентификатор района.
- Устанавливается ретроспективный режим на текущий момент времени, чтобы обеспечить согласованность по времени выгружаемых данных. Этот момент соответствует времени начала выгрузки данных.
- Для каждой таблицы, которая содержит записи выгружаемого района (запись относится к району, если значение хотя бы одного районного столбца записи таблицы равняется идентификатору этого района), выполняются:
- выгрузка описаний столбцов таблицы (наименования столбцов, их типы данных);
- выгрузка из таблицы записей выгружаемого района на момент времени начала выгрузки данных (если при преобразовании значения столбца из формата Linux в формат Windows происходит превышение длины столбца, то выполняется усечение значения и вывод предупреждения в файл протокола);
- помещение описаний столбцов и выбранных записей в сжатый файл;
- Отменяется ретроспективный режим.
Загрузка районных данных
Параметры загрузки данных
Параметр | Описание |
---|---|
Файлы данных для загрузки | Определяет файлы, содержащие исходные данные для загрузки. |
Загружать в «прямом» режиме | Если параметр установлен, то будет использоваться прямой режима загрузки программы SQL Loader. Если параметр отключён, то будет использоваться обычный режим загрузки данных. |
Количество записей, удаляемых за одну транзакцию | Определяет количество записей, после удаления которых выполняется фиксация транзакции. |
Использовать мониторинг таблиц и обновление статистики | Если параметр установлен, то перед удалением районных данных, перед загрузкой данных и после загрузки данных будет обновлена статистика по таблицам. |
Удалять извлечённые входные файлы SQL Loader после загрузки | Если параметр установлен, то после загрузки данных входные файлы SQL Loader будут удалены. Выходные файлы SQL Loader никогда не удаляются после загрузки данных. |
Игнорировать несовпадение версий среды на источнике и приёмнике данных | Если параметр установлен, то загрузка данных будет выполнена, даже если версия экземпляра-источника не совпадает с версией экземпляра-приёмника (при этом если структура таблиц экземпляра-источника и экземпляра-приёмника отличается, то загрузка данных может происходить со сбоями и часть данных возможно не будет загружена). |
При загрузке районных данных выполняются следующие действия:
- Сравниваются версии среды на экземпляре-приёмнике и на экземплярах-источниках (в файлах с районными данными). Если хотя бы на одном экземпляре-источнике версия среды не совпадает с версией экземпляра-приёмника, то в файл протокола выводится предупреждение и если параметр «Игнорировать несовпадение версий среды на источнике и приёмнике данных» не установлен, то работа задачи прерывается.
- Если установлен параметр «Использовать мониторинг таблиц и обновление статистики», то выполняется обновление статистики по таблицам (см. задачу обслуживания «Расчёт статистики»).
- Выполняется отключение триггеров.
- Выполняется удаление районных данных всех загружаемых районов с помощью серверной операции «Удаление районных данных». Серверная операция вызывается со следующими параметрами:
- Районы: все загружаемые районы;
- Удалять данные, специфичные для экземпляра Системы: нет;
- Интервал фиксации транзакций удаления: выбранное пользователем на странице «Параметры загрузки» значение параметра «Количество записей, удаляемых за одну транзакцию»;
- Создавать временные индексы: да;
- Пересчитывать статистику перед удалением: нет;
- После удаления перестраивать невалидные индексы: да;
- Включать ссылочные ограничения целостности, отключённые при удалении: нет;
- После удаления включать отключённые Primary- и Unique-ограничения целостности: нет;
- Обновить список инициализированных районов: нет.
- Если установлен параметр «Использовать мониторинг таблиц и обновление статистики», то выполняется обновление статистики по таблицам.
- Выполняется включение ограничений целостности типа Primary, Unique, Check (кроме Not null).
- Выполняется выключение ограничений целостности типа References и Not null.
- Создаётся общий каталог для протоколов загрузки данных таблиц в каталоге протоколов Системы (см. «Диалог настроек клиента iSZN») с наименованием, совпадающим с наименованием файла протокола.
- Для каждого файла с данными загружаемого района выполняются следующие действия:
- создаётся каталог для выходных файлов программы SQL Loader с наименованием, совпадающим с наименованием файла с данными загружаемого района.
- для каждой таблицы Oracle, данные которой необходимо загрузить в Систему, выполняются следующие действия:
- в каталоге выходных документов Системы создаются входные файлы для программы SQL Loader с наименованиями, совпадающими с наименованием таблицы Oracle: управляющий файл (например, R_PEOPLE_AND_COLLS.ctl) и файл данных (например, R_PEOPLE_AND_COLLS.dat);
- запускается программа SQL Loader для загрузки данных из созданного файла данных в таблицу;
- выполняется перенос выходных файлов программы SQL Loader из каталога выходных документов Системы в каталог для выходных файлов программы SQL Loader;
- выполняется удаление входных файлов программы SQL Loader, если установлен параметр «Удалять извлечённые входные файлы SQL Loader после загрузки»;
- Выполняется перестройка отключённых индексов (см. задачи обслуживания «Перестройка обычных индексов» и «Перестройка растровых индексов»).
- Если установлен параметр «Использовать мониторинг таблиц и обновление статистики», то выполняется обновление статистики по таблицам.
- Выполняется включение ограничений целостности (см. задачу обслуживания «Включение отключённых ограничений целостности»).
- Выполняется включение триггеров (см. задачу обслуживания «Включение отключённых триггеров»).
- Выполняется актуализация районных последовательностей (см. задачу обслуживания «Перестройка региональных последовательностей»).
Пример
Пример структуры файловой системы после загрузки районных данных:
-
-
- ...
-