Oracle 备份批处理文件
Oracle backup batch file
请教我备份Oracle 数据库12c 的脚本。我附上了带有代码和 cmd 屏幕的图片。
当我 运行 这个脚本时,变量已经设置好,连接到数据库,然后 RMAN 什么也没做。任何解决方案?谢谢。
@echo off
echo Automatic Backup Oracle
pushd .
SET ORACLE_HOME=C:\app\oracle\product.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 结果:
我做错了什么?
就像 Compo 所说的那样,将您的 RMAN 脚本放入一个 .rcv 文件中,然后使用此命令 运行 它,就像您上面的命令一样,但带有 @<rcv>
,也许日志记录会很好:
RMAN TARGET / @myRMANbackup.rcv log=myRMANlogfile.log
您需要分成两个文件:批处理文件和 RMAN 脚本
批处理文件:backup.bat
@echo off
echo Automatic Backup Oracle
pushd .
SET ORACLE_HOME=C:\app\oracle\product.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 名为 file.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
请教我备份Oracle 数据库12c 的脚本。我附上了带有代码和 cmd 屏幕的图片。 当我 运行 这个脚本时,变量已经设置好,连接到数据库,然后 RMAN 什么也没做。任何解决方案?谢谢。
@echo off
echo Automatic Backup Oracle
pushd .
SET ORACLE_HOME=C:\app\oracle\product.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 结果:
我做错了什么?
就像 Compo 所说的那样,将您的 RMAN 脚本放入一个 .rcv 文件中,然后使用此命令 运行 它,就像您上面的命令一样,但带有 @<rcv>
,也许日志记录会很好:
RMAN TARGET / @myRMANbackup.rcv log=myRMANlogfile.log
您需要分成两个文件:批处理文件和 RMAN 脚本
批处理文件:backup.bat
@echo off
echo Automatic Backup Oracle
pushd .
SET ORACLE_HOME=C:\app\oracle\product.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 名为 file.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