Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Для работы с дампами БД следует пользоваться специальным скриптом dump.sh, который, как правило, располагается в директории /opt/hydra/oracle/scripts/dump.sh. Скрипт обязательно следует вызвать под пользователем oracle с инициализированным окружением. Инициализацию окружения Инициализировать окружение для пользователя oracle с помощью sudo можно выполнить с помощью следующей командыследующим образом:

Code Block
languagebash
susudo -u oracle -i

У данного скрипта для работы с дампами БД существуют следующие варианты запуска:

  • export — снятие дампа. Дамп снимается в директорию для дампов, установленную в БД (как правило, это /var/oradata/dumps).
  • drop — очистка. Перед очисткой следует обязательно убедиться, что БД не является промышленной.
  • import — загрузка дампа в БД. Перед загрузкой дампа обязательно следует выполнить очистку. Дамп поднимается из директории для дампов, установленной в БД (как правило, это /var/oradata/dumps). После импортирования флаг "«Признак промышленной базы данных" сбрасываетсяданных» сбрасывается.

Параметры Дополнительные параметры вызова скрипта, которые предотвращают интерактивный ввод:

  • -i — название БД (инстанса)
  • -o — название схемы
  • -p — пароль пользователя AIS_NET
  • -f — название дампа (файла с дампом)
  • -s — отказ от предупреждающего сообщения при очистке БД

Пример вызова скрипта для переноса дампа БД с hydra на hydra2:

  1. Снятие дампа с hydra:

    Code Block
    languagebash
    /opt/hydra/oracle/scripts/dump.sh -i hydra -p ais_netpassword -f hydra_dump export
    
  2. Очистка hydra2 hydra2:

    Code Block
    languagebash
    /opt/hydra/oracle/scripts/dump.sh -i hydra2 -p ais_netpassword drop
    
  3. Поднятие дампа на hydra2 hydra2:

    Code Block
    languagebash
    /opt/hydra/oracle/scripts/dump.sh -i hydra2 -p ais_netpassword -f hydra_dump import

    Во время импорта дампа в новую базу возможны ошибки следующего вида:

    Code Block
    languagetext
    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
titleПримечание

Так как процедура снятия резервных копий с помощью утилиты expdp (скрипт dump.sh) является достаточно ресурсоемкой, снимать резервные копии БД рекомендуется в ночное время в часы наименьшей нагрузки на сервер (как правило, с 2-х до 4-х часов ночи). 

 

Отмена незавешенного процесса дампа осуществляется Отменить процесс экспорта/импорта дампа можно с помощью 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