18.07.2019 0 min to read

Резервное копирование отдельной схемы Oracle (data pump)

Category : Статьи

Подготовка к резервному копированию схемы

Создаем необходимые директории в файловой системе для записи файлов дампа и логов. Рассматриваемая утилита снятия дампа создает файлы только на стороне сервера.

mkdir /u01/app/oracle/oradata/datapump 
mkdir /u01/app/oracle/oradata/datapump/dumps 
mkdir /u01/app/oracle/oradata/datapump/logs

 

В СУБД Oracle создаем объекты, связанные с директориями файловой системы сервера. И выдаем разрешения на чтение-запись тому пользователю, чьи объекты и данные планируется копировать.

CREATE DIRECTORY dpdumps AS '/u01/app/oracle/oradata/datapump/dumps'; 
CREATE DIRECTORY dplogs AS '/u01/app/oracle/oradata/datapump/logs'; 
GRANT READ, WRITE ON DIRECTORY dpdumps TO user01; 
GRANT READ, WRITE ON DIRECTORY dplogs TO user01;

 

Выгрузка данных

expdp user01@orcl job_name=user01_export_job_01 dumpfile=dpdumps:user01_YYYYMMDD.dmp logfile=dplogs:user01_YYYYMMDD.log

 

Загрузка данных в ту же схему

В БД, где планируется загрузка снятого дампа, необходимо заранее создать соответствующего пользователя и одноименные табличные пространства, которые использовались для хранения объектов в исходной БД.

impdp user01@orcl dumpfile=dpdumps:user01_YYYYMMDD.dmp logfile=dplogs:user01_YYYYMMDD.log

 

Загрузка данных в другую схему

Необходимо разрешение IMP_FULL_DATABASE.

impdp user02@orcl dumpfile=dpdumps:user01_YYYYMMDD.dmp logfile=dplogs:user02_YYYYMMDD.log schemas=user01 remap_schema=user01:user02