Для работы с дампами БД следует пользоваться специальным скриптом dump.sh
, который, как правило, располагается в директории /opt/hydra/oracle/scripts/dump.sh
. Скрипт обязательно следует вызвать под пользователем oracle с инициализированным окружением. Инициализацию окружения Инициализировать окружение для пользователя oracle с помощью sudo можно выполнить с помощью следующей командыследующим образом:
Code Block | ||
---|---|---|
| ||
susudo -u oracle -i |
У данного скрипта для работы с дампами БД существуют следующие варианты запуска:
- export — снятие дампа. Дамп снимается в директорию для дампов, установленную в БД (как правило, это
/var/oradata/dumps
). - drop — очистка. Перед очисткой следует обязательно убедиться, что БД не является промышленной.
- import — загрузка дампа в БД. Перед загрузкой дампа обязательно следует выполнить очистку. Дамп поднимается из директории для дампов, установленной в БД (как правило, это
/var/oradata/dumps
). После импортирования флаг "«Признак промышленной базы данных" сбрасываетсяданных» сбрасывается.
Параметры Дополнительные параметры вызова скрипта, которые предотвращают интерактивный ввод:
- -i — название БД (инстанса)
- -o — название схемы
- -p — пароль пользователя AIS_NET
- -f — название дампа (файла с дампом)
- -s — отказ от предупреждающего сообщения при очистке БД
Пример вызова скрипта для переноса дампа БД с hydra на hydra2:
Снятие дампа с hydra:
Code Block language bash /opt/hydra/oracle/scripts/dump.sh -i hydra -p ais_netpassword -f hydra_dump export
Очистка hydra2 hydra2:
Code Block language bash /opt/hydra/oracle/scripts/dump.sh -i hydra2 -p ais_netpassword drop
Поднятие дампа на hydra2 hydra2:
Code Block language bash /opt/hydra/oracle/scripts/dump.sh -i hydra2 -p ais_netpassword -f hydra_dump import
Во время импорта дампа в новую базу возможны ошибки следующего вида:
Code Block language text 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. Отсутствующие роли создаются в БД отдельным скриптом по окончании процедуры в завершающей части импорта.
Note | ||
---|---|---|
| ||
Так как процедура снятия резервных копий с помощью утилиты expdp (скрипт |
Отмена незавешенного процесса дампа осуществляется Отменить процесс экспорта/импорта дампа можно с помощью CTRL-
c C
и команды kill_job
:
Code Block |
---|
... . . exported "AIS_NET"."SS_JOB_LOGS" 635.2 MB 1550063 rows . . exported "AIS_NET"."SD_PROCESSING_REQUESTS_T" 563.8 MB 7204 rows . . exported "AIS_NET"."SD_MV_DOCUMENTS" 479.7 MB 3247473 rows ^C Export> kill_job Are you sure you wish to stop this job ([yes]/no): yes |