Горбатов Аттестационные испытания автоматизированных систем от 2014
.pdfСопоставив результаты этих селектов с вышеприведенными селектами чтобы увидеть, что мы потеряли из-за «порчи» файлов журнализации.
Сценарий восстановления на этом завершен.
Сдача лабораторной работы
Сдача лабораторной работы заключается:
–в демонстрации студентом преподавателю восстановления базы данных по п. 1 и 2 работы для tablespace, отличной от users01.dbf, например, для example01.dbf;
–в демонстрации студентом преподавателю выполнения п. 3 работы для таблиц tt1, tt2, созданных для нового пользователя student с установленным для этого пользователя «собственным» табличным пространством размером 400 Мб.
Тестовые задания к работе 19
Входной контроль
1.Укажите в ряду нижеперечисленных цифр значение, равное минимальному количеству оперативных файлов журнала повторного выполнения:
a)1;
b)2;
c)3;
d)4;
e)правильных ответов нет.
2.В ходе процесса восстановления базы данных приходится издавать команды shutdown (immediate) и startup. Среди ниже-
приведенных строк укажите строки, соответствующие отдельным шагам открытия базы данных:
a)MOUNT;
b)NOMOUNT;
c)OPEN;
d)RECOVERY;
e)правильных ответов нет.
481
3.На открытой базе данных работа завершается, если происходит (укажите верные строки)…
a)потеря хотя бы одного управляющего файла;
b)потеря файла табличного пространства SYSTEM;
c)потеря табличного пространства UNDO;
d)теряется целиком вся журнальная группа;
e)правильных ответов нет.
4.Какие основные типы блоков памяти (Oracle) представлены в работающей базе данных?
a)блоки памяти, информация из которых была использована завершенными транзакциями, но не обновленные в связи с этими завершенными транзакциями;
b)блоки памяти, информация из которых используется незавершенными транзакциями, и, несмотря на незавершенность транзакции, содержащие промежуточную информацию этих незавершенных транзакций;
c)согласованные блоки памяти, хранящие действительную информацию завершенных транзакций;
d)блоки, не заполненные информацией;
e)правильных ответов нет.
5.В нижеприводимом списке укажите строки, соответствующие структурам, обеспечивающим восстановление после сбоев/отказов базы данных:
a)сегменты отката;
b)журналы повторного выполнения;
c)области памяти процессов;
d)средства восстановления распределенных транзакций;
e)правильных ответов нет.
6.В нижеприведенных строках укажите строки, соответствующие фазам восстановления экземпляра после сбоя (по питанию) компьютера, на котором установлен сервер Oracle:
a)после открытия базы данных незавершенные транзакции откатываются назад;
b)после «наката» всех транзакций база данных открывается;
c)в случае несовпадения системного номера изменений (SCN) в управляющем файле и файле базы данных, Oracle обращается к файлам журнала повторного выполнения и «накатывает» все транзакции до точки сбоя;
482
d)проверяется совпадение системного номера изменений (SCN)
вуправляющем файле и файле базы данных;
e)правильных ответов нет.
7. Укажите среди нижеприводимых строки, соответствующие верным утверждениям в отношении ситуаций восстановления базы данных:
a)оперативный журнал повторного выполнения используется для корректировки файлов данных в случае ошибки СУБД в выполнении SQL оператора выборки больших объемов данных;
b)оперативный журнал повторного выполнения используется для корректировки файлов данных в случае сбоя питания;
c)архивные журналы повторного выполнения используются для восстановления конфигурационных файлов (файла конфигурационных параметров, файлов сетевой настройки) в случае сбоя диска;
d)архивные журналы повторного выполнения используются для восстановления файлов данных в случае сбоя диска;
e)правильных ответов нет.
Выходной контроль
1.Создание каких копий предполагает физическое копирование?
a)файлов данных базы данных Oracle;
b)таблиц, индексов и представлений базы данных;
c)контрольных файлов, файла инициализационных параметров;
d)программных модулей базы данных;
e)log файлов, файла паролей;
f)правильных ответов нет.
2.Укажите причину, по которой при «горячем» копировании Oracle устанавливает специальный режим копирования для табличных пространств (alter tablespace…begin beckup).
Физические копии должны использоваться для восстановления исходной информации…
a)совместное потребление ресурсов процессора администратором, осуществляющим копирование, и пользователем;
483
b)возможность одновременной работы с одним и тем же блоком хранимых данных и программы «горячего» копирования, и пользователей;
c)обеспечение возможности копирования табличных пространств несколькими администраторами базы данных;
d)возможность непривилегированного пользователя остановить процесс копирования;
e)остановка выполнения транзакций пользователями при копировании;
f)правильных ответов нет.
3.В чем состоит отличие работы с log файлами при «горячем» копировании и в режиме работы базы данных без «горячего» копирования с включенным режимом архивации?
a)в log файлы несогласованные копируемые блоки хранимых данных пишутся целиком;
b)в log файлы согласованные копируемые блоки хранимых данных пишутся целиком;
c)запись блоков в log файлы совсем не производится;
d)в log файлы пишутся только заголовки несогласованных бло-
ков;
e)в log файлы пишутся выявленные при копировании ошибки в несогласованных блоках;
f)правильных ответов нет.
4.Укажите ситуации, в которых требуется выполнение физического восстановления:
a)текущая сессия пользователя была прервана выключением клиентского компьютера;
b)надо сделать работающую копию текущей базы данных на другом компьютере с теми же версиями ОС и Oracle;
c)надо восстановить базу данных в случае замены или изменения разделов диска;
d)один или несколько файлов данных были повреждены или потеряны;
e)надо восстановить базу данных по состоянию на определенный момент в прошлом;
f)правильных ответов нет.
484
5. Укажите причину, по которой из копии базы данных, полученной в результате «холодного» копирования, можно выполнить только частичное восстановление базы данных:
a)отсутствие в «холодной» копии базы данных некоторых файлов данных;
b)отсутствие в «холодной» копии базы данных схемы "SYS";
c)отсутствие информации аудита базы данных, сформированной
вбазе данных в ходе ее работы после «холодного» копирования;
d)отсутствие информации трассировки базы данных, сформированной в базе данных в ходе ее работы после «холодного» копирования;
e)потеря архивных или log файлов, сформированных в ходе работы базы данных уже после получения «холодной» копии базы данных;
f)правильных ответов нет.
6.В ходе работы пользователя (с привилегией «sysdba») с базой данных Oracle произошел сбой по питанию. После перезагрузки ОС база данных монтируется, но не открывается. Какие команды выполняет пользователь в ходе восстановления базы данных?
a)recover automatic database;
b)recover database automatic;
c)alter database open;
d)startup nomount;
e)alter system recover database automatic;
f)правильных ответов нет.
7.В ходе работы в режиме архивирования пользователя базы данных (с привилегией «sysdba») произошел сбой базы данных из-за потери log файлов. Наряду с физической копией базы данных в распоряжении пользователя имеются архивные файлы. Какие команды выполняет пользователь в ходе восстановления базы данных?
a)startup mount;
b)recover database until cancel;
c)нажатие (может быть, неоднократное) клавиши «Enter»;
d)cansel;
e)alter database open resetlogs;
f)правильных ответов нет.
485
Работа 20
КОНТРОЛЬ ВОССТАНОВЛЕНИЯ БАЗЫ ДАННЫХ МЕТОДАМИ ЛОГИЧЕСКОГО КОПИРОВАНИЯ
Цель: получение практических навыков контроля резервирования и восстановления базы данных методами логического копирования с использованием утилит логического копирования Oracle.
ПЛАН ПРОВЕДЕНИЯ РАБОТЫ
1.Работа с утилитами «exp», «imp». Общее знакомство с утилитами. Примеры выполнения выгрузки и загрузки данных. Примеры восстановления запорченной в таблице информации. Опции выгрузки и загрузки. Трассировка работы утилит.
2.Работа с утилитами «expdp», «impdp». Создание директории
–объекта файловой системы ОС и директории – объекта базы данных для хранения результатов экспорта. Манипулирование процессом выгрузки. Различные опции утилит «expdp», «impdp». Использование PL/SQL API для выгрузки данных. Технологиz data pump Oracle и внешние таблицы.
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
1. Работа с утилитами «exp», «imp». Общее знакомство с утилитами. Примеры выполнения выгрузки и загрузки данных. Примеры восстановления запорченной в таблице информации. Опции выгрузки и загрузки. Трассировка работы утилит.
В окне DOS введем команду (работа с утилитами выполняется в окне DOS пользователем с привилегией администратора ОС)
exp help=y
Выводится таблица с представленным в ней описанием параметров утилиты «exp».
Выполним экспорт таблиц пользователя «scott». Для того чтобы в дальнейшем можно было работать в схеме «scott», надо пользователем «system» выполнить команды разблокировки (alter user scott account unlock;) и изменения пароля (alter user scott identified by scott;) пользователя.
486
exp system/system@orcl owner=scott file=c:\tmp\emp.scott log=c:\tmp\scott.log
Экспорт выполняется пользователем «system», обладающим ролью «dba», которой принадлежит системная привилегия «expfulldatabase». Выполнять экспорт пользователем с привилегией «sysdba» Oracle не рекомендует, так как параметр экспорта определяемый ключевым словом «consistent» (требование согласованности выгружаемых таблиц, с которыми во время экспорта выполняются транзакции) для пользователя с привилегией «sysdba» не поддерживается.
Возможен другой вариант команды экспорта пользователя
«scott» с паролем «scott»
exp userid=scott/scott@orcl file=c:\tmp\scott.dmp log=c:\tmp\ scott.log
После экспорта ознакомимся с помощью worpad-а с содержимым дамп-файла и обнаружим, что экспортированы все привилегии на объекты схемы «scott». В частности, привилегии на таблицу «emp», которые назаначались пользователям «king», «ford» и другим пользователям при выполнении лабораторной работы по детальному контролю доступа. Параметр «grant» утилиты «exp» установлен в «Y» по умолчанию.
Теперь откроем в окне sqlplus сессию пользователя «scott» и удалим все строки таблицы «salgrade»:
Delete from salgrade; commit;
Вслед за тем восстановим содержимое таблицы «salgrade», используя утилиту импорта в окне dos:
imp scott/scott@orcl file=c:\tmp\scott.dmp ignore=y full=yes
Вэтой команде установлен параметр «ignore=y» (по умолчанию этот параметр имеет значение «N»), так как иначе импорт строк в таблицу «salgrade» не состоится из-за ошибки импорта, связанной с попыткой этой утилиты создать заново таблицу
«salgrade».
Экспортируем только таблицу «salgrade» из схемы «scott»:
exp system/system@orcl tables=scott.salgrade file=c:\ tmp\salgrade.dmp log=c:\tmp\salgrade.log
Вокне sqlplus в сессии пользователя «scott» удалим все строки таблицы «salgrade»
487
Delete from salgrade; commit;
Вслед за тем восстановим содержимое таблицы «salgrade», используя утилиту импорта в окне dos:
imp system/system@orcl fromuser=scott touser=scott ignore=y file=c:\tmp\salgrade.dmp
Здесь «ignore=y» появилось, чтобы на экспорт не повлияла ошибка из-за попытки при импорте создать таблицу «salgrade» заново.
Можно загрузить таблицу «salgrade» вместе со строками в другую схему, например «hr». Для того, чтобы в дальнейшем можно было работать в схеме «hr», надо пользователем «system» выполнить команды разблокировки (alter user hr account unlock;) и изме-
нения пароля (alter user hr identified by hr;) пользователя:
imp system/system@orcl fromuser=scott touser=hr tables=salgrade file=c:\tmp\salgrade.dmp
После этого надо удалить таблицу «salgrade» из схемы «hr». При экспорте и импорте можно использовать файлы парамет-
ров. Например,
exp system/system@orcl parfile=c:\tmp\expparam.txt
Содержимое файла «expparam.txt» tables=scott.salgrade file=c:\tmp\salgrade.dmp log=c:\tmp\salgrade.log
imp system/system@orcl parfile=c:\tmp\impparam.txt
Содержимое файла «impparam.txt» fromuser=scott
touser=scott
ignore=y
file=c:\tmp\salgrade.dmp
При использовании утилиты exp можно выполнить трассировку экспорта командой
exp system/system@orcl owner=scott file=c:\tmp\emp.dmp log=c:\tmp\emp.log trace=y
После этого файл трассировки можно увидеть в последних файлах в папке D:\oracle\product\10.2.0\admin\orcl\udump, если упо-
рядочить файлы по дате. Этот файл трассировки можно анализировать с помощью утилиты «tkprof»:
488
tkprof d:\oracle\product\10.2.0\admin\orcl\udump\orcl_ora_1120.trc c:\tmp\output.txt sort=exeela
Утилита «tkprof» позволяет убедиться в том, что экспорт связан со многими обращениями к словарю базы данных для извлечения метаданных. С помощью трассировки мы можем уточнить все детали экспорта и поправить ошибку.
Утилита «exp» позволяет выгружать строки по условию:
exp system/system@orcl tables=scott.emp file=c:\tmp\emp.dmp log=c:\tmp\emp.log query=\"where job='CLERK'\"
exp system/system@orcl tables=scott.emp file=c:\tmp\emp.dmp log=c:\tmp\emp.log query=\"where deptno>=20\"
exp system/system@orcl tables=scott.emp file=c:\tmp\emp.dmp log=c:\tmp\emp.log query=\"where deptno>=20 and job='CLERK'\"
Для отслеживания процесса экспорта вводится ключевое слово
«feedback»:
exp system/system@orcl tables=scott.emp feedback=2 file=c:\tmp\emp.dmp log=c:\tmp\emp.log
По ходу выполнения экспорта после экспортирования каждых двух строк таблицы «emp» в выводимом протоколе экспорта появится знак «.» (точка). В нашем примере появится 7 точек подряд.
Аналогично для отслеживания процесса импорта:
imp system/system@orcl fromuser=scott touser=hr feedback=2 file=c:\tmp\emp.dmp log=c:\tmp\emp.log
В нашем примере в протоколе импорта появится 7 точек подряд.
После проведенного в схему «hr» импорта надо удалить из этой схемы импортированную в нее таблицу «emp».
Для экспорта всей базы данных используется команда
exp `sys/sys@orcl as sysdba` FULL=Y FILE=c:\tmp\full.dmp log=c:\tmp\full.txt
При импортировании больших таблиц для уменьшения размера сегмента отката полезно использовать «commit» для промежуточных этапов импорта. Промежуточный этап завершается при заполнении буфера, размер которого определяется ключевым словом «buffer». Нижеприводимая команда для пользователя «scott» неактуальна, так как размер таблиц схемы невелик, приводится эта команда только для иллюстрации синтаксиса:
489
imp userid=scott/scott@orcl FILE= c:\tmp\scott.dmp log=c:\ tmp\scott.log BUFFER =32000 COMMIT = Y ignore=y
Врезультате выполнения этой команды будут загружены только строки таблицы «salgrade», так как для остальных таблиц при загрузке будет нарушено ограничение уникальности. В отношении последней команды следует отметить, что при импортировании таблиц с полями типа «lob», «blob» размер буфера надо подбирать так, чтобы его хватило на импортирование объектов этого типа.
При импортировании объектов можно использовать команду импорта, которая собственно импорт не выполнит, но создаст sql скрипт создания объектов импортируемой схемы. Эти скрипты можно поправить, изменив «storage», «tablespace» для таблиц, индексов, разнеся их по раным tablespace:
imp.exe USERID=scott/scott@orcl FILE= c:\tmp\scott.dmp indexfile = c:\tmp\scottidx.sql full=y
После выполнения этого скорректированного скрипта следует выполнить импорт данных со значением ключевого слова «indexes
=n»
2.Работа с утилитами «expdp», «impdp». Создание директории
–объекта файловой системы ОС и директории – объекта базы данных для хранения результатов экспорта. Манипулирование процессом выгрузки. Различные опции утилит «expdp», «impdp». Использование PL/SQL API для выгрузки данных. Технологии data pump Oracle и внешние таблицы.
Вверсии Oracle 10g появилась технология Oracle data pump, лишенная существенных недостатков утилит «exp», «imp» (в частности, относительно медленной выгрузки и загрузки данных, отсутствия API и в связи с этим сложностями встраивания в приложения).
Вокне DOS введем команду
expdp help=y
Выводится таблица с представленным в ней описанием параметров утилиты «expdp».
Ангалогичная таблица выводится для импорта командой impdp help=y
Утилита data pump для выполнения требует создания каталога для записи/чтения файлов выгрузки/загрузки. Пользователи, рабо-
490
