Документация iSZN

Перенос районных данных

Под переносом районных данных понимается копирование данных выбранного района с одного экземпляра Системы (источника) на другой экземпляр Системы (приёмник).

Для экспорта районных данных используется задача «Выгрузка районных данных», которая позволяет задавать различные степени сжатия файла (см. «LZMA-сжатие») и выбирать для выгрузки либо все таблицы с районными данными, либо таблицы с районными данными, входящие в какой-либо набор таблиц, из которых необходимо экспортировать данные.

Для импорта районных данных используется задача «Загрузка районных данных», которая может загружать за один сеанс данные как одного, так и нескольких районов. Эта задача сначала удаляет данные загружаемых районов из базы данных Системы с помощью серверной операции «Удаление районных данных», а затем выполняет импорт данных с помощью программы SQL Loader, которая входит в комплект клиентского программного обеспечения Oracle (см. «Установка клиентского программного обеспечения Oracle»).

Программа SQL Loader — это инструмент для массовой загрузки данных в СУБД Oracle. Она обеспечивает два режима загрузки данных:

  • обычный режим загрузки;
  • прямой режим загрузки.

В обычном режиме загрузки для заполнения таблиц используются SQL-операторы. При прямом режиме загрузки производительность сервера Oracle повышается, так как данные записываются напрямую в файлы базы данных, минуя SQL-машину. Прямая загрузка использует упрощённые правила согласованного (с другими транзакциями) доступа к данным, поэтому, как правило, она может загружать данные со скоростью, приближающейся к скорости записи на диск.

При работе с SQL Loader задача использует следующие типы файлов:

Наименование Расширение Описание
Входные файлы
Файл данных .dat Текстовый файл. Может содержать данные в различном виде (записи с разделителями, записи фиксированной ширины и тому подобное).
Управляющий файл .ctl Текстовый файл. Содержит сведения о данных в файле данных: их организацию, типы данных и тому подобное, а также указывает, в какую таблицу или таблицы эти данные необходимо загрузить.
Выходные файлы
Файл протокола .log Текстовый файл. Содержит различные сведения о выполненном процессе загрузки данных (использованные опции, продолжительность загрузки, сообщения об ошибках и тому подобное).
Файл отвергнутых записей .bad Текстовый файл. Содержит записи, которые должны были быть загружены, но были отвергнуты (например, из-за нарушений ограничений целостности таблиц).
Файл пропущенных записей .dis Текстовый файл. Содержит записи, которые не должны загружаться (SQL Loader может загружать только записи, удовлетворяющие заданным критериям).

Выгрузка районных данных

Параметры выгрузки данных

Параметр Описание
Район Определяет район, данные которого будут выгружены.
Степень сжатия Определяет степень сжатия данных.
Таблицы, данные которых необходимо выгрузить Определяет таблицы, из которых будут выгружены данные выбранного района.

При выгрузке районных данных выполняются следующие действия:

  1. Формируется список таблиц, из которых необходимо выгружать данные. Если пользователем выбран набор таблиц, то будут выгружены данные таблиц с районными данными, входящими в выбранный набор. Иначе будут выгружены данные всех таблиц с районными данными. Таблица содержит районные данные, если хотя бы в одном её столбце хранится идентификатор района.
  2. Устанавливается ретроспективный режим на текущий момент времени, чтобы обеспечить согласованность по времени выгружаемых данных. Этот момент соответствует времени начала выгрузки данных.
  3. Для каждой таблицы, которая содержит записи выгружаемого района (запись относится к району, если значение хотя бы одного районного столбца записи таблицы равняется идентификатору этого района), выполняются:
    • выгрузка описаний столбцов таблицы (наименования столбцов, их типы данных);
    • выгрузка из таблицы записей выгружаемого района на момент времени начала выгрузки данных (если при преобразовании значения столбца из формата Linux в формат Windows происходит превышение длины столбца, то выполняется усечение значения и вывод предупреждения в файл протокола);
    • помещение описаний столбцов и выбранных записей в сжатый файл;
  4. Отменяется ретроспективный режим.

Загрузка районных данных

Параметры загрузки данных

Параметр Описание
Файлы данных для загрузки Определяет файлы, содержащие исходные данные для загрузки.
Загружать в «прямом» режиме Если параметр установлен, то будет использоваться прямой режима загрузки программы SQL Loader. Если параметр отключён, то будет использоваться обычный режим загрузки данных.
Количество записей, удаляемых за одну транзакцию Определяет количество записей, после удаления которых выполняется фиксация транзакции.
Использовать мониторинг таблиц и обновление статистики Если параметр установлен, то перед удалением районных данных, перед загрузкой данных и после загрузки данных будет обновлена статистика по таблицам.
Удалять извлечённые входные файлы SQL Loader после загрузки Если параметр установлен, то после загрузки данных входные файлы SQL Loader будут удалены. Выходные файлы SQL Loader никогда не удаляются после загрузки данных.
Игнорировать несовпадение версий среды на источнике и приёмнике данных Если параметр установлен, то загрузка данных будет выполнена, даже если версия экземпляра-источника не совпадает с версией экземпляра-приёмника (при этом если структура таблиц экземпляра-источника и экземпляра-приёмника отличается, то загрузка данных может происходить со сбоями и часть данных возможно не будет загружена).

