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

Презентация:



Advertisements
Похожие презентации
Работа с таблицами в MS Access. Таблицы Единицей хранящейся в БД информации является таблица. Таблица представляет собой совокупность строк и столбцов,
Advertisements

Тема урока Переменная. Тип данных. Ввод и вывод данных.
Ограничение целостности CHECK задает диапазон возможных значений для столбца. Ограничение целостности CHECK задает диапазон возможных значений для столбца.
База данных (БД) – Совокупность определённым образом организованной информации на определённую тему (в рамках определённой предметной деятельности); Организованная.
Технология хранения, поиска и сортировки информации в базах данных
Основы SQL Запросы к базе данных. Что такое база данных SQL? SQL (Structured Query Language - «Структурированный язык запросов») - универсальный компьютерный.
СУБД 5. SQL для выборки данных. 2 SELECT Обработка элементов оператора SELECT выполняется в следующей последовательности: FROM – определяются имена используемых.
Создание объектов баз данных. Создание таблицы в режиме Мастера таблиц Процесс создания объекта БД при помощи мастера делиться на несколько шагов, на.
Презентация к уроку по информатике и икт (9 класс) на тему: Презентация на тему "Основы Visual Basic"
Хранение таблиц По строкам По столбцам Строки нескольких таблиц группируются по общему атрибуту.
Program [ ] ; (заголовок программы) Var [ ] ; (раздел описания переменных) Begin (начало) Раздел операторов ; (команды) End. (конец)
«Обработка массивов данных» Delphi. Тема 4:4: «Обработка массивов данных» План темы: l1l1. Понятие массива данных. l2l2. Описание массива в программе.
База данных – это совокупность структурированных данных определенного назначения. Структурирование данных – это объединение данных по определенным параметрам.
Информационные системы. Базы данных. Информационная система – любая система обработки информации (шир)
6.5. Создание реляционной БД в среде СУБД ACCESS Общие сведения Реляционные отношения в СУБД ACCESS представлены в двух формах: в виде таблиц и в виде.
Статичні структури даних.. 2 Статические данные переменная (массив) имеет имя, по которому к ней можно обращаться размер заранее известен (задается при.
Лекция 16 Лекция 16 Основы SQL. Описание отношений, доменов, ограничений целостности, представлений данных. Реализация операций реляционной алгебры в SQL.
Электронные Таблицы Excel. ввод и редактирование данных; вычисления по формулам; форматирование таблиц; построение графиков и диаграмм; сортировка данных;
СТРОКОВЫЙ ТИП ДАННЫХ Строка это последовательность символов. Каждый символ занимает 1 байт памяти ( код ASCII). Количество символов в строке называется.
Элементы БД Таблицы Таблицы Формы Формы Запросы Запросы.
Транксрипт:

® SQL*Loader

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

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

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

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

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

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

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

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

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

® Последовательность работы SQL*Loader Критерий OK? Формат OK? Допустима? Признать запись негодной Читать логическую запись Сохранить запись База данных Отсеять запись Файл отсеянных записей Нет Да SQL*Loader RDBMS

® Типы загрузки SQL*Loader Обычная загрузка Процессор SQL Менеджер внешней памяти Менеджер буферов Поиск и заполнение частично занятых блоков Слежение за уровнем заполнения экстентов Кэш Запись в БДЧтение из БД Команды SQL SQL*Loader Команды SQL Пользователи База данных Oracle7 Server

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

® Типы загрузки SQL*Loader Прямая загрузка Процессор SQL Менеджер внешней памяти Менеджер буферов Поиск и заполнение частично занятых блоков Слежение за уровнем заполнения экстентов Кэш Запись в БДЧтение из БД Команды SQL SQL*Loader База данных Oracle7 Server

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

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

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

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

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

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

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

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

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

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

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

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

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

® Использование функций 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

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

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

®

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

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