Утилита Recovery Manager
Замечали ли вы, какой изможденный вид у типичного администратора базы данных? Он находится в заведомо проигрышной ситуации и, на наш взгляд, обречен преждевременно поседеть. Администрирование баз данных очень похоже на судейство в спорте. Если вы идете на спортивное соревнование и не замечаете там судей, это значит, что они хорошо проводят игру. Единственный судья, который остается у вас в памяти,— судья, принявший ужасное решение. Точно так же, когда база данных работает тихо и плавно, ее администратора никто не замечает. Он — лишь безликое существо, наблюдающее за базой и добавляющее новых пользователей. Когда же база данных "падает" или возникают проблемы, все (да-да, все) начинают охоту на ведьм, объектом которой является несчастный администратор. Один из авторов когда-то работал администратором базы данных и ему приходилось как-то восстанавливать ее. При этом через его плечо постоянно заглядывал страшно взволнованный начальник, спрашивающий каждые пять минут, сколько времени это займет. Такое давление никому не нужно! Восстановление базы данных — задача, которую выполняют не ежедневно, поэтому тут слишком легко впасть в панику и совершить какую-нибудь глупость.
Корпорация Oracle поняла, что резервное копирование и восстановление базы данных в Oracle? было довольно трудным процессом. Поэтому в OracleS предусмотрен инструмент, не только облегчающий данную задачу, но и до некоторой степени автоматизирующий ее. Этот инструмент называется утилитой Recovery Manager.
Recoveiy Manager работает как процесс-агент на сервере. Она инициирует процессы, которые сохраняют или восстанавливают отдельную базу данных (в терминологии Recovery Manager она называется целевой). Утилита имеет собственный командный язык, называемый Command Language Interpreter (CLI). С помощью С LI можно писать скрипты, автоматизирующие резервное копирование и восстановление. CLI-скрипт может вводиться в интерпретатор вручную (через svrmgr) либо выполняться в пакетном режиме процессом-агентом Recoveiy Manager. Вот небольшой пример CLI-скрипта, который восстанавливает одно табличное пространство при открытой базе данных:
г un (
# скрипт для восстановления табличного пространства users при
# открытой базе данных
allocate channel devl type disk;
sql "alter tablespace users offline immediate";
restore tablespace users;
recover tablespace users;
sql "alter tablespace users online";
release channel devl;}
Использование каталога восстановления
CLI-скрипты, о которых мы упоминали в предыдущем разделе, хранятся в каталоге восстановления (Recovery Catalog). В этом каталоге находится вся
3. Некоторые усовершенствования в OracleS	43