'

SQL*Loader

Понравилась презентация – покажи это...





Слайд 0

SQL*Loader


Слайд 1

БД ORACLE Назначение Загрузка внешних данных в БД Oracle


Слайд 2

Возможности Загрузка данных из нескольких файлов разного типа Обработка разных входных форматов Использование SQL – функций перед загрузкой Поддержка большого количества типов данных Загрузка данных в несколько таблиц одновременно Объединение нескольких физических записей в одну логическую Загрузка одной физической записи в несколько логических Построение последовательных значений Преобразование национальных кодировок при загрузке Загрузка двоичных данных Некоторые другие возможности


Слайд 3

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


Слайд 4

Основные компоненты SQL*Loader SQL*Loader Управляющий файл Файл отсеянных записей Файл отвергнутых записей Файл протокола загрузки


Слайд 5

Входные данные SQL*Loader может обрабатывать практически любые типы файлов данных Файл данных может иметь фиксированный или переменный формат. Двоичные данные должны загружаться из файла фиксированного формата. Поля в файлах переменного формата могут отделяться одно от другого символами-разделителями, быть окаймлены символами-ограничителями или разделяются и тем, и другим.


Слайд 6

Управляющий файл Управляющий файл — это текстовый файл, который содержит инструкции, указывающие SQL*Loader, как обрабатывать данные.


Слайд 7

Файл протокола загрузки Создается при выполнении SQL*Loader. Содержит информацию о процессе загрузки: Имена входных файлов данных, управляющего файла, файлов отсеянных и отвергнутых записей Входные данные и спецификации соответствующих таблиц Ошибки SQL*Loader Результаты SQL*Loader Итоговую статистику


Слайд 8

Файлы отвергнутых и отсеянных записей На основании информации из управляющего файла входные записи проверяются на соответствие: требованиям формата критериям отбора записей. Отбракованные записи заносятся в файлы отвергнутых записей и отсеянных записей Эти файлы можно отредактировать и загрузить снова.


Слайд 9

Физические и логические записи Физические записи - отдельные строки во входном файле данных Логические записи - соответствуют строкам в таблицах базы данных Физическая запись может взаимно однозначно соответствовать логической записи Позволяется: связывать несколько физических записей в одну логическую с помощью предложений CONCATENATE или CONTINUEIF разделять одну физическую запись на несколько логических.


Слайд 10

Последовательность работы SQL*Loader


Слайд 11

Типы загрузки SQL*Loader Обычная загрузка


Слайд 12

Обычная загрузка Для массива записей генерируется команда SQL INSERT. Подход приемлем для небольших массивов данных. Другие пользователи и процессы Oracle могут обращаться к таблице одновременно с SQL*Loader. Индексы обновляются по мере вставки строк При загрузке активизированы все ограничения целостности и триггеры INSERT. Можно применять функции SQL к входным данным. Данные могут быть загружены в кластерную таблицу. Данные могут быть загружены с помощью SQL*Net.


Слайд 13

Типы загрузки SQL*Loader Прямая загрузка Oracle7 Server


Слайд 14

Прямая загрузка Новые экстенты выделяются менеджером экстентов. Форматированные блоки данных записываются непосредственно в БД. Преимущества прямой загрузки: Быстрая загрузка и индексирование больших объемов данных. Высокая производительность, за счет загрузки предварительно отсортированных данных. Возможность параллельной загрузки. Возможность выполнение прямой загрузки с опцией UNRECOVERABLE (без восстановления журнала Oracle).


Слайд 15

Прямая загрузка Недостатки и ограничения: Монопольная блокировка таблиц и индексов Индексы переводятся в состояние прямой загрузки в начале загрузки и должны быть перестроены автоматически или вручную после завершения загрузки. Не работают триггеры ограничения целостности, кроме NOT NULL. Все нарушения помещаются в таблицу исключений. Нельзя применять функции SQL к входным данным. Данные не могут быть загружены в кластерную таблицу. Ограничено использование SQL*Net. Не работает опция DEFAULT для столбца. Нельзя использовать синонимы, ссылающиеся на на другие синонимы или представления.


Слайд 16

Параллельная загрузка данных Oracle Version 7.1 предоставляет возможность выполнения прямой загрузки в параллельном режиме, которая обеспечивает почти линейный рост производительности SQL*Loader в мультипроцессорных системах.


Слайд 17

Синтаксис управляющего файла Работают обычные для ORACLE ограничения. Управляющий файл логически состоит из семи разделов: Предложение OPTIONS Предложение UNRECOVERABLE/RECOVERABLE Предложение LOAD DATA Предложение INFILE Метод загрузки таблицы Предложение CONCATENATION Предложение INTO TABLE Предложение OPTIONS для таблицы


Слайд 18

