在某客户使用nbu调用rman脚本备份oracle数据文件,备份full作业长时间active,检查客户端out文件,发现备份已经完成,但确没有正常退出。
经过分析,该问题是由于bug 5247609导致,该BUG在10.2.0.4和其以上版本才修复。
解决方法如下:指定RMAN会话优化器模式为rule:
$ rman target /
RMAN> sql 'alter session set optimizer_mode=rule';
在脚本中加入上面那条,然后执行就没问题。
对于nbu备份脚本,在run之后,allocate channel之前加入这个语句。