今天在给客户的11g数据库做备份的时候,遇到个错误。
创新互联公司长期为上千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为荣昌企业提供专业的成都做网站、成都网站制作,荣昌网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。备份脚本如下:
run
{
allocate channel c1 device type disk format 'D:\backup\ora_primary.bak';
backup incremental level 0 database;
backup current controlfile for standby format 'D:\backup\ctl_stby.ctl';
sql 'alter system archive log current';
backup archivelog from time 'SYSDATE-1/24' format'D:\backup\ora_archive';
}
出错的是第2句backup incremental level 0 database; 报错信息如下
使用目标数据库控制文件替代恢复目录
分配的通道: c1
通道 c1: SID=33 设备类型=DISK
启动 backup 于 08-4月 -15
通道 c1: 正在启动增量级别 0 数据文件备份集
通道 c1: 正在指定备份集内的数据文件
输入数据文件: 文件号=00001 名称=D:\APP\ADMINISTRATOR\ORADATA\SJBZFW\SYSTEM01.DBF
输入数据文件: 文件号=00002 名称=D:\APP\ADMINISTRATOR\ORADATA\SJBZFW\SYSAUX01.DBF
输入数据文件: 文件号=00003 名称=D:\APP\ADMINISTRATOR\ORADATA\SJBZFW\UNDOTBS01.DBF
输入数据文件: 文件号=00004 名称=D:\APP\ADMINISTRATOR\ORADATA\SJBZFW\USERS01.DBF
通道 c1: 正在启动段 1 于 08-4月 -15
通道 c1: 已完成段 1 于 08-4月 -15
段句柄=D:\BACKUP\ORA_PRIMARY.BAK 标记=TAG20150408T214419 注释=NONE
通道 c1: 备份集已完成, 经过时间:00:01:15
通道 c1: 正在启动增量级别 0 数据文件备份集
通道 c1: 正在指定备份集内的数据文件
备份集内包括当前控制文件
备份集内包括当前的 SPFILE
通道 c1: 正在启动段 1 于 08-4月 -15
释放的通道: c1
RMAN-00571:===========================================================
RMAN-00569: =============== ERROR MESSAGESTACK FOLLOWS ===============
RMAN-00571:===========================================================
RMAN-03009: backup 命令 (c1 通道上, 在 04/08/201521:45:37 上) 失败
ORA-19504: 无法创建文件"D:\BACKUP\ORA_PRIMARY.BAK"
ORA-27038: 所创建的文件已存在
OSD-04010: 指定了
选项, 但文件已经存在
在信息里面可以看出,数据文件其实已经备份完毕了,但是不知道为什么,还在备份其他的东西,因为我的文件名只有一个,而文件已经存在了,所以报错。
修改成如下脚本
run
{
allocate channel c1 device type disk format 'D:\backup\ora_primary_df_%d_%
U_%p_%c.bak';
backup incremental level 0 database;
backup current controlfile for standby format 'D:\backup \ctl_stby.ctl';
sql 'alter system archive log current';
backup archivelog from time 'SYSDATE-1/24' format'D:\backup\ora_archive';
}
备份成功。
通道 c1: 正在启动段 1 于 08-4月 -15
通道 c1: 已完成段 1 于 08-4月 -15
段句柄=D:\BACKUP\ORA_PRIMARY_ DF_SJBZFW_03Q3T8L3_1_1_1_1.BAK 标记=TAG20150408T21
4819 注释=NONE
通道 c1: 备份集已完成, 经过时间:00:01:25
通道 c1: 正在启动增量级别 0 数据文件备份集
通道 c1: 正在指定备份集内的数据文件
备份集内包括当前控制文件
备份集内包括当前的 SPFILE
通道 c1: 正在启动段 1 于 08-4月 -15
通道 c1: 已完成段 1 于 08-4月 -15
段句柄=D:\BACKUP\ORA_PRIMARY_ DF_SJBZFW_04Q3T8NO_1_1_1_1.BAK 标记=TAG20150408T21
4819 注释=NONE
通道 c1: 备份集已完成, 经过时间:00:00:01
完成 backup 于 08-4月 -15
我们看下具体的信息可以发现,RMAN在成功备份之后,会再次备份控制文件和SPFILE文件,所以如果文件名中不带变量标识符的话,就会报文件已存在的错误。
我在查询资料的时候还发现另外一种情况,原理其实一样,都是由于创建多个文件导致的。
文件大小限制
RMAN> show all
列出了许多配置参数如下:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 1 DAYS;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 100 M;
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:ORACLEORA92DATABASESNCFOSS.ORA'; #default
注意大小限制, 因为如果大小有限制, 其需要再创建第2,3...个备份文件,但名字却是和
第1个一样,而这个时候文件名不能唯一,肯定出错了。如果大小没有限制,应该不会有问题, 有限制则要注意名称唯一性问题了.
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文标题:一次RMAN备份遇到的错误-创新互联
转载源于:http://lswzjz.com/article/cecgih.html