Автоматическое резервное копирование базы данных Oracle | Windows и Linux

Узнайте, как настроить автоматические резервные копии базы данных Oracle в Windows и Linux с помощью Data Pump, RMAN и запланированных задач. Обеспечьте безопасность данных и оптимизируйте управление базой данных с помощью эффективных стратегий резервного копирования.

download-icon
Скачайте Бесплатно
Для ВМ, ОС, БД, файлов, NAS и т.д.
elena-zhang

Обновлено Elena Zhang 2025/07/25

Оглавление
  • Почему необходим автоматическое резервное копирование?

  • Автоматические методы резервного копирования базы данных Oracle

  • Как настроить ежедневный автоматический резервное копирование базы данных Oracle в Windows?

  • Как настроить ежедневное автоматическое резервное копирование базы данных Oracle в Linux?

  • Инструмент Автоматического Восстановления после Катастрофы Oracle

  • Часто задаваемые вопросы об автоматическом резервном копировании базы данных Oracle

  • Заключение

Oracle Database является одной из самых распространённых баз данных в мире на сегодняшний день. Благодаря своим мощным функциям, стабильности и безопасности она получила широкое распространение во многих областях.

Для администраторов баз данных обеспечение нормального функционирования базы данных и безопасности данных — крайне важная задача. В повседневной работе по поддержке базы данных регулярное резервное копирование является обязательной задачей.

Oracle Database предлагает несколько методов резервного копирования, включая ручное резервное копирование, резервное копирование с помощью RMAN и другие. При этом автоматическое резервное копирование — один из методов, который эффективно обеспечивает безопасность данных.

Автоматическое резервное копирование не только снижает объём ручных операций и минимизирует ошибки, но также позволяет быстро восстановить данные в случае сбоя базы данных.

Почему необходим автоматическое резервное копирование?

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

Ручные резервные копии обладают множеством недостатков, таких как склонность к небрежности и несвоевременному выполнению. Таким образом, автоматическое резервное копирование становится оптимальным выбором. Создавая скрипты для автоматического резервного копирования, можно повысить эффективность, уменьшить количество человеческих ошибок и значительно улучшить безопасность данных.

Автоматическое резервное копирование позволяет:

  • гарантировать своевременное выполнение процедур;

  • минимизировать человеческий фактор;

  • обеспечить регулярность создания резервных копий;

  • оперативно реагировать на критические ситуации;

  • снизить нагрузку на администраторов баз данных.

Автоматические методы резервного копирования базы данных Oracle

В Oracle Database автоматическое резервное копирование можно настроить с помощью планировщика задач операционной системы (например, cron jobs) и встроенных инструментов Oracle. Написав скрипты, можно установить запланированные задачи для автоматического выполнения операций резервного копирования в определённые временные интервалы.

Распространёнными средствами автоматического резервного копирования в Oracle являются Data Pump и RMAN.

  • Data Pump (инструменты expdp и impdp) используется для экспорта данных базы данных. Этот механизм обеспечивает эффективный экспорт и импорт базы данных с возможностями сжатия, передачи по сети и параллельной обработки. Администраторы баз данных могут настраивать параметры экспорта и автоматизировать резервное копирование через cron-задания.

  • RMAN (Recovery Manager) — основной инструмент для резервного копирования и восстановления базы данных. Он поддерживает инкрементальное и физическое резервное копирование, а также отслеживание файлов резервных копий. RMAN обеспечивает автоматизацию резервного копирования через скрипты и планировщики операционной системы.

Oracle Enterprise Manager (OEM) предоставляет удобный графический интерфейс для управления процессами резервного копирования. Кроме того, сторонние инструменты могут быть интегрированы с Oracle для дополнительной автоматизации резервного копирования.

Важные особенности RMAN:

  • поддержка различных методов резервного копирования;

  • возможность отслеживания состояния резервных копий;

  • автоматизация через скрипты и планировщики;

  • восстановление данных в случае сбоев;

  • поддержка различных уровней детализации резервных копий.

Таким образом, используя комбинацию встроенных инструментов Oracle и внешних средств автоматизации, можно создать надёжную систему резервного копирования для защиты данных.

