Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторный практикум по НСД 2013

.pdf
Скачиваний:
66
Добавлен:
12.11.2022
Размер:
9.94 Mб
Скачать

431

Далее выполним

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

 

 

 

 

 

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]