匿名用户请教Win环境下RMAN变量的一个小问题
10MWindows 2008 R2+Oracle 11gr2,用的一段备份脚本如下(参考网上的):
backup_lv0.bat:
@echo off
set "filename=backup_lv0_task_log_%date:~0,4%%date:~5,2%%date:~8,2%.log"
set "dir==%date:~0,4%-%date:~5,2%-%date:~8,2%"
if not exist "x:\backup\%dir%" mkdir -p x:\backup\%dir%
(
echo.
echo ====================backup %date% %time% =========================
echo.
rman target / cmdfile=E:\bat\backup\lv0.sql
list backup;
echo.
echo ===================== finish %date% %time% =========================
echo.
)>>E:\bat\backup\logs\%filename% 2>&1<nul
lv0.sql如下:
run{
allocate channel c1 device type disk;
allocate channel c2 device type disk;
crosscheck backup;
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt obsolete device type disk;
backup as compressed backupset incremental level 0 filesperset 3 format 'x:\backup\%dir%\ora_o_%d_%t%s%p%u'
database skip readonly include current controlfile;
sql"alter system archive log current";
backup archivelog all DELETE INPUT format 'x:\backup\%dir%\arch_%d_%T_%t_%s_%p';
release channel c1;
release channel c2;
}
list backup;我的想法是,在x:\backup目录下按天建立文件夹,比如今天的就是“2022-07-15”,备份每天备份一次, 都会放在指定文件夹里。
但执行的时候却报错了,“2022-07-15”这个文件夹倒是建立起来了,但时rman运行出错:
归档日志的验证成功
归档日志文件名=C:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCH\1_1647184_976367118.DBF RECID=1670977 STAMP=1110143032
已交叉检验的 796 对象
说明与资料档案库中的任何备份都不匹配
RMAN 保留策略将应用于该命令
将 RMAN 保留策略设置为 7 天的恢复窗口
未找到已废弃的备份
启动 backup 于 15-7月 -22
通道 c1: 正在启动压缩的增量级别 0 数据文件备份集
通道 c1: 正在指定备份集内的数据文件
输入数据文件: 文件号=00003 名称=C:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
输入数据文件: 文件号=00001 名称=C:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
通道 c1: 正在启动段 1 于 15-7月 -22
通道 c2: 正在启动压缩的增量级别 0 数据文件备份集
通道 c2: 正在指定备份集内的数据文件
输入数据文件: 文件号=00005 名称=C:\OADB\ECOLOGY.DBF
输入数据文件: 文件号=00002 名称=C:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
输入数据文件: 文件号=00004 名称=C:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
通道 c2: 正在启动段 1 于 15-7月 -22
RMAN-03009: backup 命令 (c1 通道上, 在 07/15/2022 21:05:41 上) 失败
ORA-19504: 无法创建文件"X:\BACKUP\ORCLIR%\ORA_O_ORCL_111014314118821QQ12MS55"
ORA-27040: 文件创建错误, 无法创建文件
OSD-04002: ???????
O/S-Error: (OS 3) ?????????????????
通道 c1 已禁用, 将在另一个通道上运行该通道上失败的作业
释放的通道: c1
释放的通道: c2
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: backup 命令 (c2 通道上, 在 07/15/2022 21:05:42 上) 失败
ORA-19504: 无法创建文件"X:\BACKUP\ORCLIR%\ORA_O_ORCL_111014314118831QR12MS55"
ORA-27040: 文件创建错误, 无法创建文件
OSD-04002: ???????
O/S-Error: (OS 3) ?????????????????
恢复管理器完成。
'list' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
===================== finish 2022/07/15 周五 21:03:59.06 =========================
看这个提示,似乎是RMAN保存备份文件的时候并没有放到指定目录里去?莫非RMAN里无法使用%dir%这个在批处理里定义的变量?
我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏

评论