Как настроить ежедневный автоматический резервное копирование базы данных Oracle в Windows?

В среде Windows ежедневное автоматическое резервное копирование и удаление резервных копий базы данных Oracle можно реализовать с помощью планировщика задач.

1. Создайте файл пакетной обработки (.bat)

1.1 Простой Сценарий

exp user/password@ORCL direct=y buffer=100000 file=D:\backup\dmp%date:~0,10% LOG=D:\backup\data.log  
forfiles /p "D:\backup" /s /m *.dmp /d -7 /c "cmd /c del @path"

Объяснение:

Команда exp является командой резервного копирования дампа в Oracle, где %date:~0,10% извлекает дату в DOS.

forfiles is a Windows file search command, which searches for .dmp files in the backup directory created within the last three days and deletes them.

Параметры forfiles:

{/p} задает путь поиска (в данном случае, каталог, где хранятся резервные копии).

/m ищет файлы с использованием маски (например, .dmp для файлов дампа резервной копии).

Фильтры файлов, измененных до или после определенной даты (/d -3 означает файлы старше трех дней).

/s включает поддиректории.

/c задает команду для выполнения на каждом файле (например, cmd /c del @file для удаления файла).

1.2 Продвиненный Сценарий

@echo off
echo ================================================
echo Oracle Database Automated Backup Script in Windows
echo 1. Uses the current date as the backup file name.
echo 2. Automatically deletes backups older than 7 days.
echo ================================================
:: Extract year, month, day, hour, minute, and second.
set dd=%DATE:~8,2%
set mm=%DATE:~5,2%
set yy=%DATE:~0,4%
set Tss=%TIME:~6,2%
set Tmm=%TIME:~3,2%
set Thh=%TIME:~0,2%
set Thh=%Thh: =0%
:: Generate timestamp in YYYYMMDDHHmmss format.
set BACKUPDATE=%yy%%mm%%dd%%Thh%%Tmm%%Tss%
:: Set username, password, and database name.
set USER=admin
set PASSWORD=admin
set DATABASE=ORCL
:: Create backup directories if they do not exist.
if not exist "D:\backup_database\data" mkdir D:\backup_database\data
if not exist "D:\backup_database\log" mkdir D:\backup_database\log
set DATADIR=D:\backup_database\data
set LOGDIR=D:\backup_database\log
:: Perform the backup.
exp %USER%/%PASSWORD%@%DATABASE% file=%DATADIR%\data_%BACKUPDATE%.dmp log=%LOGDIR%\log_%BACKUPDATE%.log
:: Delete backups and logs older than 7 days.
forfiles /p "%DATADIR%" /s /m *.* /d -7 /c "cmd /c del @path"
forfiles /p "%LOGDIR%" /s /m *.* /d -7 /c "cmd /c del @path"
exit

Примечание: Если китайские символы отображаются некорректно при выполнении скрипта, сохраните файл в формате ANSI с помощью Блокнота.

2. Создайте запланированную задачу в Windows

Откройте планировщик задач Windows:

Панель управления → Система и безопасность → Административные инструменты → Планировщик задач

Откройте мастер "Create Basic Task" справа.

Введите название задачи и необязательное описание, затем нажмите Далее.

Установите триггер как Ежедневно.

Выберите Запустить программу, найдите пакетный файл и завершите установку.

Как настроить ежедневное автоматическое резервное копирование базы данных Oracle в Linux?  

1. Определите переменные среды базы данных  

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

su oracle

Проверьте переменные среды:  

cat ~/.bash_profile

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

export PATH
export ORACLE_BASE=/home/nnc_db/app
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=orcl

2. Создайте сценарий резервного копирования  

Отредактировать новый файл сценария:  

vi bak.sh

Copy and paste the environment variables into `bak.sh`. Then, define a variable `date` (used for naming backup files) and use the `expdp` command to export the database:  

date=$(date +%Y%m%d)
expdp db_username/db_password@db_instance dumpfile=${date}_db_auto_backup.dmp schemas=db_username compression=all

Сохранить и выйти.

3. Настройте резервное копирование с помощью crontab  

Отредактируйте файл crontab:  

crontab -e

В текстовом редакторе добавьте следующую строку:  

0 0 * * * /home/nnc_db/bak.sh

Это означает, что скрипт `/home/nnc_db/bak.sh` будет запускаться ежедневно в 12:00 AM. Отрегулируйте время и путь к файлу по необходимости.  

Перезапустите службу cron:  

service crond restart

4. Убедитесь, что задача выполнена успешно  

Некоторые пользователи сообщили, что задачи crontab могут не вступать в силу сразу в течение первых трех минут после настройки. Чтобы проверить, правильно ли выполняется ваш скрипт, вы можете назначить его выполнение каждую минуту:  

* * * * * /home/nnc_db/bak.sh

Если сценарий выполняется правильно, проблема, скорее всего, вызвана задержкой в активации crontab.  

Кроме того, запуск скрипта вручную отобразит подробный вывод, но при запуске через `crontab` прямого вывода не будет. Для проверки выполнения скрипта просмотрите журналы в:  

/var/spool/mail/

Инструмент Автоматического Восстановления после Катастрофы Oracle

Vinchin Backup & Recovery является мощным инструментом резервного копирования и восстановления для виртуальных машин и баз данных, который предоставляет продвинутые функции резервного копирования и восстановления после аварии, включая автоматическое резервное копирование ВМ, резервное копирование без агента, резервное копирование по LAN/LAN-Free, удаленную копию, мгновенное восстановление, эффективное сокращение данных, облачный архив и т.д., строго следуя золотому правилу 3-2-1 для резервного копирования, чтобы всесторонне обеспечить безопасность ваших данных и их целостность. Кроме того, шифрование данных и защита от вымогательского ПО предоставляют двойную страховку для защиты ваших резервных копий баз данных.

Для резервного копирования базы данных Oracle вам понадобится всего 4 шага:

1. Выберите объект резервного копирования.

Резервное копирование базы данных Oracle

2. Выберите место назначения для резервного копирования.

Резервное копирование базы данных Oracle

3. Настройте стратегии резервного копирования.

Резервное копирование базы данных Oracle

Здесь вы можете настроить расписания для ваших резервных копий. Вы можете выполнять полные резервные копии еженедельно или ежемесячно и проводить пошаговые резервные копии ежедневно.

4. Проверьте и отправьте работу.

Резервное копирование базы данных Oracle

Попробуйте полностью функциональную бесплатную пробную версию на 60 дней Vinchin Backup & Recovery прямо сейчас, чтобы легко защитить ваши данные Oracle и достичь автоматического резервного копирования и быстрого восстановления!

Часто задаваемые вопросы об автоматическом резервном копировании базы данных Oracle

1. В чем разница между RMAN и Data Pump?

RMAN в первую очередь используется для резервного копирования и восстановления, позволяя создавать физические резервные копии файлов базы данных, инкрементные копии и выполнять восстановление на определённый момент времени. В отличие от него, Data Pump используется для логического резервного копирования — экспорта и импорта объектов базы данных, таких как таблицы, схемы или целые базы данных в переносимом формате. Если RMAN лучше всего подходит для полного восстановления базы данных, то Data Pump идеально подходит для миграции данных, репликации и выборочной выгрузки информации.

2. Как мне восстановить одну таблицу из резервной копии RMAN?

Используйте восстановление таблицего пространства по состоянию на определенный момент времени с помощью RMAN или Data Pump для восстановления одной таблицы.

Пример с использованием Data Pump:

impdp system/password directory=DATA_PUMP_DIR dumpfile=backup.dmp remap_table=old_table:new_table

Заключение

Автоматическое резервное копирование базы данных Oracle является ключевым для обеспечения безопасности данных, минимизации человеческих ошибок и возможности быстрого восстановления в случае сбоев. Используя встроенные инструменты, такие как Data Pump и RMAN, а также планировщики операционной системы, администраторы баз данных могут реализовать эффективные стратегии резервного копирования как в системах Windows, так и Linux. Корректно настроенные автоматические резервные копии снижают риск потери данных и обеспечивают непрерывность бизнес-процессов, что делает их неотъемлемой частью поддержки базы данных.

поделиться:

Категории: Бэкап базы данных
Рекомендуемые статьи