При загрузке районных данных выполняются следующие действия:

  1. Сравниваются версии среды на экземпляре-приёмнике и на экземплярах-источниках (в файлах с районными данными). Если хотя бы на одном экземпляре-источнике версия среды не совпадает с версией экземпляра-приёмника, то в файл протокола выводится предупреждение и если параметр «Игнорировать несовпадение версий среды на источнике и приёмнике данных» не установлен, то работа задачи прерывается.
  2. Если установлен параметр «Использовать мониторинг таблиц и обновление статистики», то выполняется обновление статистики по таблицам (см. задачу обслуживания «Расчёт статистики»).
  3. Выполняется отключение триггеров.
  4. Выполняется удаление районных данных всех загружаемых районов с помощью серверной операции «Удаление районных данных». Серверная операция вызывается со следующими параметрами:
    • Районы: все загружаемые районы;
    • Удалять данные, специфичные для экземпляра Системы: нет;
    • Интервал фиксации транзакций удаления: выбранное пользователем на странице «Параметры загрузки» значение параметра «Количество записей, удаляемых за одну транзакцию»;
    • Создавать временные индексы: да;
    • Пересчитывать статистику перед удалением: нет;
    • После удаления перестраивать невалидные индексы: да;
    • Включать ссылочные ограничения целостности, отключённые при удалении: нет;
    • После удаления включать отключённые Primary- и Unique-ограничения целостности: нет;
    • Обновить список инициализированных районов: нет.
  5. Если установлен параметр «Использовать мониторинг таблиц и обновление статистики», то выполняется обновление статистики по таблицам.
  6. Выполняется включение ограничений целостности типа Primary, Unique, Check (кроме Not null).
  7. Выполняется выключение ограничений целостности типа References и Not null.
  8. Создаётся общий каталог для протоколов загрузки данных таблиц в каталоге протоколов Системы (см. «Диалог настроек клиента iSZN») с наименованием, совпадающим с наименованием файла протокола.
  9. Для каждого файла с данными загружаемого района выполняются следующие действия:
    • создаётся каталог для выходных файлов программы 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 после загрузки»;
  10. Выполняется перестройка отключённых индексов (см. задачи обслуживания «Перестройка обычных индексов» и «Перестройка растровых индексов»).
  11. Если установлен параметр «Использовать мониторинг таблиц и обновление статистики», то выполняется обновление статистики по таблицам.
  12. Выполняется включение ограничений целостности (см. задачу обслуживания «Включение отключённых ограничений целостности»).
  13. Выполняется включение триггеров (см. задачу обслуживания «Включение отключённых триггеров»).
  14. Выполняется актуализация районных последовательностей (см. задачу обслуживания «Перестройка региональных последовательностей»).

Пример

Пример структуры файловой системы после загрузки районных данных:

  • Мои документы
    • 2009-04-07 09-30 - Районные данные [017] Тюменский район (версия среды 00318).dz
    • 2009-04-07 10-00 - Районные данные [030] г. Тюмень (версия среды 00318).dz
    • Выходные формы iSZN (каталог выходных документов Системы)
      • R_CATEGORIES_ASSIGNED.ctl (входной файл SQL Loader; будет удалён, если установлен соответствующий параметр)
      • R_CATEGORIES_ASSIGNED.dat (входной файл SQL Loader; будет удалён, если установлен соответствующий параметр)
      • ...
      • Протоколы (каталог протоколов Системы)
        • Протокол - Загрузка районных данных - 2009-04-08 - 10-00.txt
        • Протокол - Загрузка районных данных - 2009-04-08 - 10-00 (общий каталог для протоколов загрузки данных таблиц)
          • 2009-04-07 09-30 - Районные данные [017] Тюменский район (версия среды 00318) (каталог для выходных файлов программы SQL Loader)
            • R_CATEGORIES_ASSIGNED.log
            • R_PEOPLE_AND_COLLS.log
            • R_PEOPLE_AND_COLLS.bad
            • ...
          • 2009-04-07 10-00 - Районные данные [030] г. Тюмень (версия среды 00318) (каталог для выходных файлов программы SQL Loader)
            • R_CATEGORIES_ASSIGNED.log
            • R_PEOPLE_AND_COLLS.log
            • ...

См. также