Для работы с дампами БД следует пользоваться специальным скриптом dump.sh
, который, как правило, располагается в /opt/hydra/oracle/scripts/dump.sh
. Скрипт обязательно следует вызвать под пользователем oracle с инициализированным окружением. Инициализацию окружения для пользователя oracle с помощью sudo можно выполнить с помощью следующей команды:
$ sudo -u oracle -i
У данного скрипта для работы с БД существуют следующие варианты запуска:
- export — снятие дампа. Дамп снимается в директорию для дампов, установленную в БД (как правило, это
/var/oradata/dumps
). - drop — очистка. Перед очисткой следует обязательно убедиться, что БД не является промышленной.
- import — загрузка дампа в БД. Перед загрузкой дампа обязательно следует выполнить очистку. Дамп поднимается из директории для дампов, установленной в БД (как правило, это
/var/oradata/dumps
). После импортирования флаг "Признак промышленной базы данных" сбрасывается.
Параметры вызова скрипта, которые предотвращают интерактивный ввод:
- -i — название БД (инстанса)
- -o — название схемы
- -p — пароль пользователя AIS_NET
- -f — название дампа (файла с дампом)
- -s — отказ от предупреждающего сообщения при очистке БД
Пример вызова скрипта для переноса дампа БД с db1 на db2:
Снятие дампа с db1:
$ ./dump.sh -i db1 -p ais_net -f db1_dump export
Очистка db2:
$ ./dump.sh -i db2 -p ais_net -s drop
Поднятие дампа на db2:
$ ./dump.sh -i db2 -p ais_net -f db1_dump import
Примечание
Во время импорта дампа в новую базу возможны ошибки вида:
Failing sql is:
GRANT SELECT ON "AIS_NET"."SR_V_GOOD_SERVS" TO "NET_GOODS"
ORA-39083: Object type OBJECT_GRANT failed to create with error:
ORA-01917: user or role 'NET_GOODS' does not existЭти ошибки не являются критичными, т.к. скрипт экспорта экспортирует только схему AIS_NET. Соответствующие роли создаются скриптом при импорта позже.
Примечание
Так как процедура снятия резервных копий с помощью утилиты expdp (скрипт dump.sh
) является достаточно ресурсоемкой, снимать резервные копии БД рекомендуется в ночное время в часы наименьшей нагрузки на сервер (как правило, с 2-х до 4-х часов ночи).