Материал: Горбатов Аттестационные испытания автоматизированных систем от 2014

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

В таблице «scottsql.txt» сформированы DDL скрипты, которые можно корректировать так, как это требуется разработчику или администратору базы данных.

Отличительной особенностью «data pump» по сравнению с «exp», «imp», как уже указывалось, является возможность использования API, что позволяет разработчику встраивать в разрабатываемые приложения действия по экспорту и импорту информации базы данных. Приведем пример анонимного блока экспорта схемы

«scott» с использованием PL/SQL API (http://www.f-notes.info/oracle:oracledatapump10g).

Выполним

Connect scott/scott

host del c:\tmp\dpexmpl\scott.dmp DECLARE

l_dp_handle NUMBER;

l_last_job_state VARCHAR2(30) := 'UNDEFINED'; l_job_state VARCHAR2(30) := 'UNDEFINED'; l_sts KU$_STATUS;

BEGIN

l_dp_handle := DBMS_DATAPUMP.open( operation => 'EXPORT',

job_mode => 'SCHEMA', remote_link => NULL, job_name => 'SCOTT_EXPORT', version => 'LATEST'); DBMS_DATAPUMP.add_file( handle => l_dp_handle, filename => 'SCOTT.dmp', directory => 'DPEXMPL'); DBMS_DATAPUMP.add_file( handle => l_dp_handle, filename => 'SCOTT.log', directory => 'DPEXMPL',

filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE); DBMS_DATAPUMP.metadata_filter(

handle => l_dp_handle, name => 'SCHEMA_EXPR', value => '= ''SCOTT''');

496

DBMS_DATAPUMP.start_job(l_dp_handle);

DBMS_DATAPUMP.detach(l_dp_handle); END;

/

Этим скриптом запущена работа по экспорту. Через пару минут в папке «C:\tmp\dpexmpl» в файле scott.log можно будет увидеть протокол завершившегося экспорта.

Приведем еще один пример использования data pump – для работы с внешними таблицами (http://www.f- notes.info/oracle:oracledatapump10g). С помощью «data pump» дан-

ные переносятся из таблиц базы данных во внешние таблицы, а утилиты «sql*loader» ‒ из «плоских» файлов во внешние таблицы.

Создадим (http://www.f-notes.info/oracle:oracledatapump10g)

внешнюю таблицу с помощью «data pump» (в этом случае данные из таблицы базы данных перемещаются во внешние таблицы)

Drop table emp_xt;

Host del C:\tmp\dpexmpl\scott.dmp CREATE TABLE emp_xt ORGANIZATION EXTERNAL

(

TYPE ORACLE_DATAPUMP DEFAULT DIRECTORY dpexmpl LOCATION ('scott.dmp')

)

AS SELECT substr(to_char(empno),1,4) empno,ename,job, Substr(to_char(deptno),1,2) deptno FROM emp;

SELECT * FROM emp_xt;

Создадим внешнюю таблицу с помощью утилиты «sql*loader» (в этом случае данные из «плоского» файла перемещаются во внешние таблицы). Сначала создаем «плоский» файл:

Connect scott/scott

spool C:\tmp\dpexmpl\empplain.txt select empno||rpad(ename,10,' ')|| rpad(job,9,' ')||deptno

from scott.emp; spool off

497

В «плоском» файле «C:\tmp\dpexmpl\empplain.txt» удалим текст запроса, подсказку sql*plus и оставим только строки таблицы

«emp». Далее:

DROP TABLE emp_external;

create table emp_external (empno char(4), ename char(10), job char(9), deptno char(2)) organization external

(type oracle_loader default directory dpexmpl access parameters

(RECORDS DELIMITED BY NEWLINE LOGFILE 'BOXES.log'

fields

(empno position(1:4), Ename position(5:14), Job position(15:23), deptno position(24:25))) location ('empplain.txt'));

SELECT * FROM emp_external;

Сдача лабораторной работы

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

вдругую.

1.Пример задания студенту по работе с утилитами «exp», «imp»: из схемы «v19» выгрузить данные из нескольких (по выбору студента) таблиц с использованием файла параметров и без него, с трассировкой и просмотром результатов трассировки утилитой «tkprof», с обеспечением контроля протекания процесса экспорта (feedback), с использованием условия выгрузки «where» и загрузить данные в схему «v3».

2.Пример задания студенту по работе с утилитами «expdp», «impdp»: из схемы «v19» выгрузить данные из нескольких (по выбору студента) таблиц (конечно, с предварительным созданием директории – объекта файловой системы ОС и директории – объекта

498

базы данных) с использованием файла параметров и без него, с использованием опций «exclude», «include», «query», с демонстрацией процесса остановки процесса экспорта и последующего его продолжения, с демострацией использования PL/SQL API для получения файла выгрузки.

3.Продемонстрировать загрузку данных из схемы «v19» в схему «v3» с использованием утилиты «impdp».

4.Продемонстрировать формирование внешней таблицы в схеме «v3» и выгрузку в нее данных из таблицы (по выбору студента) базы данных.

5.Продемонстрировать формирование другой внешней таблицы в схеме «v3» и загрузку в нее данных из «плоского» файла ОС, сформированного данными таблицы (по выбору студента) в базе данных.

Тестовые задания к работе 20

Входной контроль

1.Какие возможности реализуются при полном экспортировании базы данных утилитой exp?

a)если имеется таблица со сбойным блоком, этот блок будет найден;

b)выполняется проверка словаря данных и выявление в нем логической несогласованности;

c)утилита exp находит блоки, требующие очистки;

d)утилита exp создает файл, содержащий все операторы DDL, текст представлений, программных объектов;

e)правильных ответов нет.

2.Что позволяет совместное использование утилит exp и

imp?

a)перенос табличных пространств;

b)пересоздание экземпляра с целью изменения, например, размера блока данных;

c)выполнение дефрагментации табличных пространств;

d)копирование данных с одной платформы на другую;

e)правильных ответов нет.

3.Утилиты exp/imp не рекомендуется использовать, как основное средство резервного копирования. Среди нижеприве-

499

денных укажите строки, указывающие на причину отсутствия такой рекомендации:

a)невозможно встраивать в приложения (нет API);

b)длительное время выполнения восстановления утилитой imp из-за необходимости выполнения SQL операторов заполнения таблиц;

c)инкрементное экспортирование/импортирование в дальнейших версиях СУБД не будет поддерживаться Oracle;

d)копирование данных с помощью названных утилит возможно только для определенной кодировки информации в базе данных;

e)правильных ответов нет.

4.Среди нижеприведенных укажите строки, верно характеризующие утилиты expdp, impdp.

a)большинство параметров аналогичны параметрам утилит exp/imp;

b)формат dmp файлов утилит expdp, impdp не совместим с форматом dmp файлов утилит exp, imp;

c)утилиты expdp, impdp имеют графический интерфейс;

d)формат dmp файлов утилит expdp, impdp совместим для всех версий, начиная с версии СУБД Oracle 10.1;

e)павильных ответов нет.

5.В ходе выполнения экспорта утилитой expdp есть возможность выполнять, используя встроенные в нее возможности этой утилиты, следующие действия:

a)действия по мониторингу состояния выполняемой по экспорту работы;

b)действия по остановке этой работы;

c)действия по возобновлению этой работы при выполнении заданного условия;

d)действия по повторному запуску этой работы;

e)правильных ответов нет.

6.Для использования утилиты expdp необходимо создание объектов-директорий в базе данных и соответствующих директорий в операционной системе. Какие привилегии должен иметь пользователь Oracle для работы с expdp?

a)пользователь Oracle должен иметь привилегии на соответствующие объект-директории в БД;

500

Смотрите также:

1872
Анализ системы автоматического управления стабилизации напряжения генератора
Вольтер. Слепые судьи, рассуждающие о цвете предметов
ИздательствоЮжно-Уральский государственный аграрный университетISBNГод2006Страниц19Уровень образованияБакалавриат. Сельскохозяйственные рынки
Изучение «электротехнических» причин пожаров при расследовании и экспертизе. методические указания к выполнению лабораторных работ по дисциплине «Расследование и экспертиза пожаров». Скляров К.А., Сушко Е.А
Культурная среда города как фактор повышения инвестиционной привлекательности территории
Малый бизнес
Метрики и методы преобразования чертежа. методические указания для студентов направления Строительство. Иващенко Е.И
Особенности лексико-грамматической стороны речи у детей дошкольного возраста с ОНР
питание-у-пациентов-на-программном-гемодиализе»