今天,一哥们要对数据库做重要操作,操作之前要做rman全备份,但是因为粗心,写错了备份路径,导致rman备份报错如下图:
由报错提示rman备份程序要将备份文件写入:/Oracle/app/oracle/product/11.2.0/dbhome_1/dbs/Oracle/backup/rman/full_0tsmout.bak",
但是因为/Oracle/app/oracle/product/11.2.0/dbhome_1/dbs/Oracle/backup/rman不存在而报错:ORA-19504&ORA-27040&RMAN-03009
从他的备份脚本看:
run{
backup increnmental level 0 database format 'Oracle/backup/rman/full_%u.bak';
sql 'alter system archive log current';
backup archivelog all format '/Oracle/backup/rman/arch_%U.log';
delete noprompt archivelog until time '{sysdate -1}';
}
发现脚本路径写的路径少了开头的/,从RMAN>show all能发现:
数据库rman备份程序将备份放到$ORACLE_HOME/Oracle/backup/rman/下了,该路径不存在而报错。
处理方法很简单,将备份脚本改成:
run{
backup increnmental level 0 database format '/Oracle/backup/rman/full_%u.bak';
sql 'alter system archive log current';
backup archivelog all format '/Oracle/backup/rman/arch_%U.log';
delete noprompt archivelog until time '{sysdate -1}';
}
然后备份可以顺利进行