Лабораторный практикум по НСД 2013
.pdf431
Далее выполним
Connect scott/scott
host impdp scott/scott parfile= C:\tmp\dpexmpl\metadatascott.par
В таблице «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''');
DBMS_DATAPUMP.start_job(l_dp_handle); DBMS_DATAPUMP.detach(l_dp_handle);
432
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
В «плоском» файле «C:\tmp\dpexmpl\empplain.txt» удалим текст запроса,
подсказку sql*plus и оставим только строки таблицы «emp». Далее
DROP TABLE emp_external;
create table emp_external (empno char(4), ename char(10),
433
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» выгрузить данные из нескольких (по выбору студента) таблиц (конечно, с предварительным созданием директории – объекта файловой системы ОС и директории – объекта базы данных) с использованием файла параметров и без него, с использованием опций «exclude», «include», «query», с демонстрацией процесса остановки процесса экспорта и последующего его продолжения, с демострацией использования PL/SQL API для получения файла выгрузки.
3.Продемонстрировать загрузку данных из схемы «v19» в схему «v3» с использованием утилиты «impdp».
4.Продемонстрировать формирование внешней таблицы в схеме «v3» и выгрузку в нее данных из таблицы (по выбору студента) базы данных.
5.Продемонстрировать формирование другой внешней таблицы в схеме «v3» и загрузку в нее данных из «плоского» файла ОС, сформированного данными таблицы (по выбору студента) в базе данных.
434
Тестовые задания к лабораторной работе № 20
Входной контроль
1.Какие возможности реализуются при полном экспортировании базы данных утилитой exp? Укажите верные строки.
a)Если имеется таблица со сбойным блоком, этот блок будет найден;
b)Выполняется проверка словаря данных и выявление в нем логической несогласованности;
c)Утилита exp находит блоки, требующие очистки;
d)Утилита exp создает файл, содержащий все операторы DDL, текст представлений, программных объектов;
e)Правильных ответов нет.
2.Что позволяет совместное использование утилит exp и imp? Укажите верные строки.
a)Перенос табличных пространств;
b)Пересоздание экземпляра с целью изменения, например, размера блока данных;
c)Выполнение дефрагментации табличных пространств;
d)Копирование данных с одной платформы на другую;
e)Правильных ответов нет.
3.Утилиты exp/imp не рекомендуется использовать, как основное средство резервного копирования. Среди ниже приведенных укажите строки, указывающие на причину отсутствия такой рекомендации.
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)Правильных ответов нет.
435
5.В ходе выполнения экспорта утилитой expdp есть возможность выполнять, используя встроенные в нее возможности этой утилиты, следующие действия (укажите верные действия в ниже приведенных строках).
a)Действия по мониторингу состояния выполняемой по экспорту работы;
b)Действия по остановке этой работы;
c)Действия по возобновлению этой работы при выполнении заданного условия;
d)Действия по повторному запуску этой работы;
e)Правильных ответов нет.
6.Для использования утилиты expdp необходимо создание объектовдиректорий в базе данных и соответствующих директорий в операционной системе. Какие привилегии должен иметь пользователь Oracle для работы с expdp (укажите верные строки среди ниже приведенных строк)?
a)Пользователь Oracle должен иметь привилегии на соответствующие объектдиректории в БД;
b)Пользователь Oracle должен иметь привилегии insert/update/delete any table;
c)Пользователь Oracle должен иметь привилегии на соответствующие директории в ОС;
d)Пользователь Oracle должен иметь роль dba;
e)Правильных ответов нет.
7.В ходе выполнения для удовлетворения потребностей мониторинга expdp позволяет получать следующую информацию (укажите верные строки среди ниже приведенных строк).
a)Выполняемая операция;
b)Количество подсоединенных сессий;
c)Количество ошибок;
d)Текущая доля выполненной работы в процентах;
e)Правильных ответов нет.
Выходной контроль
1. Укажите строки, соответствующие существующим методам логического копирования.
a)Копирование базы данных в файл внутреннего формата Oracle, переносимый между различными версиями Oracle;
b)Копирование отдельных представлений в отдельных схемах базы данных;
c)Копирование анонимных блоков;
d)Копирование конфигурационных файлов базы данных;
e)Копирование всех объектов выбранного пользователя;
f)Правильных ответов нет.
2.Укажите, с использованием каких утилит Oracle осуществляется логические копирование и восстановление базы данных.
a)exp;
b)imp;
c)oradim80;
436
d)expdp;
e)impdp;
f)Правильных ответов нет.
3.Внешняя таблица (ORGANIZATION EXTERNAL) создается на основе
таблицы «employee» схемы «demo» с опцией «TYPE ORACLE_DATAPUMP». В результате действия этой команды происходит…
a)Формирование пустого файла ОС, в который затем будут загружаться данные из таблицы «employee» схемы «demo»;
b)Формирование временной таблицы в схеме пользователя по образцу табли-
цы «employee» схемы «demo» с сохранением «primary key» образца;
c)Создается временная таблица в схеме внешнего пользователя (с внешней аутентификацией) базы данных по образцу таблицы «employee» схемы
«demo»;
d)В указанной в команде создания внешней таблицы директории создается файл выгрузки таблицы «employee» схемы «demo»;
e)При формировании SQL запросов к внешней таблице информация будет извлекаться из созданного при создании внешней таблицы файла ОС;
f)Правильных ответов нет.
4.Файл выгрузки, сформированный утилитой «expdp» может быть загружен утилитой…
a)imp;
b)rmanimp;
c)impdp;
d)rdbms.imp;
e)imp80;
f)Правильных ответов нет.
5.Файл выгрузки, сформированный утилитой «exp» может быть загружен утилитой…
a)imp;
b)imp80;
c)rdbms.imp;
d)impdp;
e)rmanimp;
f)Правильных ответов нет.
6.Укажите причины, по которым целесообразно использование как логического, так и физического методов резервного копирования базы данных в технологиях backup & recovery.
a)Уменьшение общего времени (в расчете на неделю или месяц) работы базы
данных) резервного копирования и восстановления базы данных;
b)При физическом копировании поврежденные блоки восстанавливаются;
c)При логическом копировании копируются log файлы, а при физическом – нет;
437
d)При физическом копировании поврежденные блоки копируются с сохранением повреждений, а при логическом повреждение блока будет выявлено;
e)При физическом копировании rbs сегменты копируются, а при логическом – нет;
f)Правильных ответов нет.
7.Документация Oracle не рекомендует выполнять экспорт пользователем «sys» с привилегией «sysdba». Объясняется это тем, что при экспорте этим пользователем не может быть использован параметр экспорта…
a)compress;
b)constraints;
c)direct;
d)feedback;
e)consystent=y;
f)Правильных ответов нет.
|
|
|
|
438 |
|
|
|
5. ОТВЕТЫ К ТЕСТОВЫМ ЗАДАНИЯМ |
|||||
|
|
|
|
|
|
|
Номер лабора- |
|
Входной контроль |
Выходной контроль |
|
||
торной работы |
вопрос |
верные от- |
вопрос |
верные от- |
|
|
|
|
|
веты |
|
веты |
|
|
1 |
|
b |
1 |
c |
|
|
2 |
|
с |
2 |
a,c,e |
|
|
3 |
|
с |
3 |
b,c,d |
|
|
4 |
|
a |
4 |
b |
|
1 |
5 |
|
d,e |
5 |
c |
|
|
|
|
|
|
|
|
|
6 |
|
a,c,e |
6 |
a,d |
|
|
|
|
|
|
|
|
|
7 |
|
b |
7 |
b,c |
|
|
|
|
|
|
|
|
|
8 |
|
b,c |
8 |
b,c |
|
|
|
|
|
|
|
|
|
9 |
|
b |
9 |
a |
|
|
10 |
|
d |
10 |
c,d |
|
|
1 |
|
a |
1 |
a |
|
|
2 |
|
a,b,c |
2 |
d |
|
|
3 |
|
c |
3 |
a |
|
|
4 |
|
a,d |
4 |
b |
|
2 |
5 |
|
b |
5 |
a,d |
|
|
6 |
|
a |
6 |
a |
|
|
7 |
|
d |
7 |
b |
|
|
8 |
|
a,b,d |
8 |
A,b,c,d,e |
|
|
9 |
|
a,b |
9 |
a |
|
|
10 |
|
a,b,c,d,e |
10 |
A,b,c |
|
|
1 |
|
a |
1 |
A,c,e |
|
|
2 |
|
c |
2 |
B,c,d |
|
3 |
|
|
|
|
|
|
3 |
|
b |
3 |
c |
|
|
|
|
|
|
|
|
|
|
4 |
|
a |
4 |
B,c |
|
|
|
|
|
|
|
|
|
5 |
|
b,c |
5 |
A,c,d |
|
|
|
|
|
|
|
|
|
1 |
|
c |
1 |
e |
|
|
|
|
|
|
|
|
|
2 |
|
d |
2 |
c |
|
|
|
|
|
|
|
|
|
3 |
|
d |
3 |
b |
|
|
|
|
|
|
|
|
|
4 |
|
d |
4 |
c |
|
|
5 |
|
b,e |
5 |
a |
|
|
|
|
|
|
|
|
4 |
6 |
|
b |
6 |
a |
|
|
|
|
|
|
|
|
7 |
|
b |
7 |
b |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
8 |
|
c |
8 |
d |
|
|
9 |
|
c |
9 |
b |
|
|
10 |
|
d |
10 |
a |
|
|
11 |
|
a |
11 |
b |
|
|
12 |
|
c |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
a |
1 |
a |
|
|
|
|
|
|
|
|
|
2 |
|
c |
2 |
c |
|
|
3 |
|
e |
3 |
a |
|
|
4 |
|
b |
4 |
c |
|
|
5 |
|
a |
5 |
a |
|
|
|
|
|
|
|
|
5 |
6 |
|
b |
6 |
c |
|
7 |
|
b |
|
|
|
|
|
|
|
|
|
||
|
8 |
|
a |
|
|
|
|
9 |
|
a |
|
|
|
|
10 |
|
b |
|
|
|
|
11 |
|
a |
|
|
|
|
12 |
|
a,d,f |
|
|
|
|
|
|
|
|
|
|
|
|
|
439 |
|
|
Номер лабора- |
Входной контроль |
Выходной контроль |
|||
торной работы |
вопрос |
верные от- |
вопрос |
верные от- |
|
|
|
веты |
|
веты |
|
|
1 |
b |
1 |
e |
|
|
2 |
d |
2 |
c,d |
|
|
3 |
a,b,c,d,e |
3 |
d |
|
|
4 |
a,b,c,d,e |
4 |
c |
|
6 |
5 |
c,d |
5 |
a,b,c,d |
|
|
6 |
a |
6 |
a,b,c,d |
|
|
7 |
c |
7 |
c,d |
|
|
8 |
a,b,c |
|
|
|
|
9 |
b,c |
|
|
|
|
|
|
|
|
|
|
10 |
c,d |
|
|
|
|
|
|
|
|
|
|
1 |
a |
1 |
b |
|
|
|
|
|
|
|
|
2 |
a |
2 |
c |
|
|
|
|
|
|
|
|
3 |
j |
3 |
b |
|
|
|
|
|
|
|
|
4 |
a |
4 |
a |
|
|
5 |
c |
5 |
c |
|
|
6 |
b |
6 |
a,b,c |
|
7 |
7 |
a |
|
|
|
|
|
|
|||
|
8 |
a |
|
|
|
|
9 |
a |
|
|
|
|
10 |
a |
|
|
|
|
11 |
d |
|
|
|
|
12 |
b |
|
|
|
|
|
|
1 |
b |
|
|
|
|
2 |
a |
|
|
|
|
3 |
a,b |
|
8 |
|
|
4 |
d |
|
|
|
|
5 |
c |
|
|
|
|
|
|
|
|
|
|
6 |
c |
|
|
|
|
|
|
|
|
|
|
7 |
a |
|
|
|
|
|
|
|
|
1 |
a |
1 |
b |
|
|
|
|
|
|
|
|
2 |
b |
2 |
b |
|
|
3 |
a |
3 |
a |
|
|
4 |
b |
4 |
a |
|
|
5 |
a |
5 |
b |
|
9 |
6 |
c |
6 |
a,b,c |
|
|
|||||
|
7 |
a |
7 |
a |
|
|
8 |
a |
8 |
d |
|
|
9 |
a |
9 |
a |
|
|
10 |
a |
10 |
a |
|
|
1 |
a |
1 |
a,b |
|
|
2 |
b |
2 |
b |
|
|
3 |
a |
3 |
a |
|
|
|
|
|
|
|
|
4 |
b |
4 |
a |
|
|
5 |
b |
5 |
b |
|
|
6 |
a,b,c |
6 |
a,d |
|
|
7 |
b,c |
7 |
a,c |
|
|
|
|
|
|
|
|
8 |
a |
8 |
b,c |
|
10 |
|
|
|
|
|
9 |
a,b |
9 |
a |
||
|
|||||
|
10 |
a |
10 |
b |
|
|
11 |
a |
11 |
b |
|
|
12 |
a |
12 |
c |
|
|
13 |
a,c |
13 |
a |
|
|
14 |
b,c |
14 |
a,c |
|
|
15 |
a |
15 |
c |
|
|
|
|
440 |
|
|
|
|
|
|
|
Номер лабора- |
|
Входной контроль |
Выходной контроль |
||
торной работы |
|
|
|
|
|
вопрос |
верные от- |
вопрос |
верные |
||
|
|
|
веты |
|
ответы |
|
1 |
|
c |
1 |
e |
|
|
|
|
|
|
|
2 |
|
a,b |
2 |
c,d,e |
|
|
|
|
|
|
|
3 |
|
b,d |
3 |
a,b,c |
11 |
|
|
|
|
|
4 |
|
a,b,c |
4 |
b,d,e |
|
|
5 |
|
a,b,c,d |
5 |
b,d |
|
6 |
|
c |
6 |
c,d |
|
7 |
|
a,b,c |
7 |
b,c,e |
|
1 |
|
a,b,d |
1 |
b,d,e,f,g |
|
2 |
|
b,c,d |
2 |
d |
|
3 |
|
a,b |
3 |
b,c,d,e,f |
12 |
4 |
|
a,b |
4 |
e |
|
5 |
|
b,c |
5 |
c |
|
6 |
|
a,b,c,d |
6 |
d |
|
7 |
|
a,b,d |
7 |
e |
|
1 |
|
d |
1 |
d |
|
|
|
|
|
|
|
2 |
|
b,d |
2 |
d |
|
|
|
|
|
|
|
3 |
|
a,c,d |
3 |
b |
13 |
4 |
|
b |
4 |
d |
|
5 |
|
c |
5 |
d |
|
|
|
|
|
|
|
6 |
|
c |
6 |
f |
|
|
|
|
|
|
|
7 |
|
d |
7 |
f |
|
1 |
|
a,b |
1 |
a,d |
|
2 |
|
c |
2 |
a |
|
3 |
|
c,d |
3 |
b |
|
4 |
|
a |
4 |
b |
|
5 |
|
a,b |
5 |
c |
|
6 |
|
a |
6 |
a |
|
7 |
|
b |
7 |
a |
|
8 |
|
a,b,c |
8 |
a |
14 |
9 |
|
a |
9 |
d |
|
|
||||
|
10 |
|
d |
10 |
d |
|
11 |
|
c |
11 |
c |
|
|
|
|
|
|
|
12 |
|
a,b,c |
12 |
b |
|
|
|
|
|
|
|
13 |
|
c |
13 |
a |
|
|
|
|
|
|
|
14 |
|
b |
14 |
a,c |
|
15 |
|
c |
15 |
a |
|
1 |
|
a,b,c,d |
1 |
b |
|
2 |
|
b,c,d |
2 |
f |
|
3 |
|
a,b,d |
3 |
a,c,e |
15 |
4 |
|
d |
4 |
e |
|
5 |
|
b |
5 |
c |
|
6 |
|
d |
6 |
c |
|
7 |
|
a,c |
7 |
b |
|
1 |
|
d |
1 |
a,b,c,d,e |
|
2 |
|
c |
2 |
a |
|
3 |
|
b |
3 |
b,e |
16 |
4 |
|
c |
4 |
c |
|
5 |
|
a,b,c |
5 |
e |
|
6 |
|
a,b,c,d |
6 |
c,d,e |
|
|
|
|
|
|
|
7 |
|
a,b,c,d |
7 |
b,c,e |
|
|
|
|
|
|