Предложение OPTIONS OPTIONS (параметр = значение, …) Необязательное предложение, которое позволяет задать некоторые параметры работы утилиты в управляющем файле, а не в командной строке. Полезно, если командная строка становится слишком длинной, неудобной в работе. Значения параметров, указанные в предложении OPTIONS, могут быть изменены в командной строке.


Слайд 19

Параметры предложения OPTIONS: SKIP = n LOAD = n ERRORS = n ROWS = n BINDSIZE = n SILENT = {HEADER|FEEDBACK ERROR| DISCARDS|ALL} DIRECT = {TRUE|FALSE} PARALLEL = {TRUE|FALSE}


Слайд 20

Предложение LOAD DATA LOAD [DATA] [CHARACTERSET кодировка] Основной оператор в управляющем файле. LOAD [DATA] может сопровождаться уточняющими фразами и предложениями. CHARACTERSET имя_символьного_набора требуется, если входные файлы данных кодированы внешними символьными наборами: LOAD DATA CHARACTERSET RU8PC866 LOAD DATA CHARACTERSET CL8MSWIN1251


Слайд 21

Предложение INFILE INFILE|IDDN {*|имя_входного_файла} Далее (необязательно) следуют: BADFILE | BDDN имя_ файла отвергнутых записей. DISCARDFILE | DISCARDDN), имя файла отсеянных записей, DISCARDS | DISCARDMAX макс. число отбракованных записей. Обработка файла данных прекращается, когда достигается это ограничение.


Слайд 22

Методы загрузки таблиц INSERT APPEND REPLACE TRUNCATE Ключевое слово определяет глобальный метод для сеанса загрузки; кроме того, в предложении INTO TABLE можно задать метод для отдельной таблицы.


Слайд 23

Предложение CONCATENATION | CONTINUEIF Позволяет “собирать” одну логическую запись из нескольких физических CONCATENATE число - для постоянного количества физич. записей CONTINUEIF - для переменного количества физических записей CONTINUEIF THIS (1:2) = ‘_$’ CONTINUEIF NEXT (1:2) = ‘_$’ CONTINUEIF LAST != ‘#’ Если байты 1-2 текущей записи совпадают с шаблоном, подсоединить следующую запись Если байты 1-2 следующей записи совпадают с шаблоном, подсоединить следующую запись Если последний не пробельный символ текущей записи не ‘#’, объединить ее со следующей


Слайд 24

Предложение INTO TABLE Включает следующие элементы: Имя таблицы, в которую должны быть загружены данные Метод загрузки для таблицы Предложение OPTIONS для таблицы Предложение WHEN Предложение FIELDS Предложение TRAILING NULLCOLS Индексные опции Условия, связанные с полями Отношение между полями файла данных и столбцами базы данных


Слайд 25

Условия, относящиеся к полям Условие, относящееся к полю, — это выражение с полем логической записи, которое может принимать значение “истина” или “ложь”. В таких выражениях используются ключевые слова NULLIF и DEFALILTIF, а также фраза WHEN. Если выражение истинно, то: NULLIF присваивает значению столбца “NULL”,. DEFAULTIF - заносит в столбец нуль или пробел. BLANKS - позволяет проверять, содержат ли поля любой длины только пробелы.


Слайд 26

Спецификации столбцов Установка значений столбца 1. значение может читаться из файла данных. 2. генерироваться с помощью функций SQL*Loader: CONSTANT, RECNUM, SYSDATE SEQUENCE


Слайд 27

Использование функций SQL Строка с функцией вводится после всех других спецификаций для данного столбца и должна быть заключена в двойные кавычки. К именам полей в строке SQL можно обращаться, предваряя их двоеточием. Примеры использования функций SQL: my_field position (1: 18) integer external “TRANSLATE (RTRIM (:my_field) , ‘N/A’ , ‘ 0 ‘ ) “ my_string CHAR terminated by “, “ “SUBSTR (: my_string ,1, 10)” my_number position (1: 9) DECIMAL EXTERNAL(8) “:field/1000”


Слайд 28

Операторы загрузки в несколько таблиц Можно задавать SQL*Loader несколько операторов INTO TABLE, что позволяет решать такие задачи: Извлечение нескольких логических записей из одной физической записи. Работа с различными форматами записи. Загрузка данных в различные таблицы.


Слайд 29

Опции командной строки и файлы параметров Имя исполняемого модуля SQL*Loader зависит от операционной системы. Вызвав SQL*Loader без параметров, вы увидите список параметров командной строки и их значений по умолчанию:


Слайд 30


Слайд 31

Пример Parfile. SQLLOAD parfile=weekly.par WEEKLY. PAR userid=scofcfc/tiger control=weekly.ctL log=weekly, log errors=25 direct=true Параметры, заданные в файле управления или PARFILE, могут быть переопределены в командной строке.


Слайд 32

Примеры Вы можете найти их в каталоге [ORACLE_HOME] / RDBMSxx / LOADER


×

HTML:





Ссылка: