Создание задания на бэкап Oracle

Задача: автоматизировать создание бэкапов Oracle

  1. Создаем скрипт rman.
  2. Создаем шелл скрипт
  3. Создаем задание в cron’е

  1. Скрипт Rman

Скрипт абсолютно стандартный:

RUN {
crosscheck archivelog all;
delete expired archivelog all;
BACKUP AS COMPRESSED BACKUPSET INCREMENTAL LEVEL 0 DATABASE  PLUS ARCHIVELOG;
DELETE NOPROMPT OBSOLETE;
}

Особо нечего и комментировать.

Этот скрипт  пишем  с помощью vi и сохраняем в папку. Я сохранил как: /u01/app/oracle/backup-scripts/backup-incr-0.rms.

2. Создаем шелл-скрипт

#!/bin/bash
export NLS_DATE_FORMAT="dd-month-yyyy hh24:mi:ss"
export ORACLE_SID=eisgs001
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/dbhome_1
/u01/app/oracle/product/12.1.0.2/dbhome_1/bin/rman target / cmdfile=/u01/app/oracle/backup-scripts/backup-incr-0.rms log=/u01/app/oracle/backup-scripts/backup-incr-0.log

В нем я поменял переменную окружения NLS_DATE_FORMAT поскольку, стандартный вывод дат rman’ом, т.е. только даты меня не совсем устраивает. Прикольно знать что начало бэкапа файла данных и конец его произошли в один день, но хотелось бы знать подробности

файл я сохраняю как: /u01/app/oracle/backup-scripts/backup-incr-0.sh

После этого для пользователя oracle даю права на выполнение этого файла chmod u+X /u01/app/oracle/backup-scripts/backup-incr-0.sh

3. Создание задания в cron’е

Для того чтобы войти в режим редактирования планировщика задач набираем

[oracle@odadb1 ~]$ crontab -e

в файле в каждой строке указаны задания. Формат следующий:

minute   hour   day   month   dayofweek   command
  • minute — любое целое число от 0 до 59
  • hour — любое целое от 0 до 23
  • day — любое целое от 1 до 31 (день должен быть корректным, если указан месяц)
  • month — любое целое от 1 до 12 (или короткое название месяца, например: jan, feb и так далее)
  • dayofweek — любое целое от 0 до 7, где 0 или 7 означает Воскресенье (или короткое название дня недели, например: sun, mon и так далее)
  • command — команда, которая должны быть выполнена.

Соответственно, поскольку задание должно выполняться каждую ночь в два часа добавляем новую строку:

00 2 * * * /u01/app/oracle/backup-scripts/backup-incr-0.sh

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *