Пакетный файл резервного копирования Oracle - PullRequest
0 голосов
/ 28 декабря 2018

Я прошу у вас совета с моим скриптом для резервного копирования базы данных Oracle 12c.Я прикрепил картинку с кодом и с экраном cmd.Когда я запускаю этот скрипт, переменные настраиваются, подключаются к базе данных, а затем RMAN ничего не делает.Любое решение?Спасибо.

@echo off
echo Automatic Backup Oracle
pushd .
SET ORACLE_HOME=C:\app\oracle\product\12.2.0\dbhome_1
SET ORACLE_SID=ORCL
echo ----------------------------------------------------
echo ORACLE_HOME : %ORACLE_HOME%
echo ORACLE_SID  : %ORACLE_SID%
echo ----------------------------------------------------
RMAN TARGET system/password 
run {
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'c:\backup\%F';
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'c:\backup\%d_%T_%u';
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'c:\backup\SNCFORCL.ORA';
}
run {
backup database;
backup archivelog all delete input;
}    
PAUSE

Когда я запускаю этот скрипт, переменные устанавливаются, он подключается к базе данных, а затем RMAN ничего не делает.

На этом изображении результат cmd:

batch output

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 26 марта 2019

Вам нужно разделить на два файла: командный файл и RMAN-скрипт

Пакетный файл: backup.bat

@echo off
echo Automatic Backup Oracle
pushd .
SET ORACLE_HOME=C:\app\oracle\product\12.2.0\dbhome_1
SET ORACLE_SID=ORCL
echo ----------------------------------------------------
echo ORACLE_HOME : %ORACLE_HOME%
echo ORACLE_SID  : %ORACLE_SID%
echo ----------------------------------------------------
RMAN TARGET / @file.rman log=backup.log

Скрипт RMAN с именем файл.rman или другое имя

run {
backup database;
backup archivelog all delete input;
} 

Эта часть настройки:

CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'c:\backup\%F';
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'c:\backup\%d_%T_%u';
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'c:\backup\SNCFORCL.ORA';

Может быть удалена из сценария и запущена один раз для каждого банка.После настройки параметры будут постоянными.

Итак, вашему сценарию нужны два файла: backup.bat и file.rman

0 голосов
/ 15 января 2019

Как сказал Compo, поместите свой сценарий RMAN в файл .rcv и запустите его с помощью этой команды, как у вас выше, но с @<rcv>, и, возможно, регистрация будет хорошей:

RMAN TARGET / @myRMANbackup.rcv log=myRMANlogfile.log

...