rman-03009错误的一个原因

备份文件可以自定义各种各样的格式,如下
%c 备份片的拷贝数
%d 数据库名称
%D 位于该月中的第几天 (DD)
%M 位于该年中的第几月 (MM)
%F 一个基于DBID 唯一的名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,
其中IIIIIIIIII 为该数据库的DBID,YYYYMMDD 为日期,QQ 是一个1-256 的序

%n 数据库名称,向右填补到最大八个字符
%u 一个八个字符的名称代表备份集与创建时间
%p 该备份集中的备份片号,从1 开始到创建的文件数
%U 一个唯一的文件名,代表%u_%p_%c
%s 备份集的号
%t 备份集时间戳
%T 年月日格式(YYYYMMDD)


1 现象

     执行 rman target sys/tt@tt nocatalog
     >backup database format='e:\backup\%d_%s.bak'
报错:
     RMAN-03009: backup 命令 (ORA_DISK_1 通道上, 在 09/08/2008 14:48:58 上) 失败
      ORA-19504: 无法创建文件"E:\BACKUP\XJLI_71.BAK"
     ORA-27038: 所创建的文件已存在
      OSD-04010: 指定了 <create> 选项, 但文件已经存在
2 分析及解决
      1 查了一下e:\backup\目录的权限所属用户中system,administrators是完全控制,其他用户没有权限写入,所以怀疑是不是权限的问题,把该文件的所有所属用户和组都给予完全控制权限.
       在重新执行backup database format='e:\backup\%d_%s.bak' 报同样的错
      2 执行 backup database ; 
        OK成功完成,看了一下这回备份文件放的目录的权限,发现这个文件夹的权限和e:\backup\的权限是一样的,
        所以排除权限的问题.
     3 因为第一回 backup database format='e:\backup\%d_%s.bak' 执行失败
            第二会 backup database  执行成功.
       这两者只是 format 不一样.
     4 改了一下格式
          backup database format='e:\backup\%d_%s_%p.bak' 
       OK 执行成功.
       就多加了 %p 就可以了. 分析了以下原因如下
我在配置rman的时候设置了这两个参数
         CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 500 M;
                指定备份片500M
        CONFIGURE MAXSETSIZE TO 1 G;
                指定备份集1G 
   那么这样就会导致,一个备份集有两个备份片,那么 在一个备份集有多个备份片的情况下,format 必须有%p 用来区分备份片
     
    第一次执行  backup database format='e:\backup\%d_%s.bak'  报错
      因为 这个语句生成的结果是 是文件XJLI_71.BAK"  xjli 是数据库名, 71是备份集序编号
      因为我的数据库总共800M 而我设置了备份集大小1G,包含两个备份片每个500M
     那么实际会生成两个备份片 一个500M另一个300M  因为我没有加 %P 用来区分备份片
      所以他执行的过程是这样的
      当生成第一个备份片时是没有问题的 生成文件 xjli_71.bak
     当生成第二个备份片时因为他还是同一个备份集的第二个备份片所以 他还要生成 xjli_71 ,
     所以会报错说是已经存在该文件.

总结一个下问题的原因是不理解配置的意思就配,所以出了问题也不好找.


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值